VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsgNodesExtractor.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 <vrvOsg/vrvOsg.h>
13 
14 #include <vrvCore/DtTreeRecord.h>
16 #include <matrix/vlVector.h>
17 
18 #include <osg/Vec3>
19 #include <osg/Quat>
20 #include <osg/Node>
21 
22 #include <vector>
23 #include <map>
24 #include <string>
25 
26 namespace makVrv
27 {
28  class DtOsgTerrainPatchObject;
29 
32 
35 
37  template <>
38  inline const char* creatorTypeName<DtOsgNodesExtractor>(void) { return "DtOsgNodesExtractorCreator"; }
39 
41  {
42  public:
45  public:
47  DtOsgNodesExtractor() = delete;
49  DtOsgNodesExtractor(const DtOsgNodesExtractor& other) = delete;
51  DtOsgNodesExtractor& operator=(const DtOsgNodesExtractor& other) = delete;
52  public:
53  virtual void extractNodes(osg::Node* node, const std::string& rule, bool isRegEx, std::vector<std::string>& matches);
54 
55  virtual void extractTreeNodes(osg::Node* node, const std::string& rule, bool isRegEx, const std::string& modelDefinition, DtVectorTreeRecords& treeRecords);
56 
57  virtual osg::Node* findNode(const std::string& rule, unsigned int index);
58  virtual osg::Node* findNode(const std::string& rule, unsigned int index, osg::Vec3& location, osg::Quat& orientation);
59 
60  protected:
62  {
63  osg::Vec3 location;
64  osg::Vec3 scale;
65  osg::Quat orientation;
66  osg::Quat orientationScale;
68  osg::Node::ParentList parents;
69  std::string nodetype;
70  };
71 
72  typedef std::vector<ExtractedNode> NodeList;
73  typedef std::map<std::string, NodeList > ExtractedNodeListMap;
75 
77  };
78 }
DtDe & myDe
Definition: DtOsgNodesExtractor.h:76
DtOsgNodesExtractor()=delete
not allowed
osg::Vec3 location
Definition: DtOsgNodesExtractor.h:63
osg::ref_ptr< osg::Node > node
Definition: DtOsgNodesExtractor.h:67
Definition: DtOsgNodesExtractor.h:40
osg::Quat orientation
Definition: DtOsgNodesExtractor.h:65
virtual void extractNodes(osg::Node *node, const std::string &rule, bool isRegEx, std::vector< std::string > &matches)
std::vector< DtTreeRecord * > DtVectorTreeRecords
Definition: DtTreeRecord.h:139
const char * creatorTypeName< DtOsgNodesExtractor >(void)
template specialization for the creator (pass the class being created to the creatorTypeName template...
Definition: DtOsgNodesExtractor.h:38
Variadic templated creator class for defining a DtVirtualBaseClass creator that is automatically regi...
Definition: DtVirtualBaseClassCreator.h:22
virtual void extractTreeNodes(osg::Node *node, const std::string &rule, bool isRegEx, const std::string &modelDefinition, DtVectorTreeRecords &treeRecords)
virtual osg::Node * findNode(const std::string &rule, unsigned int index)
std::map< std::string, NodeList > ExtractedNodeListMap
Definition: DtOsgNodesExtractor.h:73
osg::Vec3 scale
Definition: DtOsgNodesExtractor.h:64
DtOsgNodesExtractor & operator=(const DtOsgNodesExtractor &other)=delete
not allowed
osg::Node::ParentList parents
Definition: DtOsgNodesExtractor.h:68
Definition: DtOsgNodesExtractor.h:61
std::string nodetype
Definition: DtOsgNodesExtractor.h:69
std::vector< ExtractedNode > NodeList
Definition: DtOsgNodesExtractor.h:72
Contains DLL export macros.
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:72
DtVirtualBaseClassCreator< DtOsgNodesExtractor > DtOsgNodesExtractorCreator
creator
Definition: DtOsgNodesExtractor.h:31
Contains makVrv::DtTreeRecord class.
ExtractedNodeListMap myExtractedNodes
Definition: DtOsgNodesExtractor.h:74
osg::Quat orientationScale
Definition: DtOsgNodesExtractor.h:66

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)