#pragma once #include "stdafx.h" #include "Joint.cpp" #include "JointDef.cpp" namespace Box2D { namespace Net { public ref class RevoluteJointDef : public JointDef { public: RevoluteJointDef() : JointDef(new b2RevoluteJointDef()) { } property Vector^ LocalAnchor1 { Vector^ get() { return gcnew Vector(reinterpret_cast(def)->localAnchor1); } void set(Vector^ value) { reinterpret_cast(def)->localAnchor1 = value->getVec2(); } } property Vector^ LocalAnchor2 { Vector^ get() { return gcnew Vector(reinterpret_cast(def)->localAnchor2); } void set(Vector^ value) { reinterpret_cast(def)->localAnchor2 = value->getVec2(); } } property float32 LowerAngle { float32 get() { return reinterpret_cast(def)->lowerAngle; } void set(float32 value) { reinterpret_cast(def)->lowerAngle = value; } } property float32 UpperAngle { float32 get() { return reinterpret_cast(def)->upperAngle; } void set(float32 value) { reinterpret_cast(def)->upperAngle = value; } } property float32 MotorTorque { float32 get() { return reinterpret_cast(def)->maxMotorTorque; } void set(float32 value) { reinterpret_cast(def)->maxMotorTorque = value; } } property float32 MotorSpeed { float32 get() { return reinterpret_cast(def)->motorSpeed; } void set(float32 value) { reinterpret_cast(def)->motorSpeed = value; } } property bool EnableLimit { bool get() { return reinterpret_cast(def)->enableLimit; } void set(bool value) { reinterpret_cast(def)->enableLimit = value; } } property bool EnableMotor { bool get() { return reinterpret_cast(def)->enableMotor; } void set(bool value) { reinterpret_cast(def)->enableMotor = value; } } void Initialize(Body^ body1, Body^ body2, Vector^ Anchor) { reinterpret_cast(def)->Initialize(body1->body, body2->body, Anchor->getVec2()); } }; public ref class RevoluteJoint : public Joint { internal: RevoluteJoint(b2RevoluteJoint *jointRef) : Joint(jointRef) { } public: property Vector^ Anchor1 { Vector^ get() { return gcnew Vector(reinterpret_cast(joint)->GetAnchor1()); } } property Vector^ Anchor2 { Vector^ get() { return gcnew Vector(reinterpret_cast(joint)->GetAnchor2()); } } Vector^ GetReactionForce() { return gcnew Vector(reinterpret_cast(joint)->GetReactionForce()); } float32 GetReactionTorque() { return (reinterpret_cast(joint)->GetReactionTorque()); } property float32 JointAngle { float32 get() { return (reinterpret_cast(joint)->GetJointAngle()); } } property float32 JointSpeed { float32 get() { return (reinterpret_cast(joint)->GetJointSpeed()); } } float32 GetMotorTorque() { return reinterpret_cast(joint)->GetMotorTorque(); } void SetMotorSpeed(float32 speed) { reinterpret_cast(joint)->SetMotorSpeed(speed); } void SetMotorTorque(float32 torque) { reinterpret_cast(joint)->SetMaxMotorTorque(torque); } }; } }