8 #ifndef Navigation_LodMaxBlob_H
9 #define Navigation_LodMaxBlob_H
37 Vec3f m_shapePosition;
42 SwapEndianness(e,
self.m_visualDebugId);
43 SwapEndianness(e,
self.m_shapePosition);
47 class LodMaxBlobBuilder :
public BaseBlobBuilder<LodMaxBlob>
50 LodMaxBlobBuilder(
KyUInt32 visualDebugId,
const Vec3f& shapePosition)
51 : m_visualDebugId(visualDebugId), m_shapePosition(shapePosition) {}
53 virtual void DoBuild()
60 Vec3f m_shapePosition;
64 class LodMaxHintDisplayListBuilder
67 static void DisplayLodMaxHint(ScopedDisplayList* displayList,
const LodMaxBlob* lodMaxBlob)
77 const VisualColor fadeColor(
78 KyUInt8(color.m_r * fadeFactor),
79 KyUInt8(color.m_g * fadeFactor),
80 KyUInt8(color.m_b * fadeFactor));
81 VisualShapeColor shapeColor(color, fadeColor);
85 Vec3f horizontalBoxMin = lodMaxBlob->m_shapePosition;
86 horizontalBoxMin.x -= radius;
87 horizontalBoxMin.y -= radius_div_3;
88 horizontalBoxMin.z -= radius_div_3;
90 Vec3f horizontalBoxMax = lodMaxBlob->m_shapePosition;
91 horizontalBoxMax.x += radius;
92 horizontalBoxMax.y += radius_div_3;
93 horizontalBoxMax.z += radius_div_3;
95 displayList->PushBox(Box3f(horizontalBoxMin, horizontalBoxMax), shapeColor);
100 Vec3f verticalBoxMin = lodMaxBlob->m_shapePosition;
101 verticalBoxMin.x -= radius_div_3;
102 verticalBoxMin.y -= radius_div_3;
103 verticalBoxMin.z -= radius;
105 Vec3f verticalBoxMax = lodMaxBlob->m_shapePosition;
106 verticalBoxMax.x += radius_div_3;
107 verticalBoxMax.y += radius_div_3;
108 verticalBoxMax.z += radius;
110 displayList->PushBox(Box3f(verticalBoxMin, verticalBoxMax), shapeColor);
#define BLOB_SET(blob, value)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:136
#define KY_NULL
Null value.
Definition: types.h:247
static const VisualColor Gold
Represents the color with RGBA values (255, 215, 0, 255).
Definition: visualcolor.h:144
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:35
Send this blob to display a shape saying that the visual element with id m_visualDebugId is at LOD ma...
Definition: lodmaxblob.h:30
unsigned char KyUInt8
Type used internally to represent an unsigned 8-bit integer.
Definition: types.h:41
LodMaxBlob * m_blob
The blob maintained by this builder. Only modify using the macros listed under DoBuild().
Definition: baseblobbuilder.h:117
Definition: gamekitcrowddispersion.h:20
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36
#define KyUInt32MAXVAL
The maximum value that can be stored in the KyUInt32 variable type.
Definition: types.h:226
float KyFloat32
Type used internally to represent a 32-bit floating-point number.
Definition: types.h:43
This class defines a three-dimensional vector whose coordinates are stored using floating-point numbe...
Definition: vec3f.h:23