gwnavgeneration/raster/rastercelltagvolume.h Source File
Go to the documentation of this file.
17 #ifndef GwNavGen_RasterCellTagVolume_H
18 #define GwNavGen_RasterCellTagVolume_H
28 class DynamicRasterCell;
29 class GeneratorSystem;
31 class RasterCellTagVolume
36 RasterCellTagVolume();
38 void Initialize(const TagVolumeBlob& volumeBlob, const DynamicRasterCell* cell);
40 bool IsPixelPosInVolume(const Vec3f& pixelPos) const;
42 KyUInt32 GetNavTagIdx()
const {
return m_tagVolume->m_navTagIdx; }
49 bool TestIntersectionWithTagVolume(
const Vec3f* corners);
50 KY_INLINE
bool IsInsideTagVolume2d(
const Vec2f& position)
const {
return GeometryFunctions::IsInside2d_Polyline(position, m_tagVolume->m_points.GetValues(), m_tagVolume->m_points.GetCount()); }
51 KY_INLINE
bool IsInsideTagVolume3d(
const Vec3f& position)
const {
return (position.z <= m_tagVolume->m_aabb.m_max.z) && (position.z >= m_tagVolume->m_aabb.m_min.z) && IsInsideTagVolume2d(position.Get2d()); }
54 const TagVolumeBlob* m_tagVolume;
55 const DynamicRasterCell* m_cell;
60 bool m_cellFullyContained;
61 bool m_cellFullyOutside;
67 #endif //GwNavGen_RasterCellTagVolume_H
int KyInt32
Type used internally to represent a 32-bit integer.
Definition: types.h:35
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
unsigned int KyUInt32
Type used internally to represent an unsigned 32-bit integer.
Definition: types.h:36
float KyFloat32
Type used internally to represent a 32-bit floating-point number.
Definition: types.h:43