Node File Reference
`#include <osg/Object>`
`#include <osg/StateSet>`
`#include <osg/BoundingSphere>`
`#include <osg/BoundingBox>`
`#include <osg/Callback>`
`#include <string>`
`#include <vector>`

Go to the source code of this file.

## Classes

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

## Namespaces

namespace | osgTerrain
namespace | 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

## META_Node

#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(); } } \
osg::CopyOp
Definition CopyOp:41
osg::NodeVisitor::apply
virtual void apply(Drawable &drawable)
osg::NodeVisitor::pushOntoNodePath
void pushOntoNodePath(Node *node)
Definition NodeVisitor:287
osg::NodeVisitor::validNodeMask
bool validNodeMask(const osg::Node &node) const
Definition NodeVisitor:221
osg::NodeVisitor::popFromNodePath
void popFromNodePath()
Definition NodeVisitor:293
osg::Object
Definition Object:61
NULL
#define NULL
Definition osg/Export:55

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.

## OSG_NODE

#define OSG_NODE 1