89 enum ActivityChangeInfoFlag
91 AS_PART_OF_CREATION = (1 << 0),
92 AS_PART_OF_ISLAND_GEN = (1 << 1)
99 BF_HAS_STATIC_TOUCH = 1 << 1,
100 BF_KINEMATIC_MOVED = 1 << 2,
102 BF_ON_DEATHROW = 1 << 3,
104 BF_IS_IN_SLEEP_LIST = 1 << 4,
105 BF_IS_IN_WAKEUP_LIST = 1 << 5,
106 BF_SLEEP_NOTIFY = 1 << 6,
107 BF_WAKEUP_NOTIFY = 1 << 7,
109 BF_HAS_CONSTRAINTS = 1 << 8,
110 BF_KINEMATIC_SETTLING = 1 << 9,
111 BF_KINEMATIC_SETTLING_2 = 1 << 10,
112 BF_KINEMATIC_MOVE_FLAGS = BF_KINEMATIC_MOVED | BF_KINEMATIC_SETTLING | BF_KINEMATIC_SETTLING_2,
113 BF_KINEMATIC_SURFACE_VELOCITY = 1 << 11,
114 BF_IS_COMPOUND_RIGID = 1 << 12,
126 PX_FORCE_INLINE PxU32 getActorInteractionCount()
const {
return mInteractions.size(); }
143 virtual void postActorFlagChange(PxU32, PxU32) {}
145 void setActorsInteractionsDirty(InteractionDirtyFlag::Enum flag,
const ActorSim* other, PxU8 interactionFlag);
149 PX_FORCE_INLINE bool isActive()
const {
return (mActiveListIndex < SC_NOT_IN_ACTIVE_LIST_INDEX); }
150 void setActive(
bool active, PxU32 infoFlag = 0);
152 PX_FORCE_INLINE PxU32 getActiveListIndex()
const {
return mActiveListIndex; }
153 PX_FORCE_INLINE void setActiveListIndex(PxU32 index) { mActiveListIndex = index; }
155 PX_FORCE_INLINE PxU32 getActiveCompoundListIndex()
const {
return mActiveCompoundListIndex; }
156 PX_FORCE_INLINE void setActiveCompoundListIndex(PxU32 index) { mActiveCompoundListIndex = index; }
162 PX_FORCE_INLINE PxU16 getInternalFlag()
const {
return mInternalFlags; }
163 PX_FORCE_INLINE PxU16 readInternalFlag(InternalFlags flag)
const {
return PxU16(mInternalFlags & flag); }
164 PX_FORCE_INLINE void raiseInternalFlag(InternalFlags flag) { mInternalFlags |= flag; }
165 PX_FORCE_INLINE void clearInternalFlag(InternalFlags flag) { mInternalFlags &= ~flag; }
167 virtual PxActor* getPxActor()
const = 0;
171 virtual void registerCountedInteraction() {}
172 virtual void unregisterCountedInteraction() {}
173 virtual PxU32 getNumCountedInteractions()
const {
return 0; }
175 virtual void activate() {}
176 virtual void deactivate() {}
177 virtual void internalWakeUp(PxReal wakeCounterValue = ScInternalWakeCounterResetValue) { PX_UNUSED(wakeCounterValue); }
181 void registerInteractionInActor(
Interaction* interaction);
182 void unregisterInteractionFromActor(
Interaction* interaction);
184 void reallocInteractions(
Sc::Interaction**& mem, PxU32& capacity, PxU32 size, PxU32 requiredMinCapacity);
189 static const PxU32 INLINE_INTERACTION_CAPACITY = 4;
190 Interaction* mInlineInteractionMem[INLINE_INTERACTION_CAPACITY];
202 PxU32 mActiveListIndex;
203 PxU32 mActiveCompoundListIndex;
212 PxU16 mInternalFlags;
Sorts an array of objects in ascending order, assuming that the predicate implements the < operator:
Definition PxBoxController.h:39