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)?
I've been told that I can write a wrapper in the C++ code itself but I don't know how to work with MarshalAs etc for the types that not supported in C#.
What Im asking basically is how do I cast/transform float[][] to/from const vec *pointArray as the input and how do I cast/transform the class OBB as the output back to C#?
basically 3 floats. here is the full definition:
class float3
{
public:
enum
{
Size = 3
};
float x;
float y;
float z;
float3() {}
/// Constructs a new float3 with the value (x, y, z).
/** @see x, y, z. */
float3(float x, float y, float z);
..
}