VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtMetaFileVisitor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
17 #include <vrvCore/DtUniqueID.h>
18 #include <osg/NodeVisitor>
19 #include <osgSim/MultiSwitch>
20 #include <osgSim/DOFTransform>
21 
22 namespace makVrv
23 {
24  class DtOsgArticulatedModel;
25 
31  class DtMetaFileVisitor : public osg::NodeVisitor
32  {
33  public:
34 
38  std::vector<DtVirtualBaseClass*>& tickablesVec,
39  const std::string& modelDefName,
40  const DtElementID elementId,
41  const DtUniqueID uniqueId, const bool useInstancing,
42  DtOsgArticulatedModel* model = 0
43  );
44 
47  virtual void apply(osg::Node& node);
48 
49  virtual void apply(osg::Geode& geode);
50 
51  virtual void apply(osg::Group& group);
52 
53  virtual void apply(osgSim::MultiSwitch& multiswitch);
54 
55  virtual void apply(osg::Switch& sw);
56 
57  virtual void apply(osgSim::DOFTransform& dof);
59 
61  virtual void matchAndCreateMetaObject(osg::Node& node, int nodeTypeIndex);
62 
65  virtual bool matches(const DtMetaFileManager::NodeLinkage& currLinkage,
66  const osg::Node& n) const;
67 
68  protected:
69 
78  std::vector<DtVirtualBaseClass*>& myCreatedDynamicFeatures;
82  std::string myModelDefinitionName;
85 
92  unsigned int myInstancedSwitchIndex;
94  unsigned int myInstancedDofIndex;
98 
99  unsigned int myInstancedGeodeIndex;
100 
101  unsigned int myInstancedGroupIndex;
102  };
103 }
104 
unsigned int myInstancedGeodeIndex
Definition: DtMetaFileVisitor.h:99
unsigned int myInstancedSwitchIndex
Used for connecting the switch node to the corresponding instanced switch.
Definition: DtMetaFileVisitor.h:92
DtMetaFileVisitor(DtDe &de, DtMetaFileManager::LinkageValueVec &metaFeatures, std::vector< DtVirtualBaseClass * > &tickablesVec, const std::string &modelDefName, const DtElementID elementId, const DtUniqueID uniqueId, const bool useInstancing, DtOsgArticulatedModel *model=0)
CTOR.
DtMetaFileVisitor will inspect the nodes of a scene graph.
Definition: DtMetaFileVisitor.h:31
virtual void apply(osg::Node &node)
std::vector< DtVirtualBaseClass * > & myCreatedDynamicFeatures
Vector of dynamic features on this terrain so they can be deleted on page destruction.
Definition: DtMetaFileVisitor.h:78
DtOsgArticulatedModel * myOsgArticulatedModel
The object we are traversing, may be NULL.
Definition: DtMetaFileVisitor.h:84
DtDe & myDe
Definition: DtMetaFileVisitor.h:70
DtElementID myElementId
The element ID of the object we are traversing.
Definition: DtMetaFileVisitor.h:80
Contains makVrv::DtMetaFileManager class.
NodeLinkage structure contains the name and annotation strings for a node.
Definition: DtMetaFileManager.h:40
Contains the declaration for makVrv::DtTickableManagerInterface.
An articulated model manipulator for controlling an articulated model.
Definition: DtOsgArticulatedModel.h:56
DtUniqueID DtElementID
The ElementID is a specific type of unique ID used to represent VR-Vantage uniquely defined elements...
Definition: DtUniqueID.h:26
DtMetaFileManager::LinkageValueVec & myDynamicFeatureNames
List of node pointers that have meta data associated with them.
Definition: DtMetaFileVisitor.h:75
std::string myModelDefinitionName
The model definition name for the object we are traversing.
Definition: DtMetaFileVisitor.h:82
DtMetaObjectFactory & myMetaObjectFactory
Generate the type of feature we need depending on the meta data feature name (set up in vrvOsg...
Definition: DtMetaFileVisitor.h:73
std::vector< LinkageValuePair > LinkageValueVec
ex.
Definition: DtMetaFileManager.h:52
unsigned int myInstancedGroupIndex
Definition: DtMetaFileVisitor.h:101
Factory to create the specific DtMetaObjects registered when vrvOsg starts up.
Definition: DtMetaObjectFactory.h:27
DtUniqueID myUniqueId
For instancing, what is the instance unique ID.
Definition: DtMetaFileVisitor.h:89
Interaction makVrv::DtModelDefinition class.
unsigned int myInstancedMultiswitchIndex
Used for connecting the multiswitch node to the corresponding instanced multiswitch.
Definition: DtMetaFileVisitor.h:97
Contains makVrv::DtMetaObjectFactory class.
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
Contains makVrv::DtOsgTerrainPatchObject class.
unsigned int myInstancedDofIndex
Used for connecting the DoF node to the corresponding instanced DoF.
Definition: DtMetaFileVisitor.h:94
virtual void matchAndCreateMetaObject(osg::Node &node, int nodeTypeIndex)
Match up meta data to particular nodes.
virtual bool matches(const DtMetaFileManager::NodeLinkage &currLinkage, const osg::Node &n) const
Does this node match our meta file feature&#39;s node name or annotation string.
Contains makVrv::DtUniqueID type.
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
bool myUseInstancing
For instancing, is the object being traversed instanced.
Definition: DtMetaFileVisitor.h:87

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)