27#ifndef SC_SHAPESIM_BASE_H
28#define SC_SHAPESIM_BASE_H
30#include "ScElementSim.h"
31#include "ScShapeCore.h"
32#include "ScRigidSim.h"
33#include "PxsShapeSim.h"
65 mSqBoundsId (PX_INVALID_U32),
66 mPrunerIndex(PX_INVALID_U32)
79 PX_FORCE_INLINE PxReal getRestOffset()
const {
return getCore().getRestOffset(); }
80 PX_FORCE_INLINE PxReal getTorsionalPatchRadius()
const {
return getCore().getTorsionalPatchRadius(); }
81 PX_FORCE_INLINE PxReal getMinTorsionalPatchRadius()
const {
return getCore().getMinTorsionalPatchRadius(); }
83 PX_FORCE_INLINE PxReal getContactOffset()
const {
return getCore().getContactOffset(); }
85 PX_FORCE_INLINE PxU32 getTransformCacheID()
const {
return getElementID(); }
91 PX_FORCE_INLINE void setSqPrunerIndex(PxU32 index) { mPrunerIndex = index; }
95 void onFilterDataChange();
96 void onRestOffsetChange();
98 void onResetFiltering();
99 void onVolumeOrTransformChange();
100 void onMaterialChange();
101 void onContactOffsetChange();
102 void markBoundsForUpdate();
103 void reinsertBroadPhase();
104 void removeFromBroadPhase(
bool wakeOnLostTouch);
112 void createSqBounds();
113 void destroySqBounds();
115 void updateCached(PxU32 transformCacheFlags,
PxBitMapPinned* shapeChangedMap);
117 void updateBPGroup();
121 PX_FORCE_INLINE bool internalRemoveFromBroadPhase(
bool wakeOnLostTouch =
true);
122 void initSubsystemsDependingOnElementID();
139 mLLShape.mShapeCore =
const_cast<PxsShapeCore*
>(&core->getCore());
143 return Sc::ShapeCore::getCore(*mLLShape.mShapeCore);
Definition BpAABBManagerBase.h:101
Abstract class for collision shapes.
Definition PxShape.h:146
Definition ScActorSim.h:83
Definition ScBodySim.h:60
Definition ScElementSim.h:50
Definition ScRigidSim.h:42
Definition ScShapeCore.h:46
Definition ScShapeSimBase.h:54
#define PX_RESTRICT
Definition PxPreprocessor.h:355
#define PX_FORCE_INLINE
Definition PxPreprocessor.h:335
#define PX_COMPILE_TIME_ASSERT(exp)
Definition PxPreprocessor.h:428
#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
PxFlags< PxShapeFlag::Enum, PxU8 > PxShapeFlags
collection of set bits defined in PxShapeFlag.
Definition PxShape.h:126
Enum
Definition PxGeometry.h:52
@ eSIMULATION_SHAPE
The shape will partake in collision in the physical simulation.
Definition PxShape.h:83
@ eTRIGGER_SHAPE
The shape is a trigger which can send reports whenever other shapes enter/leave its volume.
Definition PxShape.h:110
Definition PxvDynamics.h:48
Definition PxvGeometry.h:221
Definition PxsShapeSim.h:40