- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# Node File Reference

`#include <osg/Object>`
`#include <osg/StateSet>`
`#include <osg/BoundingSphere>`
`#include <osg/NodeCallback>`
`#include <string>`
`#include <vector>`

Include dependency graph for Node:

This graph shows which files directly or indirectly include this file:

## Namespaces
namespace | osg
## Classes
class | osg::Node
| Base class for all internal nodes in the scene graph. More...
## Defines
#define | OSG_NODE 1
#define | META_Node(library, name)
| META_Node macro define the standard clone, isSameKindAs, className and accept methods.
## Typedefs
typedef std::vector< Node * > | osg::NodePath
| A vector of Nodes pointers which is used to describe the path from a root node to a descendant.

## Define 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(); } } \
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