Hello,
I want to use this function in my C# project:
Code:
typedef float3 vec;
class OBB {
public:
vec pos;vec r; vec axis[3];
static OBB OptimalEnclosingOBB(const vec *pointArray, int numPoints);
}
So I need to write a wrapper that will go something like this:
Code:
using namespace System;
using namespace msclr::interop;
#if defined(__cplusplus)
extern "C" {
#endif
__declspec(dllexport) ??? OEOBB_Wrapper(???, int numPoints);
#if defined(__cplusplus)
}
#endif
String^ OEOBB_Wrapper(float[][], int i) {
// some code casting float[][] to vec *pointArray
// RerturnValue OptimalEnclosingOBB(const vec *pointArray, int numPoints);
// casting ReturnValue into something C# can read
return ??;
}
But I have 2 problems, The input: vec *pointArray type is not defined in C# so which type I can use instead and how do I cast it? The output: OBB class is not defined in C#, so what kind of return value my wrapper can use instead (after getting the OBB from the function)?