16 #ifndef BT_TYPED_CONSTRAINT_H
17 #define BT_TYPED_CONSTRAINT_H
50 #define btAssertConstrParams(_par) btAssert(_par)
52 #define btAssertConstrParams(_par)
109 int m_numConstraintRows,
nub;
148 int getOverrideNumSolverIterations()
const
150 return m_overrideNumSolverIterations;
155 void setOverrideNumSolverIterations(
int overideNumIterations)
157 m_overrideNumSolverIterations = overideNumIterations;
173 virtual void getInfo1 (btConstraintInfo1* info)=0;
176 virtual void getInfo2 (btConstraintInfo2* info)=0;
179 void internalSetAppliedImpulse(
btScalar appliedImpulse)
181 m_appliedImpulse = appliedImpulse;
186 return m_appliedImpulse;
192 return m_breakingImpulseThreshold;
195 void setBreakingImpulseThreshold(
btScalar threshold)
197 m_breakingImpulseThreshold = threshold;
200 bool isEnabled()
const
205 void setEnabled(
bool enabled)
233 int getUserConstraintType()
const
235 return m_userConstraintType ;
238 void setUserConstraintType(
int userConstraintType)
240 m_userConstraintType = userConstraintType;
243 void setUserConstraintId(
int uid)
245 m_userConstraintId = uid;
248 int getUserConstraintId()
const
250 return m_userConstraintId;
253 void setUserConstraintPtr(
void* ptr)
255 m_userConstraintPtr = ptr;
258 void* getUserConstraintPtr()
260 return m_userConstraintPtr;
265 m_jointFeedback = jointFeedback;
270 return m_jointFeedback;
275 return m_jointFeedback;
281 return m_userConstraintId;
284 bool needsFeedback()
const
286 return m_needsFeedback;
291 void enableFeedback(
bool needsFeedback)
293 m_needsFeedback = needsFeedback;
301 return m_appliedImpulse;
311 m_dbgDrawSize = dbgDrawSize;
315 return m_dbgDrawSize;
320 virtual void setParam(
int num,
btScalar value,
int axis = -1) = 0;
323 virtual btScalar getParam(
int num,
int axis = -1)
const = 0;
325 virtual int calculateSerializeBufferSize()
const;
328 virtual const char* serialize(
void* dataBuffer,
btSerializer* serializer)
const;
336 if(angleLowerLimitInRadians >= angleUpperLimitInRadians)
338 return angleInRadians;
340 else if(angleInRadians < angleLowerLimitInRadians)
344 return (diffLo < diffHi) ? angleInRadians : (angleInRadians +
SIMD_2_PI);
346 else if(angleInRadians > angleUpperLimitInRadians)
350 return (diffLo < diffHi) ? (angleInRadians -
SIMD_2_PI) : angleInRadians;
354 return angleInRadians;
482 #endif //BT_TYPED_CONSTRAINT_H