![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 00006 #pragma once 00007 00008 00009 #include <bhavePathDataGen/pathDataGenDefines.h> 00010 #include <bhavePathDataGen/baseImporter.h> 00011 #include <bhavePathDataGen/extentBoxStruct.h> 00012 #include <gdb/terrainDb.h> 00013 #include <terrainInterface/terrainInterface.h> 00014 00015 #include <kypdg.h> 00016 #include <kypathdata/math/axisalignedbox.h> 00017 00018 class Kaim::PdgSector; 00019 class DtTdbManager; 00020 00021 namespace BHAVE { 00022 00023 class DtTerrainInputProducer; 00024 00027 class DT_DLL_bhavePathDataGen DtPathDataGen 00028 { 00029 public: 00030 00032 DtPathDataGen(); 00033 00035 virtual ~DtPathDataGen(); 00036 00038 virtual KyResult InitializeKynapse(); 00039 00044 virtual void addTerrainSector(DtTerrainDatabase* terrainDb, const char* pathDataName, 00045 const DtExtentBoxStruct* boundingBox = 0, 00046 std::set<DtSoilType>* impassableList = 0, 00047 std::set<DtBodyOfWaterType>* impassableWaterList = 0, 00048 bool generateVectorNetwork = true); 00049 virtual void addTerrainSector(DtTerrainInterface* terrainInt, const char* pathDataName, 00050 const DtExtentBoxStruct* boundingBox = 0, 00051 std::set<DtSoilType>* impassableList = 0, 00052 std::set<DtBodyOfWaterType>* impassableWaterList = 0, 00053 bool generateVectorNetwork = true); 00054 00055 virtual void addTerrainFromName(const std::string& pathDataName, 00056 const std::string& extension, const DtExtentBoxStruct* extent = 0, 00057 std::set<DtSoilType>* impassableList = 0, 00058 std::set<DtBodyOfWaterType>* impassableWaterList = 0, 00059 bool generateVectorNetwork = true); 00060 00062 virtual Kaim::PdgGlobalConfig * globalConfigOptions(); 00063 virtual void setGlobalConfigOptions(const Kaim::PdgGlobalConfig& val); 00064 00066 virtual KyResult generatePathData(const char * name); 00067 00068 virtual void createPathGenerator(); 00069 00070 DtFilename outputDirectory() const { return myOutputDirectory; } 00071 00072 protected: 00073 Kaim::Generator* myPathGenerator; 00074 Kaim::FixedSizeSectorPartitioner* mySectorPartitioner; 00075 Kaim::PdgGlobalConfig *myGlobalConfigOptions; 00076 Kaim::IGuidGeneratorInterface *myGuidGenerator; 00077 DtFilename myOutputDirectory; 00078 DtExtentBoxStruct myExtent; 00079 DtTerrainInterface *myTerrainInterface; 00080 DtTdbManager* myTdbManager; 00081 00083 std::vector<BHAVE::DtBaseImporter*> myTerrainImporterList; 00084 std::vector<BHAVE::DtTerrainInputProducer*> myTerrainInputProducerList; 00085 std::vector<Kaim::PdgSector*> mySectorList; 00086 00087 }; 00088 00089 } 00090 00091