8 #ifndef GwNavGen_ClientInputTagVolume_H
9 #define GwNavGen_ClientInputTagVolume_H
19 class ClientInputTagVolumeBlob;
21 class TagVolumeInitConfig;
27 class ClientInputTagVolume
58 const DynamicNavTag& navTag);
63 const DynamicNavTag& navTag,
66 void InitFromBlob(
const ClientInputTagVolumeBlob& tagVolumeBlob);
78 DynamicNavTag m_navTag;
84 class ClientInputTagVolumeBlob
87 KY_ROOT_BLOB_CLASS(
Generator, ClientInputTagVolumeBlob, 0)
89 ClientInputTagVolumeBlob() : m_index(0), m_navTagIdx(
KyUInt32MAXVAL) {}
91 bool operator==(
const ClientInputTagVolumeBlob& other)
const
93 if (m_polyline.GetCount() != other.m_polyline.GetCount())
98 const Vec3f* thisPoints = m_polyline.GetValues();
99 const Vec3f* otherPoints = other.m_polyline.GetValues();
100 for (UPInt i = 0; i < m_polyline.GetCount(); ++i)
102 if (thisPoints[i] != otherPoints[i])
107 return m_navTag == other.m_navTag && m_altMax == other.m_altMax && m_altMin == other.m_altMin;
109 bool operator!=(
const ClientInputTagVolumeBlob& other)
const {
return !operator==(other); }
121 SwapEndianness(e,
self.m_polyline);
122 SwapEndianness(e,
self.m_altMin);
123 SwapEndianness(e,
self.m_altMax);
124 SwapEndianness(e,
self.m_navTag);
125 SwapEndianness(e,
self.m_index);
126 SwapEndianness(e,
self.m_navTagIdx);
129 class ClientInputTagVolumeBlobBuilder :
public BaseBlobBuilder<ClientInputTagVolumeBlob>
132 ClientInputTagVolumeBlobBuilder(
const ClientInputTagVolume& tagVolume) : m_tagVolume(&tagVolume) {}
139 m_blob->m_altMin = m_tagVolume->m_altMin;
140 m_blob->m_altMax = m_tagVolume->m_altMax;
147 const ClientInputTagVolume* m_tagVolume;
Class used to provide TagVolume initialization parameters.
Definition: tagvolume.h:36
KyInt32 KyResult
Defines a type that can be returned by methods or functions in the Gameware Navigation SDK to indicat...
Definition: types.h:254
#define BLOB_BUILD(blob, builder)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:189
This class maintains the mapping between the system of coordinate axes used internally within the gam...
Definition: coordsystem.h:144
The Generator is the principal class in the NavData generation system.
Definition: generator.h:61
General purpose array for movable objects that require explicit construction/destruction.
Definition: kyarray.h:118
Represents a single RGBA color.
Definition: visualcolor.h:19
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:387
This class represents runtime-defined volumes with customized NavTag.
Definition: tagvolume.h:108
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:35
A BlobArray an array that is compatible with the blob serialization framework.
Definition: blobarray.h:28
ClientInputTagVolumeBlob * m_blob
The blob maintained by this builder. Only modify using the macros listed under DoBuild().
Definition: baseblobbuilder.h:117
Definition: gamekitcrowddispersion.h:20
bool IsWriteMode()
Indicates whether the builder is operating in COUNT mode or in WRITE mode.
Definition: baseblobbuilder.h:47
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
#define BLOB_ARRAY_COPY_2(blobArray, ky_array)
same as BLOB_ARRAY_COPY but uses Kaim::Array as input
Definition: baseblobbuilder.h:165
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