public void SetBrakeAcceleration(float pAccelaration, float pTorqueLimit) { Newton.NewtonVehicleTireSetBrakeAcceleration(m_Vehicle.Handle, m_Handle, pAccelaration, pTorqueLimit); }
public CTire VehicleAddTire(Matrix3D pLocalMatrix, Vector3D pPin, float pMass, float pWidth, float pRadius, float pSuspesionShock, float pSuspesionSpring, float pSuspesionLength, object pUserData, int pCollisionID) { IntPtr aTireHandle = Newton.NewtonVehicleAddTire(m_Handle, new NewtonMatrix(pLocalMatrix).NWMatrix, new NewtonVector3(pPin).NWVector3, pMass, pWidth, pRadius, pSuspesionShock, pSuspesionSpring, pSuspesionLength, (IntPtr)0, //pUserData.GetHashCode(), pCollisionID); CTire aTire = new CTire(this, aTireHandle); aTire.UserData = pUserData; return(aTire); }
//public void NewtonUserJointAddGeneralRow(IntPtr pJoint, // [MarshalAs(UnmanagedType.LPArray, SizeConst = 6)]float[] pJacobian0, // [MarshalAs(UnmanagedType.LPArray, SizeConst = 6)]float[] pJacobian1); public void UserBilateralSetRowSpringDamperAcceleration(float pSpringK, float pSpringD) { Newton.NewtonUserJointSetRowSpringDamperAcceleration(m_Handle, pSpringK, pSpringD); }
public void CreateUpVector(Vector3D pPinDir, CBody pBody) { m_Handle = Newton.NewtonConstraintCreateUpVector(m_World.Handle, new NewtonVector3(pPinDir).NWVector3, pBody.Handle); CHashTables.Joint.Add(m_Handle, this); }
public void UserBilateralAddAngularRow( float pRelativeAngle, Vector3D pDir) { Newton.NewtonUserJointAddAngularRow(m_Handle, pRelativeAngle, new NewtonVector3(pDir).NWVector3); }
public void CreateVehicle(Vector3D pUpDir, CBody pNewtonBody) { m_Handle = Newton.NewtonConstraintCreateVehicle(m_World.Handle, new NewtonVector3(pUpDir).NWVector3, pNewtonBody.Handle); CHashTables.Joint.Add(m_Handle, this); }
public void UserBilateralAddLinearRow(Vector3D pPivot0, Vector3D pPivot1, Vector3D pdir) { Newton.NewtonUserJointAddLinearRow(m_Handle, new NewtonVector3(pPivot0).NWVector3, new NewtonVector3(pPivot1).NWVector3, new NewtonVector3(pdir).NWVector3); }
public void Remove() { if (m_Handle != (IntPtr)0) { CHashTables.TireUserData.Remove(m_Handle); CHashTables.Tire.Remove(m_Handle); Newton.NewtonVehicleRemoveTire(m_Vehicle.Handle, m_Handle); m_Handle = (IntPtr)0; } }
private void GetContactPositionaAndNormal() { Vector3D position = new Vector3D(); Vector3D normal = new Vector3D(); //_material1.GetContactPositionAndNormal(ref position, ref normal); Newton.NewtonMaterialGetContactPositionAndNormal(_materialPtr, new NewtonVector3(position).NWVector3, new NewtonVector3(normal).NWVector3); _contactPositionWorld = position.ToPoint(); _contactNormalWorld = normal; }
public void CreateUserBilateral(int pMaxDOF, EventHandler <CUserBilateralEventArgs> pCallback, CBody pChildBody, CBody pParentBody) { m_UserBilateral = pCallback; m_NewtonUserBilateral = new Newton.NewtonUserBilateral(InvokeUserBilateral); m_Handle = Newton.NewtonConstraintCreateUserJoint(m_World.Handle, pMaxDOF, m_NewtonUserBilateral, pChildBody.Handle, pParentBody.Handle); CHashTables.Joint.Add(m_Handle, this); }
public float CalculateMaxBrakeAcceleration() { return(Newton.NewtonVehicleTireCalculateMaxBrakeAcceleration(m_Vehicle.Handle, m_Handle)); }
public float UserBilateralGetRowForce(int pRow) { return(Newton.NewtonUserJointGetRowForce(m_Handle, pRow)); }
public void VehicleReset() { Newton.NewtonVehicleReset(m_Handle); }