Kaim::NavGenProj Class Reference

Kaim::NavGenProj Class Reference

#include <NavGenProj.h>

Class Description

The NavGenProj class is a representation of the input data required for the standalone NavData generation tools supplied with Autodesk Navigation to generate NavData for a terrain.

Functions

 NavGenProj ()
 
 ~NavGenProj ()
 
void Clear ()
 Clears all information maintained by this object. More...
 
KyResult Load (const std::string &fileName)
 Loads the data contained in the .NavGenProj with the specified path and file name into this NavGenProj object. More...
 
KyResult Save (const std::string &fileName)
 Saves the data in this NavGenProj object to a file on disk with the specified path and file name. More...
 
KyResult Generate (const std::string &forcedOutputBaseDir, const std::string &forcedRelativeOutputDir)
 Generates NavData NavGenProj. More...
 
void SetIterativeRebuildFromGenIOMode (const std::string &genIOFileName)
 
bool IsInIterativeRebuildFromGenIOMode () const
 
void AddSector (std::unique_ptr< ProjSector > sector)
 
KyResult AddTagVolume (const Vec3f *polylinePoints, int pointArraySize, const DynamicNavTag &navTag, float minAltitude, float maxAltitude)
 Adds a new tag volume to the NavGenProj. More...
 
void AddSeedPoint (float x, float y, float z)
 Add a seed point to the navGenProj. More...
 
void AddExclusiveGuids (const KyGuid *guids, KyUInt32 guidsCount)
 Add a exclusive guids. More...
 
void AddSpecificCellToGenerate (int posx, int posy)
 If at least one specific cell is added, the generation will only generate these cells. More...
 
void SetOutputDir (const char *outputBaseDir, const char *relativeOutputDir)
 Sets the outputDir, with a base path and a relative path, i.e where the Kaim::Generator outputs are written if no forcedOutputBaseDir and forcedRelativeOutputDir are provided to generate. More...
 
std::string GetRelativeOutputDir ()
 
std::string GetOutputBaseDir ()
 
void SetDatabaseIndex (KyUInt32 dabaseIndex)
 Set and get the database name and index for current generation. More...
 
KyUInt32 GetDatabaseIndex () const
 
void SetConfig (const GeneratorParameters &params, const GeneratorRunOptions &runOptions, const CoordSystem &coordSystem)
 Sets up the NavGenProjConfig that will be used when generating NavData from this NavGenProj. More...
 
void SetAbstractGraphConfig (const GeneratorAbstractGraphParameters &abstractGraphParams)
 Sets up the NavGenProjConfig that will be used when generating AbstractGraphs from this NavGenProj. More...
 
void AddMirrorOptions (const ProjMirrorOptions &mirrorOptions)
 
std::string GetGeometryFileName (ProjSector *sector, int index)
 
std::string GetClientInputFileName (ProjSector *sector, int index)
 
int GetSectorCount () const
 
ProjSectorGetSector (int index)
 
int GetSeedPointCount () const
 
const ProjSeedPoint & GetSeedPoint (int index) const
 
void SetNavGenProjAbsPath (const std::string &projAbsPath)
 
std::string GetAbsolutePath (const std::string &path) const
 
std::string GetGenIOFileName ()
 

Member Function Documentation

void Kaim::NavGenProj::AddExclusiveGuids ( const KyGuid guids,
KyUInt32  guidsCount 
)

Add a exclusive guids.

void Kaim::NavGenProj::AddSeedPoint ( float  x,
float  y,
float  z 
)

Add a seed point to the navGenProj.

void Kaim::NavGenProj::AddSpecificCellToGenerate ( int  posx,
int  posy 
)

If at least one specific cell is added, the generation will only generate these cells.

This is useful to parameterize/debug a specific cell without regenerating the whole world.

KyResult Kaim::NavGenProj::AddTagVolume ( const Vec3f polylinePoints,
int  pointArraySize,
const DynamicNavTag &  navTag,
float  minAltitude,
float  maxAltitude 
)

Adds a new tag volume to the NavGenProj.

Parameters
polylinePointsAn array of points in 3D space that form a two-dimensional horizontal outline for the volume. This list of points should be specified in counter-clockwise order as seen from above. It should be closed (i.e. the last point in the list should be the same as the first point), but if it is not closed, the first point will be automatically copied to the end of the list to close it.
pointArraySizeThe number of Vec3f objects in the polylinePoints array.
navTagThe associated NavTag
minAltitudeThe altitude of the bottom surface of the tag volume.
maxAltitudeThe altitude of the top surface of the tag volume.
void Kaim::NavGenProj::Clear ( )

Clears all information maintained by this object.

KyResult Kaim::NavGenProj::Generate ( const std::string &  forcedOutputBaseDir,
const std::string &  forcedRelativeOutputDir 
)

Generates NavData NavGenProj.

  • if forcedOutputBaseDir is different from "", xml tag outputDir baseDir will be ignored and forcedOutputBaseDir will be used instead
  • if forcedRelativeOutputDir is different from "", xml tag outputDir relativeDir will be ignored and forcedRelativeOutputDir will be used instead
KyResult Kaim::NavGenProj::Load ( const std::string &  fileName)

Loads the data contained in the .NavGenProj with the specified path and file name into this NavGenProj object.

Any relative file paths contained in the .NavGenProj are interpreted relative to the directory currently set for #m_navGenProjDirectory. After loading, the base directory of the NavGenProj is automatically set to the directory that contains the saved file.

KyResult Kaim::NavGenProj::Save ( const std::string &  fileName)

Saves the data in this NavGenProj object to a file on disk with the specified path and file name.

The base directory of the NavGenProj is automatically set to the directory that contains the saved file.

void Kaim::NavGenProj::SetAbstractGraphConfig ( const GeneratorAbstractGraphParameters &  abstractGraphParams)

Sets up the NavGenProjConfig that will be used when generating AbstractGraphs from this NavGenProj.

void Kaim::NavGenProj::SetConfig ( const GeneratorParameters params,
const GeneratorRunOptions runOptions,
const CoordSystem coordSystem 
)

Sets up the NavGenProjConfig that will be used when generating NavData from this NavGenProj.

void Kaim::NavGenProj::SetDatabaseIndex ( KyUInt32  dabaseIndex)

Set and get the database name and index for current generation.

void Kaim::NavGenProj::SetOutputDir ( const char *  outputBaseDir,
const char *  relativeOutputDir 
)

Sets the outputDir, with a base path and a relative path, i.e where the Kaim::Generator outputs are written if no forcedOutputBaseDir and forcedRelativeOutputDir are provided to generate.


The documentation for this class was generated from the following files:
  • tools/navgenproj/NavGenProj.h
  • tools/navgenproj/NavGenProj.cpp