gwnavgeneration/navraster/navrastercell.h Source File
Go to the documentation of this file.
25 return ((0xFF << bitshift) & featureBitField) >> bitshift;
28 inline void AddFeatureMask(
KyUInt32& featureBitField,
CardinalDir dir, NavRasterFeatureMask feature)
30 featureBitField |= (feature << (dir * 8));
38 KyUInt32 GetFeatureMask(
CardinalDir dir)
const {
return Kaim::GetFeatureMask(m_featureBitField, dir); }
43 PixelColor m_floorColor;
59 NavRasterFloorIdx m_neighborFloorIdx[4];
65 SwapEndianness(e,
self.m_altitude);
66 SwapEndianness(e,
self.m_floorColor);
67 SwapEndianness(e,
self.m_connexIdx);
68 SwapEndianness(e,
self.m_connectedComponentIdx);
69 SwapEndianness(e,
self.m_navTagIdx);
70 SwapEndianness(e,
self.m_featureBitField);
71 SwapEndianness(e,
self.m_neighborFloorIdx[0]);
72 SwapEndianness(e,
self.m_neighborFloorIdx[1]);
73 SwapEndianness(e,
self.m_neighborFloorIdx[2]);
74 SwapEndianness(e,
self.m_neighborFloorIdx[3]);
75 SwapEndianness(e,
self.m_propagationId);
84 BlobArray<NavRasterPixel> m_navRasterPoints;
88 SwapEndianness(e,
self.m_navRasterPoints);
94 KY_ROOT_BLOB_CLASS(Generator, NavRasterCell, 1)
97 PixelAndCellGrid m_pixelAndCellGrid;
99 BlobArray<NavRasterColumn> m_columns;
101 inline
void SwapEndianness(Endianness::Target e, NavRasterCell& self)
103 SwapEndianness(e,
self.m_rasterPrecision);
104 SwapEndianness(e,
self.m_pixelAndCellGrid);
105 SwapEndianness(e,
self.m_cellDesc);
106 SwapEndianness(e,
self.m_columns);
109 KY_INLINE NavRasterPixel::NavRasterPixel()
111 , m_floorColor(PixelColor_Unset)
115 , m_featureBitField(0)
119 m_neighborFloorIdx[i] = NavRasterFloorIdx_Invalid;
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
KyUInt32 CardinalDir
Defines a type that refers to one of the cardinal points on the compass:
Definition: cardinaldir.h:15
#define KY_CLASS_WITHOUT_COPY(ClassName)
Define to forbid copy constructor and copy assignment.
Definition: types.h:196
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:27
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
#define KyUInt32MAXVAL
KyUInt32 max value
Definition: types.h:68
float KyFloat32
float
Definition: types.h:32