OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Macros | Typedefs
Node.h File Reference
#include <osg/Object>
#include <osg/StateSet>
#include <osg/BoundingSphere>
#include <osg/BoundingBox>
#include <osg/Callback>
#include <string>
#include <vector>
Include dependency graph for Node.h:

Go to the source code of this file.

Classes

class  osg::Node
 
struct  osg::Node::ComputeBoundingSphereCallback
 

Namespaces

 osgTerrain
 
 osg
 

Macros

#define META_Node(library, name)
 

Typedefs

typedef std::vector< Node * > osg::NodePath
 
typedef std::vector< NodePath > osg::NodePathList
 
typedef std::vector< Matrix > osg::MatrixList
 

Macro Definition Documentation

#define META_Node (   library,
  name 
)
Value:
virtual osg::Object* cloneType() const { return new name (); } \
virtual osg::Object* clone(const osg::CopyOp& copyop) const { return new name (*this,copyop); } \
virtual bool isSameKindAs(const osg::Object* obj) const { return dynamic_cast<const name *>(obj)!=NULL; } \
virtual const char* className() const { return #name; } \
virtual const char* libraryName() const { return #library; } \
virtual void accept(osg::NodeVisitor& nv) { if (nv.validNodeMask(*this)) { nv.pushOntoNodePath(this); nv.apply(*this); nv.popFromNodePath(); } } \
#define NULL
Definition: Export.h:59
void popFromNodePath()
Definition: NodeVisitor.h:204
bool validNodeMask(const osg::Node &node) const
Definition: NodeVisitor.h:166
T * clone(const T *t, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
Definition: Object.h:242
virtual void apply(Drawable &drawable)
T * cloneType(const T *t)
Definition: Object.h:284
void pushOntoNodePath(Node *node)
Definition: NodeVisitor.h:198

META_Node macro define the standard clone, isSameKindAs, className and accept methods. Use when subclassing from Node to make it more convenient to define the required pure virtual methods.

Definition at line 59 of file Node.h.