VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
speedTreeReplacer.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2010 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
15 
16 #include <tbb/spin_rw_mutex.h>
17 
18 #include <boost/unordered_map.hpp>
19 #include <list>
20 
21 class DtOutputStream;
23 
24 namespace makVrv
25 {
26  class DtDe;
27 }
28 
33 {
34 public:
35  DtSpeedTreeReplacer(makVrv::DtDe& displayEngine);
36  virtual ~DtSpeedTreeReplacer();
37 
38 private:
40 
43  DtSpeedTreeReplacer& operator=(const DtSpeedTreeReplacer& orig);
45 
46 public:
49  virtual void replaceSpeedTrees(makArchives::DtTerrainRecord& terrainRecord);
50  virtual void printSummary(DtOutputStream& stream, DtOutputStream* errorStream = 0) const;
51 
52  virtual void setLogErrorsWhileParsing(bool val);
53 
54  typedef boost::unordered_map<std::string, std::string> DtStringStringMap;
55 
57  virtual void replaceSpeedTrees(makArchives::DtPropRecords& propRecords);
58 
60  virtual bool isSpeedTreeModelDef(const std::string& modelDef) const;
63 
64  virtual std::string findGeometricModelDefinition(const std::string& speedTreeModelDef);
65 
66  virtual bool findGeometricModelDefinitionWithExt(
67  std::string startModelDef,
68  const std::string& extention,
69  std::string& result);
70 
71 protected:
72  typedef tbb::spin_rw_mutex Mutex;
73  mutable Mutex myMutex;
74 
81  std::set<std::string> myNoReplacementAvailableSet;
82 
86  std::list<std::string> mySimExtensionList;
87 };
Class DtTerrainInterfaceConfig is a readable-writable class holding terrain interface configuration o...
Definition: terrainInterfaceConfig.h:32
std::vector< DtPropRecord > DtPropRecords
Definition: DtPropRecord.h:137
This is a utility class that contains functionality for replacing SpeedTree model definition referenc...
Definition: speedTreeReplacer.h:32
std::list< std::string > mySimExtensionList
A list (set up in the constructor) of the extensions to look for to a model definition when looking f...
Definition: speedTreeReplacer.h:86
Record of a VR-Vantage terrain Contains: Terrain coordinate system Terrain patches Feature layers Ter...
Definition: DtTerrainRecord.h:29
tbb::spin_rw_mutex Mutex
Definition: speedTreeReplacer.h:72
bool myLogErrorsWhileParsing
Definition: speedTreeReplacer.h:76
voidpf stream
Definition: ioapi.h:39
#define DT_DLL_vantageTerrainImplementation
This file is used to determine how to build.
Definition: vantageTerrainImplementationDefines.h:28
makVrv::DtDe & myDisplayEngine
Definition: speedTreeReplacer.h:75
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:70
boost::unordered_map< std::string, std::string > DtStringStringMap
Definition: speedTreeReplacer.h:54
DtStringStringMap myReplacementMap
Map of ST model definition name to the model definition to replace it with. This map is build up duri...
Definition: speedTreeReplacer.h:79
Mutex myMutex
Definition: speedTreeReplacer.h:73
Contains makArchives::DtTerrainRecord class.
std::set< std::string > myNoReplacementAvailableSet
List of ST model definitions for which no replacement is available.
Definition: speedTreeReplacer.h:81

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)