36 Vec3f m_shapePosition;
41 SwapEndianness(e,
self.m_visualDebugId);
42 SwapEndianness(e,
self.m_shapePosition);
46 class LodMaxBlobBuilder :
public BaseBlobBuilder<LodMaxBlob>
49 LodMaxBlobBuilder(
KyUInt32 visualDebugId,
const Vec3f& shapePosition)
50 : m_visualDebugId(visualDebugId), m_shapePosition(shapePosition) {}
52 virtual void DoBuild()
59 Vec3f m_shapePosition;
63 class LodMaxHintDisplayListBuilder
66 static void DisplayLodMaxHint(DisplayList* displayList,
const LodMaxBlob* lodMaxBlob)
68 if (lodMaxBlob ==
nullptr)
74 ShapeColor shapeColor(Color::Yellow, Color::Fade(Color::Yellow, 0.8f));
78 Vec3f horizontalBoxMin = lodMaxBlob->m_shapePosition;
79 horizontalBoxMin.x -= radius;
80 horizontalBoxMin.y -= radius_div_3;
81 horizontalBoxMin.z -= radius_div_3;
83 Vec3f horizontalBoxMax = lodMaxBlob->m_shapePosition;
84 horizontalBoxMax.x += radius;
85 horizontalBoxMax.y += radius_div_3;
86 horizontalBoxMax.z += radius_div_3;
88 displayList->PushBox(Box3f(horizontalBoxMin, horizontalBoxMax), shapeColor);
93 Vec3f verticalBoxMin = lodMaxBlob->m_shapePosition;
94 verticalBoxMin.x -= radius_div_3;
95 verticalBoxMin.y -= radius_div_3;
96 verticalBoxMin.z -= radius;
98 Vec3f verticalBoxMax = lodMaxBlob->m_shapePosition;
99 verticalBoxMax.x += radius_div_3;
100 verticalBoxMax.y += radius_div_3;
101 verticalBoxMax.z += radius;
103 displayList->PushBox(Box3f(verticalBoxMin, verticalBoxMax), shapeColor);
#define BLOB_SET(blob, value)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:130
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:27
Send this blob to display a shape saying that the visual element with id m_visualDebugId is at LOD ma...
Definition: lodmaxblob.h:28
LodMaxBlob * m_blob
The blob maintained by this builder. Only modify using the macros listed under DoBuild().
Definition: baseblobbuilder.h:113
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
#define KyUInt32MAXVAL
KyUInt32 max value
Definition: types.h:68
float KyFloat32
float
Definition: types.h:32
3d vector using 32bits floating points.
Definition: vec3f.h:16