VR-Forces 4.0.4 Class Documentation
include/bhavePathDataGen/terrainDatabaseImporter.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 #include <bhavePathDataGen/pathDataGenDefines.h>
00009 #include <bhavePathDataGen/baseImporter.h>
00010 #include <bhavePathDataGen/extentBoxStruct.h>
00011 #include <kypdg.h>
00012 #include <gdb/terrainDb.h>
00013 
00014 #pragma warning (disable : 4273) //Disable inconsistent dll warnings
00015 
00016 class DtTerrainDatabase;
00017 class DtGdbNode;
00018 class DtTriangleIndirect;
00019 
00020 namespace BHAVE {
00021 
00024    class DT_DLL_bhavePathDataGen DtTerrainDatabaseImporter : public DtBaseImporter
00025    {
00026       public:
00027       
00029       DtTerrainDatabaseImporter();
00030 
00032       DtTerrainDatabaseImporter(const DtTerrainDatabaseImporter& orig);
00033 
00035       DtTerrainDatabaseImporter& operator=(const DtTerrainDatabaseImporter& orig);
00036       
00038       virtual void setTerrainDatabase(const DtTerrainDatabase* currentDb);
00039       
00041       virtual bool initializeCoordinateSystem();
00042       
00045       virtual bool generateTriangleMesh(Kaim::ClientInputConsumer & kynapseConsumer, DtExtentBoxStruct* boundingBox = 0);
00046       
00047       virtual void setImpassableTerrain(DtSoilType soilType);
00048       virtual void unsetImpossibleTerrain(DtSoilType soilType); 
00049 
00050       virtual void setImpassableWater(DtBodyOfWaterType soilType);
00051       virtual void unsetImpossibleWater(DtBodyOfWaterType soilType); 
00052 
00053       bool generateVectorNetwork() const { return myGenerateVectorNetwork; }
00054       void setGenerateVectorNetwork(bool val) { myGenerateVectorNetwork = val; }
00055 
00056       protected:
00057       const DtTerrainDatabase* myTerrainDatabase;
00058       std::set<DtSoilType> myImpassableTerrainTypes;
00059       std::set<DtBodyOfWaterType> myImpassableWaterTypes;
00060       bool myGenerateVectorNetwork;
00061 
00062       virtual void consumeGdbNode(Kaim::ClientInputConsumer &kynapseConsumer, DtGdbNode* gdbNode, 
00063          DtExtentBoxStruct* boundingBox);
00064 
00066       virtual bool isInsideBoundingBox( DtTriangleIndirect* triangleNode, const DtExtentBoxStruct& boundingBox ); 
00067       virtual bool isInsideBoundingBox( DtPoint &firstPoint, const DtExtentBoxStruct &boundingBox );
00068 
00069       virtual double determineSideOfLine(double x1, double x2, double y1, double y2, double xp, double yp );
00070    };
00071 
00072 } 
00073 

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)