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;
|
|
|
|
};
|
|
|
|
}
|