static void test_simulation() { test_name("physical simulation"); PHSceneDesc descScene = new PHSceneDesc(); PHSolidDesc descSolid = new PHSolidDesc(); CDBoxDesc descBox = new CDBoxDesc(); PHSdkIf phSdk = PHSdkIf.CreateSdk(); PHSceneIf phScene = phSdk.CreateScene(descScene); PHSolidIf phSolid = phScene.CreateSolid(descSolid); phSolid.AddShape(phSdk.CreateShape(CDBoxIf.GetIfInfoStatic(), descBox)); phSolid.SetPose(new Posed(1, 0, 0, 0, 0, 2, 0)); PHSolidIf phFloor = phScene.CreateSolid(descSolid); phFloor.SetDynamical(false); descBox.boxsize = new Vec3f(10, 10, 10); phFloor.AddShape(phSdk.CreateShape(CDBoxIf.GetIfInfoStatic(), descBox)); phFloor.SetPose(new Posed(1, 0, 0, 0, 0, -5, 0)); PHBallJointDesc descJoint = new PHBallJointDesc(); PHBallJointIf j = phScene.CreateJoint(phFloor, phSolid, PHBallJointIf.GetIfInfoStatic(), descJoint).Cast(); System.Console.WriteLine(j.GetName()); PHIKBallActuatorDescStruct s = new PHIKBallActuatorDesc(); put("bias", "something", s.bias); /**/ for (int i = 0; i < 200; i++) { phScene.Step(); //System.Console.WriteLine(i.ToString() + " : " + phSolid.GetPose()); System.Console.WriteLine(String.Format("{0, 3}", i) + " : " + phSolid.GetPose()); } /**/ }