VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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  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 }

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)