29#ifndef PX_JOINT_LIMIT_H
30#define PX_JOINT_LIMIT_H
35#include "foundation/PxMath.h"
36#include "common/PxTolerancesScale.h"
37#include "extensions/PxJoint.h"
38#include "PxPhysXConfig.h"
159 ~PxJointLimitParameters() {}
406 PxJointLimitCone(PxReal yLimitAngle, PxReal zLimitAngle, PxReal contactDist_deprecated = -1.0f) :
505 PxJointLimitPyramid(PxReal yLimitAngleMin, PxReal yLimitAngleMax, PxReal zLimitAngleMin, PxReal zLimitAngleMax, PxReal contactDist_deprecated = -1.0f) :
511 if(contactDist_deprecated == -1.0f)
513 const PxReal contactDistY =
PxMin(0.1f, 0.49f*(yLimitAngleMax - yLimitAngleMin));
514 const PxReal contactDistZ =
PxMin(0.1f, 0.49f*(zLimitAngleMax - zLimitAngleMin));
Definition PxJointLimit.h:297
PxJointAngularLimitPair(PxReal lowerLimit, PxReal upperLimit, const PxSpring &spring)
construct an angular soft limit pair.
Definition PxJointLimit.h:344
PX_INLINE bool isValid() const
Returns true if the limit is valid.
Definition PxJointLimit.h:357
PxReal upper
the range of the limit. The upper limit must be no lower than the lower limit.
Definition PxJointLimit.h:312
PxJointAngularLimitPair(PxReal lowerLimit, PxReal upperLimit, PxReal contactDist_deprecated=-1.0f)
construct an angular hard limit pair.
Definition PxJointLimit.h:325
Describes an elliptical conical joint limit. Note that very small or highly elliptical limit cones ma...
Definition PxJointLimit.h:371
PxJointLimitCone(PxReal yLimitAngle, PxReal zLimitAngle, PxReal contactDist_deprecated=-1.0f)
Construct a cone hard limit.
Definition PxJointLimit.h:406
PX_INLINE bool isValid() const
Returns true if the limit is valid.
Definition PxJointLimit.h:436
PxJointLimitCone(PxReal yLimitAngle, PxReal zLimitAngle, const PxSpring &spring)
Construct a cone soft limit.
Definition PxJointLimit.h:423
PxReal yAngle
the maximum angle from the Y axis of the constraint frame.
Definition PxJointLimit.h:386
PxReal zAngle
the maximum angle from the Z-axis of the constraint frame.
Definition PxJointLimit.h:395
Describes the parameters for a joint limit.
Definition PxJointLimit.h:52
PxReal bounceThreshold
Definition PxJointLimit.h:84
PX_INLINE bool isValid() const
Returns true if the current settings are valid.
Definition PxJointLimit.h:144
PxReal restitution
Controls the amount of bounce when the joint hits a limit.
Definition PxJointLimit.h:79
PxReal damping
if spring is greater than zero, this is the damping of the limit spring
Definition PxJointLimit.h:100
PxReal stiffness
if greater than zero, the limit is soft, i.e. a spring pulls the joint back to the limit
Definition PxJointLimit.h:92
PxReal contactDistance_deprecated
The distance inside the limit value at which the limit will be considered to be active by the solver....
Definition PxJointLimit.h:119
Describes a pyramidal joint limit.
Definition PxJointLimit.h:450
PxReal zAngleMax
the maximum angle from the Z-axis of the constraint frame.
Definition PxJointLimit.h:492
PX_INLINE bool isValid() const
Returns true if the limit is valid.
Definition PxJointLimit.h:551
PxReal yAngleMax
the maximum angle from the Y axis of the constraint frame.
Definition PxJointLimit.h:474
PxJointLimitPyramid(PxReal yLimitAngleMin, PxReal yLimitAngleMax, PxReal zLimitAngleMin, PxReal zLimitAngleMax, PxReal contactDist_deprecated=-1.0f)
Construct a pyramid hard limit.
Definition PxJointLimit.h:505
PxReal zAngleMin
the minimum angle from the Z-axis of the constraint frame.
Definition PxJointLimit.h:483
PxReal yAngleMin
the minimum angle from the Y axis of the constraint frame.
Definition PxJointLimit.h:465
PxJointLimitPyramid(PxReal yLimitAngleMin, PxReal yLimitAngleMax, PxReal zLimitAngleMin, PxReal zLimitAngleMax, const PxSpring &spring)
Construct a pyramid soft limit.
Definition PxJointLimit.h:536
Describes a two-sided limit.
Definition PxJointLimit.h:230
PxReal upper
the range of the limit. The upper limit must be no lower than the lower limit, and if they are equal ...
Definition PxJointLimit.h:245
PxJointLinearLimitPair(PxReal lowerLimit, PxReal upperLimit, const PxSpring &spring)
construct a linear soft limit pair
Definition PxJointLimit.h:274
PxJointLinearLimitPair(const PxTolerancesScale &scale, PxReal lowerLimit=-PX_MAX_F32/3.0f, PxReal upperLimit=PX_MAX_F32/3.0f, PxReal contactDist_deprecated=-1.0f)
Construct a linear hard limit pair. The lower distance value must be less than the upper distance val...
Definition PxJointLimit.h:257
PX_INLINE bool isValid() const
Returns true if the limit is valid.
Definition PxJointLimit.h:287
Describes a one-sided linear limit.
Definition PxJointLimit.h:167
PxJointLinearLimit(const PxTolerancesScale &scale, PxReal extent, PxReal contactDist_deprecated=-1.0f)
construct a linear hard limit
Definition PxJointLimit.h:192
PX_INLINE bool isValid() const
Returns true if the limit is valid.
Definition PxJointLimit.h:217
PxReal value
the extent of the limit.
Definition PxJointLimit.h:181
PxJointLinearLimit(PxReal extent, const PxSpring &spring)
construct a linear soft limit
Definition PxJointLimit.h:206
Class to define the scale at which simulation runs. Most simulation tolerances are calculated in term...
Definition PxTolerancesScale.h:53
#define PX_INLINE
Definition PxPreprocessor.h:320
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39
PX_CUDA_CALLABLE PX_FORCE_INLINE bool PxIsFinite(float f)
returns true if the passed number is a finite floating point number as opposed to INF,...
Definition PxMath.h:326
PX_CUDA_CALLABLE PX_FORCE_INLINE T PxMin(T a, T b)
The return value is the lesser of the two specified values.
Definition PxMath.h:88