29 #ifndef NVBLASTEXTPXFAMILYIMPL_H 30 #define NVBLASTEXTPXFAMILYIMPL_H 35 #include "PxTransform.h" 39 using namespace physx;
48 class ExtPxManagerImpl;
50 struct PxActorCreateInfo;
66 virtual void release()
override;
72 virtual bool spawn(
const physx::PxTransform& pose,
const physx::PxVec3& scale,
const ExtPxSpawnSettings& settings)
override;
73 virtual bool despawn()
override;
78 return m_actors.size();
84 for (
auto it = const_cast<ExtPxFamilyImpl*>(
this)->m_actors.getIterator(); !it.done() && index < bufferSize; ++it)
86 buffer[index++] = *it;
98 return m_subchunkShapes.begin();
108 m_spawnSettings.material = &material;
113 m_pxShapeDescTemplate = pxShapeDesc;
118 return m_pxShapeDescTemplate;
123 m_pxActorDescTemplate = pxActorDesc;
128 return m_pxActorDescTemplate;
138 m_material = material;
143 m_listeners.pushBack(&listener);
148 m_listeners.findAndReplaceWithLast(&listener);
151 virtual void postSplitUpdate()
override;
155 virtual void receive(
const TkEvent* events, uint32_t eventCount)
override;
161 void dispatchActorDestroyed(
ExtPxActor& actor);
168 void destroyActors(
ExtPxActor** actors, uint32_t count);
180 PxTransform m_initialTransform;
181 PxVec3 m_initialScale;
197 #endif // ifndef NVBLASTEXTPXFAMILYIMPL_H Definition: NvBlastExtApexSharedParts.h:34
Definition: NvBlastTkFamily.h:55
virtual void setMaterial(const NvBlastExtMaterial *material) override
Definition: NvBlastExtPxFamilyImpl.h:136
Definition: NvBlastArray.h:46
virtual void unsubscribe(ExtPxListener &listener) override
Definition: NvBlastExtPxFamilyImpl.h:146
friend ExtPxActorImpl
Definition: NvBlastExtPxFamilyImpl.h:58
physx::shdfnd::InlineArray< T, N, Allocator > type
Definition: NvBlastArray.h:60
virtual void setPxShapeDescTemplate(const ExtPxShapeDescTemplate *pxShapeDesc) override
Definition: NvBlastExtPxFamilyImpl.h:111
virtual ExtPxAsset & getPxAsset() const override
Definition: NvBlastExtPxFamilyImpl.h:101
Definition: NvBlastTkEvent.h:65
physx::shdfnd::HashSet< Key, HashFn, Allocator > type
Definition: NvBlastHashSet.h:47
Definition: NvBlastExtPxManagerImpl.h:52
physx::shdfnd::Array< T, Allocator > type
Definition: NvBlastArray.h:48
Definition: NvBlastExtPxFamily.h:66
virtual void setMaterial(PxMaterial &material) override
Definition: NvBlastExtPxFamilyImpl.h:106
Definition: NvBlastTkActor.h:57
virtual const ExtPxActorDescTemplate * getPxActorDesc() const override
Definition: NvBlastExtPxFamilyImpl.h:126
virtual const NvBlastExtMaterial * getMaterial() const override
Definition: NvBlastExtPxFamilyImpl.h:131
Definition: NvBlastExtPxFamily.h:81
Definition: NvBlastExtPxAsset.h:123
virtual const ExtPxShapeDescTemplate * getPxShapeDescTemplate() const override
Definition: NvBlastExtPxFamilyImpl.h:116
Definition: NvBlastExtPxFamily.h:92
virtual void setPxActorDesc(const ExtPxActorDescTemplate *pxActorDesc) override
Definition: NvBlastExtPxFamilyImpl.h:121
Definition: NvBlastTkEvent.h:168
Definition: NvBlastExtPxListener.h:48
Definition: NvBlastExtPxActor.h:57
virtual void subscribe(ExtPxListener &listener) override
Definition: NvBlastExtPxFamilyImpl.h:141
Definition: NvBlastExtPxFamily.h:105
Definition: NvBlastExtPxActorImpl.h:48
friend ExtPxManagerImpl
Definition: NvBlastExtPxFamilyImpl.h:59
virtual uint32_t getActors(ExtPxActor **buffer, uint32_t bufferSize) const override
Definition: NvBlastExtPxFamilyImpl.h:81
Definition: NvBlastExtPxFamilyImpl.h:53
virtual const physx::PxShape *const * getSubchunkShapes() const override
Definition: NvBlastExtPxFamilyImpl.h:96
virtual uint32_t getActorCount() const override
Definition: NvBlastExtPxFamilyImpl.h:76
#define NV_NOCOPY(Class)
Definition: NvPreprocessor.h:527
virtual TkFamily & getTkFamily() const override
Definition: NvBlastExtPxFamilyImpl.h:91
Definition: NvBlastArray.h:37
Definition: NvBlastExtDamageShaders.h:94