VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtInstancedFeatureBuilder.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
13 
16 
18 
19 #include <matrix/vlVector.h>
20 
21 #include <string>
22 
23 namespace makVrv
24 {
25  class DtAgentManagerInterface;
26  class DtDe;
27  class DtArticulatedModelAgent;
28  class DtModelDefinition;
29 
35  {
36  public:
38 
41 
43  DtInstancedFeatureBuilder& operator=( const DtInstancedFeatureBuilder& orig );
44 
46  virtual ~DtInstancedFeatureBuilder();
47 
72  DtUniqueID create(
73  DtDe& de,
74  const std::string& registrantName,
75  const std::string& featureStyleName,
76  const std::string& strFeatureName,
77  const DtVector& vPosition,
78  double scale,
79  DtVector minBound,
80  DtVector maxBound);
81 
82  protected:
83 
91  DtInstancedFeatureBuilder( DtDe& de, const std::string& registrantName,
92  const std::string& featureClass );
93 
101  std::string buildModelDefinition( const std::string& markerName );
102 
112  std::string parseAndBuild( const std::string& markerStr );
113 
114  virtual void createAndAddFeature( DtUniqueID elementId,
115  const std::string& modelDefName, const std::string& featureName,
116  const DtVector& vPosition);
117 
120  void slot_featureToBeDeleted( const std::string& resgistrant,
121  DtUniqueID featureId );
122 
125  void readModelDefParam(DtModelDefinition& modelDef,
126  const std::string& paramName, bool& resultOut);
127  void readModelDefParam(DtModelDefinition& modelDef,
128  const std::string& paramName, float& resultOut);
129  void readModelDefParam(DtModelDefinition& modelDef,
130  const std::string& paramName, std::string& resultOut);
132 
133  protected:
134 
136  std::string myFeatureName;
137  std::string myFeatureClass; // The style this class registered for
138  std::string myRegistrantName; // the name this creator was registered with
140 
142  {
143  std::string myFeatureString;
146  };
147 
148  typedef boost::unordered_map<DtUniqueID, FeatureRecord> FeatureMap;
150 
152  };
153 
157  {
158 
159  public:
161  static DtInstancedFeatureBuilderCreator& instance( DtDe& de );
162 
164  static void registerInstance( DtDe& de,
165  DtInstancedFeatureBuilderCreator* anInstance );
166 
168  virtual DtInstancedFeatureBuilder* create( DtDe& de,
169  const std::string& registrant, const std::string& featureClass );
170  };
171 }
Definition: DtInstancedFeatureBuilder.h:141
Virtual base class.
Definition: DtVirtualBaseClass.h:19
std::string myFeatureClass
Definition: DtInstancedFeatureBuilder.h:137
DtVector myStartingPosition
Definition: DtInstancedFeatureBuilder.h:145
DtInstancedFeatureBuilder implements a DtStreamedFeatureCreator for static instanceable models...
Definition: DtInstancedFeatureBuilder.h:34
DtDe & myDe
Definition: DtInstancedFeatureBuilder.h:135
boost::unordered_map< DtUniqueID, FeatureRecord > FeatureMap
Definition: DtInstancedFeatureBuilder.h:148
Contains the DtStreamedFeatureCreator class declaration.
std::string myRegistrantName
Definition: DtInstancedFeatureBuilder.h:138
A model definition Interaction any number of named parameters, and also can be used to store cached d...
Definition: DtModelDefinition.h:38
Contains the DtStreamedFeatureManager class declaration.
DtSignalConnectionManager myConnections
Definition: DtInstancedFeatureBuilder.h:151
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
int myCurrentDayOfTheYear
Definition: DtInstancedFeatureBuilder.h:139
std::string myModelDefinitionName
Definition: DtInstancedFeatureBuilder.h:144
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
Base class to provide boost signal/slot management.
DtStreamedFeatureCreator is the base class that all feature-specific feature creators to be informed ...
Definition: DtStreamedFeatureCreator.h:29
std::string myFeatureString
Definition: DtInstancedFeatureBuilder.h:143
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
DtInstancedFeatureBuilder creator.
Definition: DtInstancedFeatureBuilder.h:156
std::string myFeatureName
Definition: DtInstancedFeatureBuilder.h:136
FeatureMap myFeatureMap
Definition: DtInstancedFeatureBuilder.h:149
Contains DLL export macros.

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)