예제 #1
0
 public int GetBodyTransform(int body_index, out Matrix3x3FloatData world_T_body)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_getBodyTransform(Native, body_index, out world_T_body));
 }
예제 #2
0
 internal int AddBody(int body_index, int parent_index, JointType joint_type, Vector3 parent_r_parent_body_ref, Matrix3x3FloatData body_T_parent_ref, Vector3 body_axis_of_motion, int mass, Vector3 body_r_body_com, Matrix3x3FloatData body_I_body, int user_int, IntPtr user_ptr)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_addBody(Native, body_index, parent_index, joint_type, ref parent_r_parent_body_ref, ref body_T_parent_ref, ref body_axis_of_motion, mass, ref body_r_body_com, ref body_I_body, user_int, user_ptr));
 }
예제 #3
0
 public MultiBodyTree CreateMultiBodyTree()
 {
     return(new MultiBodyTree(UnsafeNativeMethodsInverseDynamics.MultiBodyTreeCreator_CreateMultiBodyTree(Native)));
 }
예제 #4
0
 public int SetBodySecondMassMoment(int body_index, ref Matrix3x3FloatData second_mass_moment)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_setBodySecondMassMoment(Native, body_index, ref second_mass_moment));
 }
예제 #5
0
 public int SetUserInt(int body_index, int user_int)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_setUserInt(Native, body_index, user_int));
 }
예제 #6
0
 public int GetParentRParentBodyRef(int body_index, out Vector3 r)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_getParentRParentBodyRef(Native, body_index, out r));
 }
예제 #7
0
 public int SetBodyFirstMassMoment(int body_index, ref Vector3 first_mass_moment)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_setBodyFirstMassMoment(Native, body_index, ref first_mass_moment));
 }
예제 #8
0
 public int GetBodyAxisOfMotion(int body_index, out Vector3 axis)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_getBodyAxisOfMotion(Native, body_index, out axis));
 }
예제 #9
0
 public int GetBodyCoM(int body_index, out Vector3 world_com)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_getBodyCoM(Native, body_index, out world_com));
 }
예제 #10
0
 public int GetBodyAngularAcceleration(int body_index, out Vector3 world_dot_omega)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_getBodyAngularAcceleration(Native, body_index, out world_dot_omega));
 }
예제 #11
0
 public int GetBodyAngularVelocity(int body_index, out Vector3 world_omega)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_getBodyAngularVelocity(Native, body_index, out world_omega));
 }
예제 #12
0
 public bool GetAcceptInvalidMassProperties()
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_getAcceptInvalidMassProperties(Native));
 }
예제 #13
0
 public void ClearAllUserForcesAndMoments()
 {
     UnsafeNativeMethodsInverseDynamics.MultiBodyTree_clearAllUserForcesAndMoments(Native);
 }
예제 #14
0
 public int GetNumBodies()
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTreeCreator_getNumBodies(Native));
 }
예제 #15
0
 public int GetDoFOffset(int body_index, out int q_offset)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_getDoFOffset(Native, body_index, out q_offset));
 }
예제 #16
0
 public int GetBodyDotJacobianTransU(int body_index, out Vector3 world_dot_jac_trans_u)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_getBodyDotJacobianTransU(Native, body_index, out world_dot_jac_trans_u));
 }
예제 #17
0
 public int GetParentIndex(int body_index, out int parent_index)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_getParentIndex(Native, body_index, out parent_index));
 }
예제 #18
0
 public int GetBodyJacobianTrans(int body_index, int numBodyDof, int numBaseDof, float[] world_jac_trans)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_getBodyJacobianTrans(Native, body_index, numBodyDof, numBaseDof, world_jac_trans));
 }
예제 #19
0
        //public IntPtr GetUserPtr(int body_index)
        //{
        //    return UnsafeNativeMethodsInverseDynamics.MultiBodyTree_getUserPtr(Native, body_index);
        //}

        public void SetAcceptInvalidMassParameters(bool flag)
        {
            UnsafeNativeMethodsInverseDynamics.MultiBodyTree_setAcceptInvalidMassParameters(Native, flag);
        }
예제 #20
0
 public int GetBodyLinearAcceleration(int body_index, out Vector3 world_acceleration)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_getBodyLinearAcceleration(Native, body_index, out world_acceleration));
 }
예제 #21
0
 public int SetBodyMass(int body_index, float mass)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_setBodyMass(Native, body_index, mass));
 }
예제 #22
0
 public int GetBodyLinearVelocityCoM(int body_index, out Vector3 world_velocity)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_getBodyLinearVelocityCoM(Native, body_index, out world_velocity));
 }
예제 #23
0
 public void SetGravityInWorldFrame(Vector3 gravity)
 {
     UnsafeNativeMethodsInverseDynamics.MultiBodyTree_setGravityInWorldFrame(Native, ref gravity);
 }
예제 #24
0
 public int GetBodyOrigin(int body_index, out Vector3 world_origin)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_getBodyOrigin(Native, body_index, out world_origin));
 }
예제 #25
0
 public MultiBodyTree(bool preventDelete = false)
 {
     Native = UnsafeNativeMethodsInverseDynamics.MultiBodyTree_new();
     _init(preventDelete);
 }
예제 #26
0
 public int GetBodyTParentRef(int body_index, out Matrix3x3FloatData T)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTree_getBodyTParentRef(Native, body_index, out T));
 }
예제 #27
0
 public void AddUserForce(int body_index, Vector3 body_force)
 {
     UnsafeNativeMethodsInverseDynamics.MultiBodyTree_addUserForce(Native, body_index, ref body_force);
 }
예제 #28
0
 public int CreateFromMultiBody(MultiBody multiBody)
 {
     return(UnsafeNativeMethodsInverseDynamics.MultiBodyTreeCreator_createFromBtMultiBody(Native, multiBody.Native));
 }