public void dBodyGetRotationTest() { IntPtr newWorldId = Ode.dWorldCreate(); IntPtr newBodyId = Ode.dBodyCreate(newWorldId); Ode.dMatrix3 r = new Ode.dMatrix3( new float[] { 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f } ); Ode.dMatrix3 r2 = new Ode.dMatrix3( new float[] { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f } ); Ode.dBodySetRotation(newBodyId, r); r2 = Ode.dBodyGetRotation(newBodyId); Assert.AreEqual(r,r2,"Assigned and returned rotation matrix values are not equal"); }
public void dBodySetRotationTest() { IntPtr newWorldId = Ode.dWorldCreate(); IntPtr newBodyId = Ode.dBodyCreate(newWorldId); Ode.dMatrix3 r = new Ode.dMatrix3( new float[] { 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f } ); try { Ode.dBodySetRotation(newBodyId, r); } catch (Exception e) { Assert.Fail("dBodySetRotation failed with exception: " + e.GetType()); } }
public void dMassRotateTest() { Ode.dMass newMass = new Ode.dMass(); newMass.c = new Ode.dVector4(); // Just to be safe the dMass newMass.I = new Ode.dMatrix3(); // structure is initialized Ode.dMassSetSphere(ref newMass, 0.2f, 3.5f); Ode.dMatrix3 r = new Ode.dMatrix3( new float[] { 1.0f, 0.0f, 0.0f , 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f } ); try { Ode.dMassRotate(ref newMass, r); } catch (Exception e) { Assert.Fail("dMassRotate failed with exception: " + e.GetType()); } }
public void dGeomSetRotationTest() { IntPtr simplespace = Ode.dSimpleSpaceCreate(IntPtr.Zero); IntPtr box = Ode.dCreateBox( simplespace, 25.0f, 5.0f, 25.0f ); Ode.dMatrix3 r = new Ode.dMatrix3( new float[] { 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f } ); try { Ode.dGeomSetRotation(box, r); } catch (Exception e) { Assert.Fail("dGeomSetRotation failed with exception: " + e.GetType()); } }