16 #ifndef BT_TYPED_CONSTRAINT_H
17 #define BT_TYPED_CONSTRAINT_H
24 #ifdef BT_USE_DOUBLE_PRECISION
25 #define btTypedConstraintData2 btTypedConstraintDoubleData
26 #define btTypedConstraintDataName "btTypedConstraintDoubleData"
28 #define btTypedConstraintData2 btTypedConstraintFloatData
29 #define btTypedConstraintDataName "btTypedConstraintFloatData"
30 #endif //BT_USE_DOUBLE_PRECISION
60 #define btAssertConstrParams(_par) btAssert(_par)
62 #define btAssertConstrParams(_par)
119 int m_numConstraintRows,
nub;
158 int getOverrideNumSolverIterations()
const
160 return m_overrideNumSolverIterations;
165 void setOverrideNumSolverIterations(
int overideNumIterations)
167 m_overrideNumSolverIterations = overideNumIterations;
183 virtual void getInfo1 (btConstraintInfo1* info)=0;
186 virtual void getInfo2 (btConstraintInfo2* info)=0;
189 void internalSetAppliedImpulse(
btScalar appliedImpulse)
191 m_appliedImpulse = appliedImpulse;
196 return m_appliedImpulse;
202 return m_breakingImpulseThreshold;
205 void setBreakingImpulseThreshold(
btScalar threshold)
207 m_breakingImpulseThreshold = threshold;
210 bool isEnabled()
const
215 void setEnabled(
bool enabled)
243 int getUserConstraintType()
const
245 return m_userConstraintType ;
248 void setUserConstraintType(
int userConstraintType)
250 m_userConstraintType = userConstraintType;
253 void setUserConstraintId(
int uid)
255 m_userConstraintId = uid;
258 int getUserConstraintId()
const
260 return m_userConstraintId;
263 void setUserConstraintPtr(
void* ptr)
265 m_userConstraintPtr = ptr;
268 void* getUserConstraintPtr()
270 return m_userConstraintPtr;
275 m_jointFeedback = jointFeedback;
280 return m_jointFeedback;
285 return m_jointFeedback;
291 return m_userConstraintId;
294 bool needsFeedback()
const
296 return m_needsFeedback;
301 void enableFeedback(
bool needsFeedback)
303 m_needsFeedback = needsFeedback;
311 return m_appliedImpulse;
321 m_dbgDrawSize = dbgDrawSize;
325 return m_dbgDrawSize;
330 virtual void setParam(
int num,
btScalar value,
int axis = -1) = 0;
333 virtual btScalar getParam(
int num,
int axis = -1)
const = 0;
335 virtual int calculateSerializeBufferSize()
const;
338 virtual const char* serialize(
void* dataBuffer,
btSerializer* serializer)
const;
346 if(angleLowerLimitInRadians >= angleUpperLimitInRadians)
348 return angleInRadians;
350 else if(angleInRadians < angleLowerLimitInRadians)
354 return (diffLo < diffHi) ? angleInRadians : (angleInRadians +
SIMD_2_PI);
356 else if(angleInRadians > angleUpperLimitInRadians)
360 return (diffLo < diffHi) ? (angleInRadians -
SIMD_2_PI) : angleInRadians;
364 return angleInRadians;
393 #define BT_BACKWARDS_COMPATIBLE_SERIALIZATION
394 #ifdef BT_BACKWARDS_COMPATIBLE_SERIALIZATION
417 #endif //BACKWARDS_COMPATIBLE
544 #endif //BT_TYPED_CONSTRAINT_H