SliderJoint constructor
SliderJoint(
- JointConfig config,
- double lowerTranslation,
- double upperTranslation
A slider joint allows for relative translation and relative rotation between two rigid bodies along the axis.
config configuration profile of the joint
lowerTranslation the min movment the joint will slide
upperTranslation the max movment the joint will slide
Implementation
SliderJoint(JointConfig config, double lowerTranslation, double upperTranslation ):super(config){
type = JointType.slider;
localAxis1 = config.localAxis1.clone()..normalize();
localAxis2 = config.localAxis2.clone()..normalize();
translationalLimitMotor = LimitMotor(nor, true );
translationalLimitMotor.lowerLimit = lowerTranslation;
translationalLimitMotor.upperLimit = upperTranslation;
arc = Matrix3.identity().setQuat( Quaternion(0,0,0,1).setFromUnitVectors( localAxis1, localAxis2 ) );
localAngle1 = Vector3.zero()..tangent(localAxis1 )..normalize();
localAngle2 = localAngle1.clone().applyMatrix3Transpose( arc );
r3 = Rotational3Constraint(this,rotationalLimitMotor, LimitMotor( tan, true ), LimitMotor( bin, true ) );
t3 = Translational3Constraint(this,translationalLimitMotor, LimitMotor( tan, true ), LimitMotor( bin, true ) );
}