76 lines
1.3 KiB
C
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;
|
||
|
|
||
|
};
|
||
|
|
||
|
}
|