VR-Forces 5.0.3 Developer's Guide
 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) 2022 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  class DtCoordinateSystem;
30 
36  {
37  public:
39 
42 
44  DtInstancedFeatureBuilder& operator=( const DtInstancedFeatureBuilder& orig );
45 
47  virtual ~DtInstancedFeatureBuilder();
48 
73  DtUniqueID create(
74  DtDe& de,
75  const std::string& registrantName,
76  const std::string& featureStyleName,
77  const std::string& strFeatureName,
78  const DtVector& vPosition,
79  double scale,
80  DtVector minBound,
81  DtVector maxBound);
82 
83  protected:
84 
92  DtInstancedFeatureBuilder( DtDe& de, const std::string& registrantName,
93  const std::string& featureClass );
94 
102  std::string buildModelDefinition( const std::string& markerName );
103 
113  std::string parseAndBuild( const std::string& markerStr );
114 
115  virtual void createAndAddFeature( DtUniqueID elementId,
116  const std::string& modelDefName, const std::string& featureName,
117  const DtVector& vPosition);
118 
121  void slot_featureToBeDeleted( const std::string& resgistrant,
122  DtUniqueID featureId );
123 
125  virtual void slot_coordinateSystemChanged();
126 
129  void readModelDefParam(DtModelDefinition& modelDef,
130  const std::string& paramName, bool& resultOut);
131  void readModelDefParam(DtModelDefinition& modelDef,
132  const std::string& paramName, float& resultOut);
133  void readModelDefParam(DtModelDefinition& modelDef,
134  const std::string& paramName, std::string& resultOut);
136 
137  protected:
138 
140  std::string myFeatureName;
141  std::string myFeatureClass; // The style this class registered for
142  std::string myRegistrantName; // the name this creator was registered with
144 
146  {
147  std::string myFeatureString;
150  };
151 
152  typedef boost::unordered_map<DtUniqueID, FeatureRecord> FeatureMap;
154 
156 
159  DtCoordinateSystem* myCoordinateSystem = nullptr;
160  };
161 
165  {
166 
167  public:
169  static DtInstancedFeatureBuilderCreator& instance( DtDe& de );
170 
172  static void registerInstance( DtDe& de,
173  DtInstancedFeatureBuilderCreator* anInstance );
174 
176  virtual DtInstancedFeatureBuilder* create( DtDe& de,
177  const std::string& registrant, const std::string& featureClass );
178  };
179 }
Definition: DtInstancedFeatureBuilder.h:145
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
std::string myFeatureClass
Definition: DtInstancedFeatureBuilder.h:141
DtVector myStartingPosition
Definition: DtInstancedFeatureBuilder.h:149
DtInstancedFeatureBuilder implements a DtStreamedFeatureCreator for static instanceable models...
Definition: DtInstancedFeatureBuilder.h:35
DtDe & myDe
Definition: DtInstancedFeatureBuilder.h:139
boost::unordered_map< DtUniqueID, FeatureRecord > FeatureMap
Definition: DtInstancedFeatureBuilder.h:152
Contains the DtStreamedFeatureCreator class declaration.
std::string myRegistrantName
Definition: DtInstancedFeatureBuilder.h:142
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:155
#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:143
std::string myModelDefinitionName
Definition: DtInstancedFeatureBuilder.h:148
The DtCoordinateSystem is used to manage the current coordinate system of the scene.
Definition: DtCoordinateSystem.h:40
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:147
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
DtInstancedFeatureBuilder creator.
Definition: DtInstancedFeatureBuilder.h:164
std::string myFeatureName
Definition: DtInstancedFeatureBuilder.h:140
FeatureMap myFeatureMap
Definition: DtInstancedFeatureBuilder.h:153
Contains DLL export macros.

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)