openscenegraph
Classes | Namespaces | Macros | Typedefs
Node File Reference
#include <osg/Object>
#include <osg/StateSet>
#include <osg/BoundingSphere>
#include <osg/NodeCallback>
#include <string>
#include <vector>

Classes

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

Namespaces

 osgTerrain
 
 osg
 

Macros

#define OSG_NODE   1
 
#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(); } } \
Definition: Object:52
bool validNodeMask(const osg::Node &node) const
Definition: NodeVisitor:156
T * clone(const T *t, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
Definition: Object:201
T * cloneType(const T *t)
Definition: Object:243
void popFromNodePath()
Definition: NodeVisitor:209
#define NULL
Definition: Export:59
Definition: CopyOp:39
virtual void apply(Node &node)
Definition: NodeVisitor:65
void pushOntoNodePath(Node *node)
Definition: NodeVisitor:203

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.

#define OSG_NODE   1