RevoluteJoint.cpp
上传用户:gb3593
上传日期:2022-01-07
资源大小:3028k
文件大小:4k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. #pragma once
  2. #include "stdafx.h"
  3. #include "Joint.cpp"
  4. #include "JointDef.cpp"
  5. namespace Box2D
  6. {
  7. namespace Net
  8. {
  9. public ref class RevoluteJointDef : public JointDef
  10. {
  11. public:
  12. RevoluteJointDef() : JointDef(new b2RevoluteJointDef()) { }
  13. property Vector^ LocalAnchor1
  14. {
  15. Vector^ get()
  16. {
  17. return gcnew Vector(reinterpret_cast<b2RevoluteJointDef *>(def)->localAnchor1);
  18. }
  19. void set(Vector^ value)
  20. {
  21. reinterpret_cast<b2RevoluteJointDef *>(def)->localAnchor1 = value->getVec2();
  22. }
  23. }
  24. property Vector^ LocalAnchor2
  25. {
  26. Vector^ get()
  27. {
  28. return gcnew Vector(reinterpret_cast<b2RevoluteJointDef *>(def)->localAnchor2);
  29. }
  30. void set(Vector^ value)
  31. {
  32. reinterpret_cast<b2RevoluteJointDef *>(def)->localAnchor2 = value->getVec2();
  33. }
  34. }
  35. property float32 LowerAngle
  36. {
  37. float32 get()
  38. {
  39. return reinterpret_cast<b2RevoluteJointDef *>(def)->lowerAngle;
  40. }
  41. void set(float32 value)
  42. {
  43. reinterpret_cast<b2RevoluteJointDef *>(def)->lowerAngle = value;
  44. }
  45. }
  46. property float32 UpperAngle
  47. {
  48. float32 get()
  49. {
  50. return reinterpret_cast<b2RevoluteJointDef *>(def)->upperAngle;
  51. }
  52. void set(float32 value)
  53. {
  54. reinterpret_cast<b2RevoluteJointDef *>(def)->upperAngle = value;
  55. }
  56. }
  57. property float32 MotorTorque
  58. {
  59. float32 get()
  60. {
  61. return reinterpret_cast<b2RevoluteJointDef *>(def)->maxMotorTorque;
  62. }
  63. void set(float32 value)
  64. {
  65. reinterpret_cast<b2RevoluteJointDef *>(def)->maxMotorTorque = value;
  66. }
  67. }
  68. property float32 MotorSpeed
  69. {
  70. float32 get()
  71. {
  72. return reinterpret_cast<b2RevoluteJointDef *>(def)->motorSpeed;
  73. }
  74. void set(float32 value)
  75. {
  76. reinterpret_cast<b2RevoluteJointDef *>(def)->motorSpeed = value;
  77. }
  78. }
  79. property bool EnableLimit
  80. {
  81. bool get()
  82. {
  83. return reinterpret_cast<b2RevoluteJointDef *>(def)->enableLimit;
  84. }
  85. void set(bool value)
  86. {
  87. reinterpret_cast<b2RevoluteJointDef *>(def)->enableLimit = value;
  88. }
  89. }
  90. property bool EnableMotor
  91. {
  92. bool get()
  93. {
  94. return reinterpret_cast<b2RevoluteJointDef *>(def)->enableMotor;
  95. }
  96. void set(bool value)
  97. {
  98. reinterpret_cast<b2RevoluteJointDef *>(def)->enableMotor = value;
  99. }
  100. }
  101. void Initialize(Body^ body1, Body^ body2, Vector^ Anchor)
  102. {
  103. reinterpret_cast<b2RevoluteJointDef*>(def)->Initialize(body1->body, body2->body, Anchor->getVec2());
  104. }
  105. };
  106. public ref class RevoluteJoint : public Joint
  107. {
  108. internal:
  109. RevoluteJoint(b2RevoluteJoint *jointRef) : Joint(jointRef) { }
  110. public:
  111. property Vector^ Anchor1
  112. {
  113. Vector^ get()
  114. {
  115. return gcnew Vector(reinterpret_cast<b2RevoluteJoint*>(joint)->GetAnchor1());
  116. }
  117. }
  118. property Vector^ Anchor2
  119. {
  120. Vector^ get()
  121. {
  122. return gcnew Vector(reinterpret_cast<b2RevoluteJoint*>(joint)->GetAnchor2());
  123. }
  124. }
  125. Vector^ GetReactionForce()
  126. {
  127. return gcnew Vector(reinterpret_cast<b2RevoluteJoint*>(joint)->GetReactionForce());
  128. }
  129. float32 GetReactionTorque()
  130. {
  131. return (reinterpret_cast<b2RevoluteJoint*>(joint)->GetReactionTorque());
  132. }
  133. property float32 JointAngle
  134. {
  135. float32 get()
  136. {
  137. return (reinterpret_cast<b2RevoluteJoint*>(joint)->GetJointAngle());
  138. }
  139. }
  140. property float32 JointSpeed
  141. {
  142. float32 get()
  143. {
  144. return (reinterpret_cast<b2RevoluteJoint*>(joint)->GetJointSpeed());
  145. }
  146. }
  147. float32 GetMotorTorque()
  148. {
  149. return reinterpret_cast<b2RevoluteJoint*>(joint)->GetMotorTorque();
  150. }
  151. void SetMotorSpeed(float32 speed)
  152. {
  153. reinterpret_cast<b2RevoluteJoint*>(joint)->SetMotorSpeed(speed);
  154. }
  155. void SetMotorTorque(float32 torque)
  156. {
  157. reinterpret_cast<b2RevoluteJoint*>(joint)->SetMaxMotorTorque(torque);
  158. }
  159. };
  160. }
  161. }