Ejemplo n.º 1
0
    public override bool SliderMotorEnable(BulletConstraint pConstraint, int linAng, float numericTrueFalse)
    {
        SliderConstraint constraint = (pConstraint as BulletConstraintXNA).constrain as SliderConstraint;
		switch (linAng)
		{
			case SLIDER_LINEAR:
				constraint.SetPoweredLinMotor(numericTrueFalse == 0.0 ? false : true);
				break;
			case SLIDER_ANGULAR:
				constraint.SetPoweredAngMotor(numericTrueFalse == 0.0 ? false : true);
				break;
		}
        return true;
    }
Ejemplo n.º 2
0
 public abstract Vector3 SetAnisotripicFriction(BulletConstraint constrain, Vector3 frict);
Ejemplo n.º 3
0
 //SetBreakingImpulseThreshold(m_constraint.ptr, threshold);
 public override bool SetBreakingImpulseThreshold(BulletConstraint pConstraint, float threshold)
 {
     Generic6DofConstraint constraint = (pConstraint as BulletConstraintXNA).constrain as Generic6DofConstraint;
     constraint.SetBreakingImpulseThreshold(threshold);
     return true;
 }
Ejemplo n.º 4
0
 public override bool SpringSetStiffness(BulletConstraint pConstraint, int index, float stiffness)
 {
     Generic6DofSpringConstraint constraint = (pConstraint as BulletConstraintXNA).constrain as Generic6DofSpringConstraint;
     constraint.SetStiffness(index, stiffness);
     return true;
 }
Ejemplo n.º 5
0
 public override bool DestroyConstraint(BulletWorld pWorld, BulletConstraint pConstraint)
 {
     DiscreteDynamicsWorld world = (pWorld as BulletWorldXNA).world;
     TypedConstraint constraint = (pConstraint as BulletConstraintXNA).constrain;
     world.RemoveConstraint(constraint);
     return true;
 }
Ejemplo n.º 6
0
 public override void SetConstraintEnable(BulletConstraint pConstraint, float p_2)
 {
     Generic6DofConstraint constraint = (pConstraint as BulletConstraintXNA).constrain as Generic6DofConstraint;
     constraint.SetEnabled((p_2 == 0) ? false : true);
 }
Ejemplo n.º 7
0
 public abstract void SetConstraintEnable(BulletConstraint constrain, float numericTrueFalse);
Ejemplo n.º 8
0
 public override bool HasAnisotripicFriction(BulletConstraint pconstrain) { /* TODO */ return false; }
Ejemplo n.º 9
0
 public abstract bool TranslationalLimitMotor(BulletConstraint constrain, float enable, float targetVel, float maxMotorForce);
Ejemplo n.º 10
0
 public abstract bool UseFrameOffset(BulletConstraint constrain, float enable);
Ejemplo n.º 11
0
 public abstract bool SpringSetStiffness(BulletConstraint constrain, int index, float stiffnesss);
Ejemplo n.º 12
0
 public abstract bool SpringSetEquilibriumPoint(BulletConstraint constrain, int index, float equilibriumPoint);
Ejemplo n.º 13
0
 public abstract bool SpringSetDamping(BulletConstraint constrain, int index, float damping);
Ejemplo n.º 14
0
 public abstract void AddConstraintRef(BulletBody obj, BulletConstraint constrain);
Ejemplo n.º 15
0
 public abstract void SetConstraintNumSolverIterations(BulletConstraint constrain, float iterations);
Ejemplo n.º 16
0
 public virtual void DumpConstraint(BulletWorld sim, BulletConstraint constrain)
 {
 }
Ejemplo n.º 17
0
 public abstract bool SetFrames(BulletConstraint constrain,
                                Vector3 frameA, Quaternion frameArot, Vector3 frameB, Quaternion frameBrot);
Ejemplo n.º 18
0
    public override bool AddConstraintToWorld(BulletWorld pWorld, BulletConstraint pConstraint, bool pDisableCollisionsBetweenLinkedObjects)
    {
        DiscreteDynamicsWorld world = (pWorld as BulletWorldXNA).world;
        TypedConstraint constraint = (pConstraint as BulletConstraintXNA).constrain;
        world.AddConstraint(constraint, pDisableCollisionsBetweenLinkedObjects);

        return true;

    }
Ejemplo n.º 19
0
 public abstract bool SetAngularLimits(BulletConstraint constrain, Vector3 low, Vector3 hi);
Ejemplo n.º 20
0
 public override void SetConstraintNumSolverIterations(BulletConstraint pConstraint, float cnt)
 {
     Generic6DofConstraint constraint = (pConstraint as BulletConstraintXNA).constrain as Generic6DofConstraint;
     constraint.SetOverrideNumSolverIterations((int)cnt);
 }
Ejemplo n.º 21
0
 public abstract bool UseFrameOffset(BulletConstraint constrain, float enable);
Ejemplo n.º 22
0
 public override void RemoveConstraintRef(BulletBody pBody, BulletConstraint pConstraint)
 {
     RigidBody body = (pBody as BulletBodyXNA).rigidBody;
     TypedConstraint constrain = (pConstraint as BulletConstraintXNA).constrain;
     body.RemoveConstraintRef(constrain);
 }
Ejemplo n.º 23
0
 public abstract bool TranslationalLimitMotor(BulletConstraint constrain, float enable, float targetVel, float maxMotorForce);
Ejemplo n.º 24
0
 public override bool SpringEnable(BulletConstraint pConstraint, int index, float numericTrueFalse)
 {
     Generic6DofSpringConstraint constraint = (pConstraint as BulletConstraintXNA).constrain as Generic6DofSpringConstraint;
     constraint.EnableSpring(index, (numericTrueFalse == 0f ? false : true));
     return true;
 }
Ejemplo n.º 25
0
 public abstract bool SetBreakingImpulseThreshold(BulletConstraint constrain, float threshold);
Ejemplo n.º 26
0
    public override bool SliderSetLimits(BulletConstraint pConstraint, int lowerUpper, int linAng, float val)
    {
        SliderConstraint constraint = (pConstraint as BulletConstraintXNA).constrain as SliderConstraint;
		switch (lowerUpper)
		{
			case SLIDER_LOWER_LIMIT:
				switch (linAng)
				{
					case SLIDER_LINEAR:
						constraint.SetLowerLinLimit(val);
						break;
					case SLIDER_ANGULAR:
						constraint.SetLowerAngLimit(val);
						break;
				}
				break;
			case SLIDER_UPPER_LIMIT:
				switch (linAng)
				{
					case SLIDER_LINEAR:
						constraint.SetUpperLinLimit(val);
						break;
					case SLIDER_ANGULAR:
						constraint.SetUpperAngLimit(val);
						break;
				}
				break;
		}
        return true;
    }
Ejemplo n.º 27
0
 public abstract bool HingeSetLimits(BulletConstraint constrain, float low, float high, float softness, float bias, float relaxation);
Ejemplo n.º 28
0
 public abstract bool SpringEnable(BulletConstraint constrain, int index, float numericTrueFalse);
Ejemplo n.º 29
0
 public abstract bool SpringEnable(BulletConstraint constrain, int index, float numericTrueFalse);
Ejemplo n.º 30
0
 public abstract bool HasAnisotripicFriction(BulletConstraint constrain);
Ejemplo n.º 31
0
 public abstract bool SpringSetEquilibriumPoint(BulletConstraint constrain, int index, float equilibriumPoint);
Ejemplo n.º 32
0
 public abstract void RemoveConstraintRef(BulletBody obj, BulletConstraint constrain);
Ejemplo n.º 33
0
 public abstract bool SpringSetStiffness(BulletConstraint constrain, int index, float stiffnesss);
Ejemplo n.º 34
0
 public override Vector3 SetAnisotripicFriction(BulletConstraint pconstrain, Vector3 frict) { /* TODO */ return Vector3.Zero; }
Ejemplo n.º 35
0
 public abstract bool SpringSetDamping(BulletConstraint constrain, int index, float damping);
Ejemplo n.º 36
0
 //m_constraint.ptr, ConstraintParams.BT_CONSTRAINT_STOP_CFM, cfm, ConstraintParamAxis.AXIS_ALL
 public override bool SetConstraintParam(BulletConstraint pConstraint, ConstraintParams paramIndex, float paramvalue, ConstraintParamAxis axis)
 {
     Generic6DofConstraint constrain = (pConstraint as BulletConstraintXNA).constrain as Generic6DofConstraint;
     if (axis == ConstraintParamAxis.AXIS_LINEAR_ALL || axis == ConstraintParamAxis.AXIS_ALL)
     {
         constrain.SetParam((BulletXNA.BulletDynamics.ConstraintParams) (int) paramIndex, paramvalue, 0);
         constrain.SetParam((BulletXNA.BulletDynamics.ConstraintParams) (int) paramIndex, paramvalue, 1);
         constrain.SetParam((BulletXNA.BulletDynamics.ConstraintParams) (int) paramIndex, paramvalue, 2);
     }
     if (axis == ConstraintParamAxis.AXIS_ANGULAR_ALL || axis == ConstraintParamAxis.AXIS_ALL)
     {
         constrain.SetParam((BulletXNA.BulletDynamics.ConstraintParams)(int)paramIndex, paramvalue, 3);
         constrain.SetParam((BulletXNA.BulletDynamics.ConstraintParams)(int)paramIndex, paramvalue, 4);
         constrain.SetParam((BulletXNA.BulletDynamics.ConstraintParams)(int)paramIndex, paramvalue, 5);
     }
     if (axis == ConstraintParamAxis.AXIS_LINEAR_ALL)
     {
         constrain.SetParam((BulletXNA.BulletDynamics.ConstraintParams)(int)paramIndex, paramvalue, (int)axis);
     }
     return true;
 }
Ejemplo n.º 37
0
 public abstract bool SliderSetLimits(BulletConstraint constrain, int lowerUpper, int linAng, float val);
Ejemplo n.º 38
0
    public override bool TranslationalLimitMotor(BulletConstraint pConstraint, float ponOff, float targetVelocity, float maxMotorForce)
    {
        TypedConstraint tconstrain = (pConstraint as BulletConstraintXNA).constrain;
        bool onOff = ponOff != 0;
        bool ret = false;

        switch (tconstrain.GetConstraintType())
        {
            case TypedConstraintType.D6_CONSTRAINT_TYPE:
                Generic6DofConstraint constrain = tconstrain as Generic6DofConstraint;
                constrain.GetTranslationalLimitMotor().m_enableMotor[0] = onOff;
                constrain.GetTranslationalLimitMotor().m_targetVelocity[0] = targetVelocity;
                constrain.GetTranslationalLimitMotor().m_maxMotorForce[0] = maxMotorForce;
                ret = true;
                break;
        }


        return ret;

    }
Ejemplo n.º 39
0
 public abstract bool SliderSet(BulletConstraint constrain, int softRestDamp, int dirLimOrtho, int linAng, float val);
Ejemplo n.º 40
0
 public override bool SetAngularLimits(BulletConstraint pConstraint, Vector3 low, Vector3 high)
 {
     Generic6DofConstraint constraint = (pConstraint as BulletConstraintXNA).constrain as Generic6DofConstraint;
     IndexedVector3 lowlimit = new IndexedVector3(low.X, low.Y, low.Z);
     IndexedVector3 highlimit = new IndexedVector3(high.X, high.Y, high.Z);
     constraint.SetAngularLowerLimit(lowlimit);
     constraint.SetAngularUpperLimit(highlimit);
     return true;
 }
Ejemplo n.º 41
0
 public abstract bool SliderMotorEnable(BulletConstraint constrain, int linAng, float numericTrueFalse);
Ejemplo n.º 42
0
 public override bool CalculateTransforms(BulletConstraint pConstraint)
 {
     Generic6DofConstraint constraint = (pConstraint as BulletConstraintXNA).constrain as Generic6DofConstraint;
     constraint.CalculateTransforms();
     return true;
 }
Ejemplo n.º 43
0
 public abstract bool SliderMotor(BulletConstraint constrain, int forceVel, int linAng, float val);
Ejemplo n.º 44
0
    //SetFrames(m_constraint.ptr, frameA, frameArot, frameB, frameBrot);
    public override bool SetFrames(BulletConstraint pConstraint, Vector3 pframe1, Quaternion pframe1rot, Vector3 pframe2, Quaternion pframe2rot)
    {
        Generic6DofConstraint constraint = (pConstraint as BulletConstraintXNA).constrain as Generic6DofConstraint;
        IndexedVector3 frame1v = new IndexedVector3(pframe1.X, pframe1.Y, pframe1.Z);
        IndexedQuaternion frame1rot = new IndexedQuaternion(pframe1rot.X, pframe1rot.Y, pframe1rot.Z, pframe1rot.W);
        IndexedMatrix frame1 = IndexedMatrix.CreateFromQuaternion(frame1rot);
        frame1._origin = frame1v;

        IndexedVector3 frame2v = new IndexedVector3(pframe2.X, pframe2.Y, pframe2.Z);
        IndexedQuaternion frame2rot = new IndexedQuaternion(pframe2rot.X, pframe2rot.Y, pframe2rot.Z, pframe2rot.W);
        IndexedMatrix frame2 = IndexedMatrix.CreateFromQuaternion(frame2rot);
        frame2._origin = frame2v;
        constraint.SetFrames(ref frame1, ref frame2);
        return true;
    }
Ejemplo n.º 45
0
 public abstract bool CalculateTransforms(BulletConstraint constrain);
Ejemplo n.º 46
0
 public override bool UseFrameOffset(BulletConstraint pConstraint, float onOff)
 {
     Generic6DofConstraint constraint = (pConstraint as BulletConstraintXNA).constrain as Generic6DofConstraint;
     constraint.SetUseFrameOffset((onOff == 0) ? false : true);
     return true;
 }
Ejemplo n.º 47
0
 public abstract bool SetConstraintParam(BulletConstraint constrain, ConstraintParams paramIndex, float value, ConstraintParamAxis axis);
Ejemplo n.º 48
0
 public override bool HingeSetLimits(BulletConstraint pConstraint, float low, float high, float softness, float bias, float relaxation)
 {
     HingeConstraint constraint = (pConstraint as BulletConstraintXNA).constrain as HingeConstraint;
     if (softness == HINGE_NOT_SPECIFIED)
         constraint.SetLimit(low, high);
     else
         constraint.SetLimit(low, high, softness, bias, relaxation);
     return true;
 }
Ejemplo n.º 49
0
 public abstract bool DestroyConstraint(BulletWorld world, BulletConstraint constrain);
Ejemplo n.º 50
0
 public override bool SpringSetEquilibriumPoint(BulletConstraint pConstraint, int index, float equilibriumPoint)
 {
     Generic6DofSpringConstraint constraint = (pConstraint as BulletConstraintXNA).constrain as Generic6DofSpringConstraint;
     if (index == SPRING_NOT_SPECIFIED)
     {
         constraint.SetEquilibriumPoint();
     }
     else
     {
         if (equilibriumPoint == SPRING_NOT_SPECIFIED)
             constraint.SetEquilibriumPoint(index);
         else
             constraint.SetEquilibriumPoint(index, equilibriumPoint);
     }
     return true;
 }
Ejemplo n.º 51
0
 public abstract bool AddConstraintToWorld(BulletWorld world, BulletConstraint constrain, bool disableCollisionsBetweenLinkedObjects);
Ejemplo n.º 52
0
 public override bool SpringSetDamping(BulletConstraint pConstraint, int index, float damping)
 {
     Generic6DofSpringConstraint constraint = (pConstraint as BulletConstraintXNA).constrain as Generic6DofSpringConstraint;
     constraint.SetDamping(index, damping);
     return true;
 }
Ejemplo n.º 53
0
 public abstract bool RemoveConstraintFromWorld(BulletWorld world, BulletConstraint constrain);
Ejemplo n.º 54
0
    public override bool SliderSet(BulletConstraint pConstraint, int softRestDamp, int dirLimOrtho, int linAng, float val)
    {
        SliderConstraint constraint = (pConstraint as BulletConstraintXNA).constrain as SliderConstraint;
		switch (softRestDamp)
		{
			case SLIDER_SET_SOFTNESS:
				switch (dirLimOrtho)
				{
					case SLIDER_SET_DIRECTION:
						switch (linAng)
						{
							case SLIDER_LINEAR: constraint.SetSoftnessDirLin(val); break;
							case SLIDER_ANGULAR: constraint.SetSoftnessDirAng(val); break;
						}
						break;
					case SLIDER_SET_LIMIT:
						switch (linAng)
						{
							case SLIDER_LINEAR: constraint.SetSoftnessLimLin(val); break;
							case SLIDER_ANGULAR: constraint.SetSoftnessLimAng(val); break;
						}
						break;
					case SLIDER_SET_ORTHO:
						switch (linAng)
						{
							case SLIDER_LINEAR: constraint.SetSoftnessOrthoLin(val); break;
							case SLIDER_ANGULAR: constraint.SetSoftnessOrthoAng(val); break;
						}
						break;
				}
				break;
			case SLIDER_SET_RESTITUTION:
				switch (dirLimOrtho)
				{
					case SLIDER_SET_DIRECTION:
						switch (linAng)
						{
							case SLIDER_LINEAR: constraint.SetRestitutionDirLin(val); break;
							case SLIDER_ANGULAR: constraint.SetRestitutionDirAng(val); break;
						}
						break;
					case SLIDER_SET_LIMIT:
						switch (linAng)
						{
							case SLIDER_LINEAR: constraint.SetRestitutionLimLin(val); break;
							case SLIDER_ANGULAR: constraint.SetRestitutionLimAng(val); break;
						}
						break;
					case SLIDER_SET_ORTHO:
						switch (linAng)
						{
							case SLIDER_LINEAR: constraint.SetRestitutionOrthoLin(val); break;
							case SLIDER_ANGULAR: constraint.SetRestitutionOrthoAng(val); break;
						}
						break;
				}
				break;
			case SLIDER_SET_DAMPING:
				switch (dirLimOrtho)
				{
					case SLIDER_SET_DIRECTION:
						switch (linAng)
						{
							case SLIDER_LINEAR: constraint.SetDampingDirLin(val); break;
							case SLIDER_ANGULAR: constraint.SetDampingDirAng(val); break;
						}
						break;
					case SLIDER_SET_LIMIT:
						switch (linAng)
						{
							case SLIDER_LINEAR: constraint.SetDampingLimLin(val); break;
							case SLIDER_ANGULAR: constraint.SetDampingLimAng(val); break;
						}
						break;
					case SLIDER_SET_ORTHO:
						switch (linAng)
						{
							case SLIDER_LINEAR: constraint.SetDampingOrthoLin(val); break;
							case SLIDER_ANGULAR: constraint.SetDampingOrthoAng(val); break;
						}
						break;
				}
				break;
		}
        return true;
    }
Ejemplo n.º 55
0
// =====================================================================================
// btCollisionObject entries
        public abstract Vector3 GetAnisotripicFriction(BulletConstraint constrain);
Ejemplo n.º 56
0
    public override bool SliderMotor(BulletConstraint pConstraint, int forceVel, int linAng, float val)
    {
        SliderConstraint constraint = (pConstraint as BulletConstraintXNA).constrain as SliderConstraint;
		switch (forceVel)
		{
			case SLIDER_MOTOR_VELOCITY:
				switch (linAng)
				{
					case SLIDER_LINEAR:
						constraint.SetTargetLinMotorVelocity(val);
						break;
					case SLIDER_ANGULAR:
						constraint.SetTargetAngMotorVelocity(val);
						break;
				}
				break;
			case SLIDER_MAX_MOTOR_FORCE:
				switch (linAng)
				{
					case SLIDER_LINEAR:
						constraint.SetMaxLinMotorForce(val);
						break;
					case SLIDER_ANGULAR:
						constraint.SetMaxAngMotorForce(val);
						break;
				}
				break;
		}
        return true;
    }
Ejemplo n.º 57
0
 public abstract bool SliderSetLimits(BulletConstraint constrain, int lowerUpper, int linAng, float val);