CHingeJoint.generated.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. using System;
  2. using System.Runtime.CompilerServices;
  3. using System.Runtime.InteropServices;
  4. namespace BansheeEngine
  5. {
  6. /** @addtogroup Physics
  7. * @{
  8. */
  9. /// <summary>
  10. /// Hinge joint removes all but a single rotation degree of freedom from its two attached bodies (for example a door
  11. /// hinge).
  12. /// </summary>
  13. [ShowInInspector]
  14. public partial class HingeJoint : Joint
  15. {
  16. private HingeJoint(bool __dummy0) { }
  17. protected HingeJoint() { }
  18. /// <summary>Returns the current angle between the two attached bodes.</summary>
  19. [ShowInInspector]
  20. [NativeWrapper]
  21. public Radian Angle
  22. {
  23. get
  24. {
  25. Radian temp;
  26. Internal_getAngle(mCachedPtr, out temp);
  27. return temp;
  28. }
  29. }
  30. /// <summary>Returns the current angular speed of the joint.</summary>
  31. [ShowInInspector]
  32. [NativeWrapper]
  33. public float Speed
  34. {
  35. get { return Internal_getSpeed(mCachedPtr); }
  36. }
  37. /// <summary>
  38. /// Determines the limit of the joint. Limit constrains the motion to the specified angle range. You must enable the
  39. /// limit flag on the joint in order for this to be recognized.
  40. /// </summary>
  41. [ShowInInspector]
  42. [NativeWrapper]
  43. public LimitAngularRange Limit
  44. {
  45. get
  46. {
  47. LimitAngularRange temp;
  48. Internal_getLimit(mCachedPtr, out temp);
  49. return temp;
  50. }
  51. set { Internal_setLimit(mCachedPtr, ref value); }
  52. }
  53. /// <summary>
  54. /// Determines the drive properties of the joint. It drives the joint's angular velocity towards a particular value. You
  55. /// must enable the drive flag on the joint in order for the drive to be active.
  56. /// </summary>
  57. [ShowInInspector]
  58. [NativeWrapper]
  59. public HingeJointDrive Drive
  60. {
  61. get
  62. {
  63. HingeJointDrive temp;
  64. Internal_getDrive(mCachedPtr, out temp);
  65. return temp;
  66. }
  67. set { Internal_setDrive(mCachedPtr, ref value); }
  68. }
  69. /// <summary>Enables or disables a flag that controls joint behaviour.</summary>
  70. public void SetFlag(HingeJointFlag flag, bool enabled)
  71. {
  72. Internal_setFlag(mCachedPtr, flag, enabled);
  73. }
  74. /// <summary>Checks is the specified option enabled.</summary>
  75. public bool HasFlag(HingeJointFlag flag)
  76. {
  77. return Internal_hasFlag(mCachedPtr, flag);
  78. }
  79. [MethodImpl(MethodImplOptions.InternalCall)]
  80. private static extern void Internal_getAngle(IntPtr thisPtr, out Radian __output);
  81. [MethodImpl(MethodImplOptions.InternalCall)]
  82. private static extern float Internal_getSpeed(IntPtr thisPtr);
  83. [MethodImpl(MethodImplOptions.InternalCall)]
  84. private static extern void Internal_getLimit(IntPtr thisPtr, out LimitAngularRange __output);
  85. [MethodImpl(MethodImplOptions.InternalCall)]
  86. private static extern void Internal_setLimit(IntPtr thisPtr, ref LimitAngularRange limit);
  87. [MethodImpl(MethodImplOptions.InternalCall)]
  88. private static extern void Internal_getDrive(IntPtr thisPtr, out HingeJointDrive __output);
  89. [MethodImpl(MethodImplOptions.InternalCall)]
  90. private static extern void Internal_setDrive(IntPtr thisPtr, ref HingeJointDrive drive);
  91. [MethodImpl(MethodImplOptions.InternalCall)]
  92. private static extern void Internal_setFlag(IntPtr thisPtr, HingeJointFlag flag, bool enabled);
  93. [MethodImpl(MethodImplOptions.InternalCall)]
  94. private static extern bool Internal_hasFlag(IntPtr thisPtr, HingeJointFlag flag);
  95. }
  96. /** @} */
  97. }