OpenSimMirror/libraries/ode-0.9/contrib/DotNetManaged/Geom.h

76 lines
1.3 KiB
C++

#pragma once
#include "Body.h"
#include "Space.h"
#include "CommonMgd.h"
namespace ODEManaged
{
__gc public class Geom
{
public:
//Constructor
Geom (void);
//Destructor
~Geom (void);
//Methods
//Basic Stuff
dGeomID Id (void);
dBodyID GetBody (void);
//Overloaded SetBody
void SetBody (Body &body);
/*void SetBody (dBodyID b);*/
Vector3 GetPosition (void);
void SetPosition (double x, double y, double z);
Matrix3 GetRotation (void);
void SetRotation (Matrix3 rotation);
void SetData (void *data);
void *GetData (void);
//Create Objects
void CreateSphere (Space &space, double radius);
void CreateBox (Space &space, double lx, double ly, double lz);
void CreatePlane (Space &space, double a, double b, double c, double d);
void CreateCCylinder (Space &space, double radius, double length);
//Destroy Objects
void Destroy (void);
//Get Object's Parameters
double SphereGetRadius (void);
Vector3 BoxGetLengths (void);
Vector4 PlaneGetParams (void);
void CCylinderGetParams (double *radius, double *length);
int GetClass (void);
//Properties
private:
dGeomID _id;
};
}