VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
sharedModelSet.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrfGuiCore/vrfGuiCore.h>
16 #include <vlutil/vlFilename.h>
17 #include <vrfutil/rwProperties.h>
19 #include <vrvUtil/event_signal.h>
20 #include <vrvCore/DtStateView.h>
21 #include <vrvCore/DtEntityState.h>
22 #include <matrix/3dBoundingVolume.h>
23 
24 #include <map>
25 
26 class DtModelSet;
27 class DtModelSetEntry;
31 
32 namespace makVrf
33 {
34  class DtEntityMapperKey;
35 
39  {
40  public:
41 
42  public:
48 
52  static std::string className();
53 
55  virtual ~DtSharedModelSet();
56 
58  virtual void setModelSet(DtModelSet*);
59 
61  virtual void clearModelSet();
62 
64  virtual bool load(const DtFilename&, bool signal = false);
65 
68  virtual void addSimulationObjectGroupModelSetEntry(DtSimulationObjectGroupModelSetEntry* entry);
69 
71  virtual DtSimulationObjectGroupModelSetEntry findSimulationObjectGroup(const std::string& sogName) const;
72 
74  virtual void getSupportPoints(const DtEntityType& et,
75  DtVector& left, DtVector& right, DtVector& other);
76 
77  virtual std::string getNavDataPath(const DtEntityType& et);
78 
80  virtual Dt3dBoundingVolume getBoundingVolume(const DtEntityMapperKey& et);
81 
83  virtual bool loadFromDataFiles(const DtFilename& entities, const DtFilename& platforms, bool signal = true);
84 
86  virtual void mergeFavorites(const DtModelSet* f);
87 
89  virtual DtEntityType nameToType(const DtString&) const;
90 
92  virtual DtModelSetEntry* modelSetEntry(const DtEntityMapperKey& key) const;
93 
96  virtual std::string additionalKeywords(const DtEntityMapperKey&) const;
97  virtual void setAdditionalKeywords(const DtEntityMapperKey&, const std::string&, bool replace = false);
98 
100  virtual DtModelSetEntry* exactModelSetEntry(const DtEntityMapperKey& key) const;
101 
103  virtual bool canHoldSubordinates(const DtEntityMapperKey& key) const;
104 
106  virtual DtModelSetEntry* addModelSetEntry(const DtString& label, const DtEntityMapperKey&,
107  const DtRwNLengthStringVector& cats);
108 
110  virtual void removeModelSetEntry(const DtEntityMapperKey& e);
111 
113  virtual std::string nameFor(const DtEntityMapperKey&) const;
114 
116  virtual std::string keywordsFor(const DtEntityMapperKey&) const;
117 
119  virtual DtModelSet* modelSet() const;
120 
122  virtual void statePropertiesFor(const DtEntityType&, DtRwProperties&) const;
123 
125  virtual void parameterPropertiesFor(const DtEntityType&, DtRwProperties&);
126 
130  virtual void parameterPropertiesFor(
132 
134  virtual boost::shared_ptr<DtReaderWriter> rwProperty(const DtEntityType&, const std::string& prop) const;
135 
137  virtual void loadPlatforms(const DtString&);
138 
140  virtual void clearPlatforms();
141 
143  virtual DtRwDIGuyCharacterInfo getDIGuyCharacterInformation(const DtEntityMapperKey&);
144 
146  virtual DtVrfObjectParameters* lookupParametersFor(DtModelSetEntry* entry);
147 
149  virtual DtObjectType nextAvailableSimulationObjectGroupObjectType() const;
150 
151  protected:
153 
154  protected:
156  typedef std::map<std::string, boost::shared_ptr<DtReaderWriter> > PropertiesMap;
157 
159  {
162  };
163 
164  typedef std::map<DtString, PlatformStruct> PlatformsMap;
166 
167  typedef std::map<DtModelSetEntry*, DtVrfObjectParameters*> ParameterData;
171 
173 
174  protected:
176  {
177  public:
179  AdditionalKey(const AdditionalKey& orig) : DtEntityMapperKey(orig), myAdditionalKeywords(orig.myAdditionalKeywords) {};
180 
181  std::string myAdditionalKeywords;
182  };
183 
186  };
187 
190  {
191  public:
192 
197 
201 
205  static DtSharedModelSetSignaler* findInstance(
207 
209  virtual ~DtSharedModelSetSignaler();
210 
214 
215  protected:
217 
218  private:
221  };
222 }

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)