37 static const char* GetFileExtension() {
return "AbstractData"; }
40 : m_boxExtentInCellSize(10)
41 , m_navMeshBlob(
nullptr)
42 , m_abstractGraphCount(0)
43 , m_result(KY_SUCCESS)
45 m_tmpCellFilter = *KY_NEW CellFilter;
48 void SetOutputDirectory(
const char* absoluteOutputBaseDir,
const char* relativeOutputDir);
49 KyResult InitFromFilename(Ptr<Database> database,
const char* navDataFileName,
FileOpenerBase* fileOpener =
nullptr);
50 KyResult InitFromFile(Ptr<Database> database, File* navDataFile);
51 KyResult InitFromMemory(Ptr<Database> database,
void* memory);
52 KyResult InitFromNavData(Ptr<NavData> navData);
54 void SetExtentInNumberOfCells(
KyInt32 abstractGraphBoxExtentInCellSize) { m_boxExtentInCellSize = abstractGraphBoxExtentInCellSize; }
60 void ClearAndRelease()
62 m_abstractGraphBlobHandlers.ClearAndRelease();
63 m_tmpAbstractGraphBorderAsCellPos.ClearAndRelease();
64 m_tmpBoundaryFlagsPerCellOnBorder.ClearAndRelease();
65 m_abstractGraphCount = 0;
66 m_abstractGraphGenerator.ClearAndRelease();
81 Ptr<Database> m_database;
82 Ptr<NavData> m_navData;
84 String m_absoluteOutputBaseDir;
85 String m_relativeOutputDir;
94 AbstractGraphGenerator m_abstractGraphGenerator;
98 AbstractGraphGenerationReport m_report;
103 Ptr<CellFilter> m_tmpCellFilter;
General purpose array for movable objects that DOES NOT require construction/destruction.
Definition: kyarray.h:194
Base interface for a class that opens a file on disk.
Definition: fileopener.h:30
2d axis aligned box of 32bits integers. Very Important: CountX() returns m_max.x - m_min...
Definition: box2i.h:17
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
General purpose array for movable objects that require explicit construction/destruction.
Definition: kyarray.h:162
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
Usage: AbstractGraphDataGenerator gen; gen.InitFromXxxx() gen.Generate() gen.SaveAbstractGraphData() ...
Definition: abstractgraphdatagenerator.h:33
Little-endian format (used, for example, for Windows, Linux).
Definition: endianness.h:22
Navigation return code class.
Definition: types.h:108
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
The NavMeshElementBlob contains the NavMesh static data (a set of NavCellBlob) for an element (a Guid...
Definition: navmeshelementblob.h:46
std::int32_t KyInt32
int32_t
Definition: types.h:24
Type
Enumerates possible endianness types.
Definition: endianness.h:20