1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
#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;
};
}
|