VR-Forces 4.0.4 Class Documentation
include/bhavePathDataGen/pathDataGen.h
Go to the documentation of this file.
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 

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)