Plasma Engine  2.0
Loading...
Searching...
No Matches
JoltShapeComponent.h
1#pragma once
2
3#include <Core/Interfaces/PhysicsWorldModule.h>
4#include <Core/World/Component.h>
5#include <JoltPlugin/JoltPluginDLL.h>
6
10class plJoltMaterial;
11
12namespace JPH
13{
14 class Shape;
15}
16
18{
19 JPH::Shape* m_pShape = nullptr;
21};
22
30class PL_JOLTPLUGIN_DLL plJoltShapeComponent : public plComponent
31{
32 PL_DECLARE_ABSTRACT_COMPONENT_TYPE(plJoltShapeComponent, plComponent);
33
34
36 // plComponent
37
38protected:
39 virtual void Initialize() override;
40 virtual void OnDeactivated() override;
41
42
44 // plJoltShapeComponent
45
46public:
49
53 virtual void ExtractGeometry(plMsgExtractGeometry& ref_msg) const {}
54
55protected:
56 friend class plJoltActorComponent;
57 virtual void CreateShapes(plDynamicArray<plJoltSubShape>& out_Shapes, const plTransform& rootTransform, float fDensity, const plJoltMaterial* pMaterial) = 0;
58
59 const plJoltUserData* GetUserData();
60 plUInt32 GetUserDataIndex();
61
62 plUInt32 m_uiUserDataIndex = plInvalidIndex;
63};
Base class of all component types.
Definition Component.h:25
virtual void OnDeactivated()
This method is called when the component gets deactivated.
Definition Component.cpp:142
virtual void Initialize()
Can be overridden for basic initialization that depends on a valid hierarchy and position.
Definition Component.cpp:131
Definition DynamicArray.h:81
Base class for all Jolt actors.
Definition JoltActorComponent.h:23
Definition JoltMaterial.h:7
Base class for all Jolt physics shapes.
Definition JoltShapeComponent.h:31
virtual void ExtractGeometry(plMsgExtractGeometry &ref_msg) const
If overridden, a triangular representation of the physics shape is added to the geometry object.
Definition JoltShapeComponent.h:53
Definition JoltUserData.h:18
static plTransformTemplate< float > MakeIdentity()
Definition Transform_inl.h:25
Definition JoltShapeComponent.h:18
Sent by plWorldGeoExtractionUtil to gather geometry information about objects in a world.
Definition WorldGeoExtractionUtil.h:56
Definition UpdateLocalBoundsMessage.h:9