54#ifndef DVD_NAVIGATION_MESH_LOADER_H_
55#define DVD_NAVIGATION_MESH_LOADER_H_
110namespace NavigationMeshLoader {
128 U32 triangleIndexOffset = 0,
131[[nodiscard]]
char*
ParseRow(
char* buf,
const char*
const bufEnd,
char* row,
I32 len)
noexcept;
const F32 * getVerts() const noexcept
U32 getVertCount() const noexcept
U32 getTriCount() const noexcept
vector< SamplePolyAreas > & getAreaTypes() noexcept
PROPERTY_RW(Str< 256 >, name, "")
vector< SamplePolyAreas > _triangleAreaType
PROPERTY_R_IW(bool, valid, false)
const F32 * getNormals() const noexcept
const I32 * getTris() const noexcept
bool SaveMeshFile(const NavModelData &inData, const ResourcePath &filePath, const char *filename)
Save the navigation input geometry in Wavefront OBJ format.
void AddVertex(NavModelData *modelData, const vec3< F32 > &vertex)
char * ParseRow(char *buf, const char *const bufEnd, char *row, I32 len) noexcept
bool LoadMeshFile(NavModelData &outData, const ResourcePath &filePath, const char *fileName)
Load the input geometry from file (Wavefront OBJ format) and save it in 'outData'.
bool Parse(const BoundingBox &box, NavModelData &outData, SceneGraphNode *sgn)
Parsing method that calls itself recursively until all geometry has been parsed.
NavModelData MergeModels(NavModelData &a, NavModelData &b, bool delOriginals=false)
Merge the data from two navigation geometry sources.
I32 ParseFace(char *row, I32 *data, I32 n, I32 vcnt) noexcept
void AddTriangle(NavModelData *modelData, const vec3< U32 > &triangleIndices, U32 triangleIndexOffset=0, const SamplePolyAreas &areaType=SamplePolyAreas::SAMPLE_POLYAREA_GROUND)
Handle console commands that start with a forward slash.
eastl::vector< Type > vector