btPoint2PointConstraint( btRigidBody rbA, ref btVector3 pivotInA ) : base( btObjectTypes.POINT2POINT_CONSTRAINT_TYPE, rbA ) { m_pivotInA = ( pivotInA ); rbA.m_worldTransform.Apply( ref pivotInA, out m_pivotInB ); m_flags = ( 0 ); m_useSolveConstraintObsolete = ( false ); }
///override the default global value of a parameter (such as ERP or CFM), optionally provide the axis (0..5). ///If no axis is provided, it uses the default axis for this constraint. public override void setParam( btConstraintParams num, double value, int axis = -1 ) { if( axis != -1 ) { btAssertConstrParams( false ); } else { switch( num ) { case btConstraintParams.BT_CONSTRAINT_ERP: case btConstraintParams.BT_CONSTRAINT_STOP_ERP: m_erp = value; m_flags |= btPoint2PointFlags.BT_P2P_FLAGS_ERP; break; case btConstraintParams.BT_CONSTRAINT_CFM: case btConstraintParams.BT_CONSTRAINT_STOP_CFM: m_cfm = value; m_flags |= btPoint2PointFlags.BT_P2P_FLAGS_CFM; break; default: btAssertConstrParams( false ); break; } } }
/* ///override the default global value of a parameter (such as ERP or CFM), optionally provide the axis (0..5). ///If no axis is provided, it uses the default axis for this constraint. virtual void setParam( int num, double value, int axis = -1 ); ///return the local value of parameter virtual double getParam( int num, int axis = -1 ); */ btPoint2PointConstraint( btRigidBody rbA, btRigidBody rbB, ref btVector3 pivotInA, ref btVector3 pivotInB ) : base( btObjectTypes.POINT2POINT_CONSTRAINT_TYPE, rbA, rbB ) { m_pivotInA = ( pivotInA ); m_pivotInB = ( pivotInB ); m_flags = ( 0 ); m_useSolveConstraintObsolete = ( false ); }