VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtOsgPrintNodeHierarchyVisitor.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvOsg/vrvOsg.h>
13 
14 #include <osg/NodeVisitor>
15 
16 #include <vector>
17 
18 #include <boost/utility/binary.hpp>
19 
20 namespace osg
21 {
22  class ProxyNode;
23  class Switch;
24  class LOD;
25  class Sequence;
26 }
27 
28 namespace osgSim
29 {
30  class MultiSwitch;
31  class DOFTransform;
32 }
33 
34 namespace makVrv
35 {
37  class DT_DLL_VRVOSG DtOsgPrintNodeHierarchyVisitor : public osg::NodeVisitor
38  {
39  public:
42 
45 
46  public:
47 
49  {
50  FLAGS_Geometry = BOOST_BINARY(0000 0000 0000 0001)
51  , FLAGS_Geode = BOOST_BINARY(0000 0000 0000 0010)
52  , FLAGS_Node = BOOST_BINARY(0000 0000 0000 0100)
53  , FLAGS_Proxy = BOOST_BINARY(0000 0000 0000 1000)
54  , FLAGS_Switch = BOOST_BINARY(0000 0000 0001 0000)
55  , FLAGS_Lod = BOOST_BINARY(0000 0000 0010 0000)
56  , FLAGS_Sequence = BOOST_BINARY(0000 0100 0000 0000)
57  , FLAGS_Billboard = BOOST_BINARY(0000 1000 0000 0000)
58  , FLAGS_MatrixTransform = BOOST_BINARY(0000 0001 0000 0000)
59  , FLAGS_MultiSwitch = BOOST_BINARY(0000 0010 0000 0000)
60  , FLAGS_DOFTransform = BOOST_BINARY(0000 0100 0000 0000)
61 
62  , FLAGS_Textures = BOOST_BINARY(0000 1000 0000 0000)
63  , FLAGS_All = BOOST_BINARY(0000 1111 1111 1111)
64  };
65  private:
69  DtOsgPrintNodeHierarchyVisitor& operator=(const DtOsgPrintNodeHierarchyVisitor& other) = delete;
70 
71  public:
73  virtual void apply(osg::Geometry& geometry) override;
74 
76  virtual void apply(osg::Geode& geode) override;
77 
79  virtual void apply(osg::Node& node) override;
80 
82  virtual void apply(osg::ProxyNode& node) override;
83 
85  virtual void apply(osg::Switch& node) override;
86 
88  virtual void apply(osg::LOD& node) override;
89 
91  virtual void apply(osg::Sequence& node) override;
92 
94  virtual void apply(osg::Billboard& node) override;
95 
96  virtual void apply(osg::MatrixTransform& node) override;
97 
99  virtual void apply(osgSim::MultiSwitch& node);
100 
102  virtual void apply(osgSim::DOFTransform& node);
103 
105  virtual void setFlags(int flags);
106 
108  static void printHierarchy(const osg::Node* node, PrintFlags flags = FLAGS_All);
109  protected:
110  int myFlags;
111  };
112 }
PrintFlags
Definition: DtOsgPrintNodeHierarchyVisitor.h:48
#define DT_DLL_VRVOSG
Definition: vrvOsg.h:23
visitor for printing out the node hierarchy to the console
Definition: DtOsgPrintNodeHierarchyVisitor.h:37
Contains DLL export macros.
int myFlags
Definition: DtOsgPrintNodeHierarchyVisitor.h:110

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)