Geom.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #pragma once
  2. #include "Body.h"
  3. #include "Space.h"
  4. #include "CommonMgd.h"
  5. namespace ODEManaged
  6. {
  7. __gc public class Geom
  8. {
  9. public:
  10. //Constructor
  11. Geom (void);
  12. //Destructor
  13. ~Geom (void);
  14. //Methods
  15. //Basic Stuff
  16. dGeomID Id (void);
  17. dBodyID GetBody (void);
  18. //Overloaded SetBody
  19. void SetBody (Body &body);
  20. /*void SetBody (dBodyID b);*/
  21. Vector3 GetPosition (void);
  22. void SetPosition (double x, double y, double z);
  23. Matrix3 GetRotation (void);
  24. void SetRotation (Matrix3 rotation);
  25. void SetData (void *data);
  26. void *GetData (void);
  27. //Create Objects
  28. void CreateSphere (Space &space, double radius);
  29. void CreateBox (Space &space, double lx, double ly, double lz);
  30. void CreatePlane (Space &space, double a, double b, double c, double d);
  31. void CreateCCylinder (Space &space, double radius, double length);
  32. //Destroy Objects
  33. void Destroy (void);
  34. //Get Object's Parameters
  35. double SphereGetRadius (void);
  36. Vector3 BoxGetLengths (void);
  37. Vector4 PlaneGetParams (void);
  38. void CCylinderGetParams (double *radius, double *length);
  39. int GetClass (void);
  40. //Properties
  41. private:
  42. dGeomID _id;
  43. };
  44. }