public Tomato(RenderContext rc, float3 position, float3 rotation, float3 scaleFactor,SceneRenderer sc, RigidBody tomatoRigidBody, Game game, DynamicWorld world) : base(rc, position, rotation, scaleFactor, sc) { TomatoRb = tomatoRigidBody; Radius = 2f; Tag = "Tomato"; timer = 2.0f; _game = game; _world = world; }
public SliderConstraint AddSliderConstraint(RigidBody rigidBodyA, float4x4 frameInA, bool useLinearReferenceFrameA = false) { ISliderConstraintImp isci = _dwi.AddSliderConstraint(rigidBodyA._iRigidBodyImp,frameInA, useLinearReferenceFrameA); var retval = new SliderConstraint(); retval._iSliderConstraintImp = isci; isci.UserObject = retval; return retval; }
public RigidBody AddRigidBody(float mass, float3 position, float3 orientation, CollisionShape colShape/*, float3 inertia*/) { /* var meshTrianglesCount = mesh.Triangles.Length; int [] meshTrianglesArray = new int[meshTrianglesCount]; for (int c = 0; c < meshTrianglesCount; c++) { meshTrianglesArray[c] = Convert.ToInt32(mesh.Triangles[c]); } int meshVerteciesCount = mesh.Vertices.Length; float3[] meshVerteciesArray = new float3[meshVerteciesCount]; meshVerteciesArray = mesh.Vertices; */ var shapeType = colShape.GetType().ToString(); IRigidBodyImp rbi; switch (shapeType) { //Primitives case "Fusee.Engine.BoxShape": var box =(BoxShape) colShape; rbi = _dwi.AddRigidBody(mass, position, orientation, box.BoxShapeImp/*, inertia*/); break; case "Fusee.Engine.CapsuleShape": var capsule = (CapsuleShape)colShape; rbi = _dwi.AddRigidBody(mass, position, orientation, capsule.CapsuleShapeImp/*, inertia*/); break; case "Fusee.Engine.ConeShape": var cone = (ConeShape)colShape; rbi = _dwi.AddRigidBody(mass, position, orientation, cone.ConeShapeImp/*, inertia*/); break; case "Fusee.Engine.CylinderShape": var cylinder = (CylinderShape)colShape; rbi = _dwi.AddRigidBody(mass, position, orientation, cylinder.CylinderShapeImp/*, inertia*/); break; case "Fusee.Engine.MultiSphereShape": var multiSphere = (MultiSphereShape)colShape; rbi = _dwi.AddRigidBody(mass, position, orientation, multiSphere.MultiSphereShapeImp/*, inertia*/); break; case "Fusee.Engine.SphereShape": var sphere = (SphereShape)colShape; rbi = _dwi.AddRigidBody(mass, position, orientation, sphere.SphereShapeImp/*, inertia*/); break; //Misc case "Fusee.Engine.CompoundShape": var compShape = (CompoundShape)colShape; rbi = _dwi.AddRigidBody(mass, position, orientation, compShape.CompoundShapeImp/*, inertia*/); break; case "Fusee.Engine.EmptyShape": var empty = (EmptyShape)colShape; rbi = _dwi.AddRigidBody(mass, position, orientation, empty.EmtyShapeImp/*, inertia*/); break; //Meshes case "Fusee.Engine.ConvexHullShape": var convHullShape = (ConvexHullShape) colShape; rbi = _dwi.AddRigidBody(mass, position, orientation, convHullShape.ConvexHullShapeImp/*, inertia*/); break; case "Fusee.Engine.GImpactMeshShape": var gImpMeshShape = (GImpactMeshShape) colShape; rbi = _dwi.AddRigidBody(mass, position, orientation, gImpMeshShape.GImpactMeshShapeImp/*, inertia*/); break; case "Fusee.Engine.StaticPlaneShape": //static Shape var staticPaneShape = (StaticPlaneShape)colShape; rbi = _dwi.AddRigidBody(mass, position, orientation, staticPaneShape.StaticPlaneShapeImp/*, inertia*/); break; //Default default: var defaultShape = new EmptyShape(); Debug.WriteLine("default"); rbi = _dwi.AddRigidBody(mass, position, orientation, defaultShape.EmtyShapeImp/*, inertia*/); break; } // IRigidBodyImp rbi = _dwi.AddRigidBody(mass, worldTransform, /* shape, */inertia); var retval = new RigidBody(); //retval.Mesh = mesh; retval._iRigidBodyImp = rbi; rbi.UserObject = retval; return retval; }
public Point2PointConstraint AddPoint2PointConstraint(RigidBody rigidBodyA, RigidBody rigidBodyB, float3 pivotInA, float3 pivotInB) { IPoint2PointConstraintImp ip2pci = _dwi.AddPoint2PointConstraint(rigidBodyA._iRigidBodyImp, rigidBodyB._iRigidBodyImp, pivotInA, pivotInB); var retval = new Point2PointConstraint(); retval._iP2PConstraintImp = ip2pci; ip2pci.UserObject = retval; return retval; }
public HingeConstraint AddHingeConstraint(RigidBody rigidBodyA, RigidBody rigidBodyB, float4x4 brAFrame, float4x4 brBFrame, bool useReferenceFrameA = false) { IHingeConstraintImp ip2pci = _dwi.AddHingeConstraint(rigidBodyA._iRigidBodyImp, rigidBodyB._iRigidBodyImp, brAFrame, brBFrame, useReferenceFrameA); var retval = new HingeConstraint(); retval._iHConstraintImp = ip2pci; ip2pci.UserObject = retval; return retval; }
public HingeConstraint AddHingeConstraint(RigidBody rigidBodyA, RigidBody rigidBodyB, float3 pivotInA, float3 pivotInB, float3 axisInA, float3 axisInB, bool useReferenceFrameA = false) { IHingeConstraintImp ip2pci = _dwi.AddHingeConstraint(rigidBodyA._iRigidBodyImp, rigidBodyB._iRigidBodyImp, pivotInA, pivotInB, axisInA, axisInB, useReferenceFrameA); var retval = new HingeConstraint(); retval._iHConstraintImp = ip2pci; ip2pci.UserObject = retval; return retval; }
public Generic6DofConstraint AddGeneric6DofConstraint(RigidBody rigidBodyA, RigidBody rigidBodyB, float4x4 frameInA, float4x4 frameInB, bool useReferenceFrameA = false) { IGeneric6DofConstraintImp ig6dofci = _dwi.AddGeneric6DofConstraint(rigidBodyA._iRigidBodyImp, rigidBodyB._iRigidBodyImp, frameInA, frameInB, useReferenceFrameA); var retval = new Generic6DofConstraint(); retval._IG6DofConstraintImp = ig6dofci; ig6dofci.UserObject = retval; return retval; }
//GearConstraint public GearConstraint AddGearConstraint(RigidBody rigidBodyA, RigidBody rigidBodyB, float3 axisInA, float3 axisInB, float ratio = 1.0f) { IGearConstraintImp igci = _dwi.AddGearConstraint(rigidBodyA._iRigidBodyImp, rigidBodyB._iRigidBodyImp, axisInA, axisInB, ratio); var retval = new GearConstraint(); retval._iGearConstraintImp = igci; igci.UserObject = retval; return retval; }
public ConeTwistConstraint AddConeTwistConstraint(RigidBody rigidBodyA, RigidBody rigidBodyB, float4x4 rbAFrame, float4x4 rbBFrame) { IConeTwistConstraintImp icti = _dwi.AddConeTwistConstraint(rigidBodyA._iRigidBodyImp, rigidBodyB._iRigidBodyImp, rbAFrame, rbBFrame); var retval = new ConeTwistConstraint(); retval._iCTConstraintImp = icti; icti.UserObject = retval; return retval; }
public void RemoveRigidBody(RigidBody rigidbody) { _dwi.RemoveRigidBody(rigidbody._iRigidBodyImp); }