VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
objectGeometricModelsManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 #pragma once
6 
9 
11 #include "vrfutil/rwUUID.h"
12 #include <boost/shared_ptr.hpp>
13 #include <tbb/spin_rw_mutex.h>
14 #include <boost/unordered_map.hpp>
15 
18 class Dt3dBoundingVolume;
20 class DtTerrainInterface;
21 class DtObjectType;
22 class DtFilename;
23 class DtEntityType;
24 
31 {
32 public:
33 
36 
39 
42  virtual boost::shared_ptr<DtTerrainInterface> objectModelEntry(const DtUUID& parent) const;
43  virtual boost::shared_ptr<DtTerrainInterface> objectModelEntry(const DtObjectType& type) const;
44 
46  virtual boost::shared_ptr<DtTerrainInterface> objectModelEntry(const DtVrfObjectParameters*, const DtEntityType&) const;
47 
49  virtual boost::shared_ptr<DtTerrainInterface> lookupModelEntry(const DtMovingObjectParameters&) const;
50 
52  virtual boost::shared_ptr<DtTerrainInterface> addModelEntry(const DtVrfObjectParameters*, const DtEntityType&);
53 
56  virtual void remove(const DtMovingObjectParameters& objectType);
57 
60  virtual void removeAll();
61 
64  virtual boost::shared_ptr<DtTerrainInterface> createObjectModelEntry(const DtVrfObjectParameters*, const DtEntityType&);
65 
66  virtual void init();
67 
68 protected:
71  virtual boost::shared_ptr<DtTerrainInterface> createObjectModel(const DtFilename&, const DtEntityType& s) const;
72 
73 protected:
74 
75  typedef boost::unordered_map<std::string, boost::shared_ptr<DtTerrainInterface> > DtObjectModelContainer;
76  typedef DtObjectModelContainer::iterator DtObjectModelIter;
77  typedef DtObjectModelContainer::const_iterator DtObjectModelConstIter;
78 
81 
82  mutable tbb::spin_rw_mutex myObjectModelsMutex;
83 };
UUID is a unique ID wrapper class.
Definition: uuid.h:59
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:63
tbb::spin_rw_mutex myObjectModelsMutex
Definition: objectGeometricModelsManager.h:82
Contains the DtUUID class declaration.
Manages loading and destruction of the geometric models for objects. Will reference the object parame...
Definition: objectGeometricModelsManager.h:30
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
The moving-object-param parameter type is used for objects that are capable of movement, such as individual entities and aggregates. DtMovingObjectParameters; holds all of the configurable parameters for the DtVrfMovingObjectStateRepository class. Parameters include support points, maximum speed, maximum reverse speed, turning radius, maximum slope, ordered speed, maximum acceleration, maximum deceleration, and fuel efficiency. Aggregates are moving objects and have this parameter type. All of the platform-specific parameter types derive from this one. .
Definition: movingObjectParameters.h:32
DtTerrainInterface allows access to common terrain calls without having to know the terrain implement...
Definition: terrainInterface.h:100
DtObjectModelContainer::const_iterator DtObjectModelConstIter
Definition: objectGeometricModelsManager.h:77
boost::unordered_map< std::string, boost::shared_ptr< DtTerrainInterface > > DtObjectModelContainer
Definition: objectGeometricModelsManager.h:75
DtObjectModelContainer myObjectModels
Definition: objectGeometricModelsManager.h:79
const DtSimulationServices * mySimulationServices
Definition: objectGeometricModelsManager.h:80
Central access point of all non-object-specific the services and managers that are available for use ...
Definition: simulationServices.h:95
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
DtObjectModelContainer::iterator DtObjectModelIter
Definition: objectGeometricModelsManager.h:76

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)