Plasma Engine  2.0
Loading...
Searching...
No Matches
JoltCollisionMeshAssetObjects.h
1#pragma once
2
3#include <EditorFramework/Assets/SimpleAssetDocument.h>
4#include <ToolsFoundation/Object/DocumentObjectBase.h>
5
7
9{
10 plString m_sLabel;
11 plString m_sResource;
12 bool m_bExclude = false;
13};
14
16{
17 using StorageType = plInt8;
18
19 enum Enum
20 {
21 ConvexHull,
22 TriangleMesh,
23 Cylinder,
24
25 Default = TriangleMesh
26 };
27};
28
29PL_DECLARE_REFLECTABLE_TYPE(PL_NO_LINKAGE, plJoltCollisionMeshType);
30
32{
33 using StorageType = plInt8;
34
35 enum Enum
36 {
37 ConvexHull,
38 Cylinder,
39 ConvexDecomposition,
40
41 Default = ConvexHull
42 };
43};
44
45PL_DECLARE_REFLECTABLE_TYPE(PL_NO_LINKAGE, plJoltConvexCollisionMeshType);
46
47PL_DECLARE_REFLECTABLE_TYPE(PL_NO_LINKAGE, plJoltSurfaceResourceSlot);
48
50{
51 PL_ADD_DYNAMIC_REFLECTION(plJoltCollisionMeshAssetProperties, plReflectedClass);
52
53public:
56
57 static void PropertyMetaStateEventHandler(plPropertyMetaStateEvent& e);
58
59 plString m_sMeshFile;
60 float m_fUniformScaling = 1.0f;
61 plString m_sConvexMeshSurface;
62
63 plEnum<plBasisAxis> m_RightDir = plBasisAxis::PositiveX;
64 plEnum<plBasisAxis> m_UpDir = plBasisAxis::PositiveY;
65 bool m_bFlipForwardDir = false;
66 bool m_bIsConvexMesh = false;
68 plUInt16 m_uiMaxConvexPieces = 2;
69
70 // Cylinder
71 float m_fRadius = 0.5f;
72 float m_fRadius2 = 0.5f;
73 float m_fHeight = 1.0f;
74 plUInt8 m_uiDetail = 1;
75
77
78 plUInt32 m_uiVertices = 0;
79 plUInt32 m_uiTriangles = 0;
80};
A hybrid array uses in-place storage to handle the first few elements without any allocation....
Definition HybridArray.h:12
Definition JoltCollisionMeshAssetObjects.h:50
All classes that should be dynamically reflectable, need to be derived from this base class.
Definition DynamicRTTI.h:86
A custom enum implementation that allows to define the underlying storage type to control its memory ...
Definition Enum.h:37
Definition JoltCollisionMeshAssetObjects.h:16
Definition JoltCollisionMeshAssetObjects.h:32
Definition JoltCollisionMeshAssetObjects.h:9
Event that is broadcast whenever information about how to present properties is required.
Definition PropertyMetaState.h:35