Classes | Namespaces | Defines | Functions

Object File Reference

#include <osg/Referenced>
#include <osg/CopyOp>
#include <osg/ref_ptr>
#include <string>

Classes

class  osg::Object

Namespaces

namespace  osg

Defines

#define OSG_OBJECT   1
#define _ADDQUOTES(def)   #def
#define ADDQUOTES(def)   _ADDQUOTES(def)
#define META_Object(library, name)

Functions

template<typename T >
T * osg::clone (const T *t, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
template<typename T >
T * osg::clone (const T *t, const std::string &name, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)

Define Documentation

#define _ADDQUOTES (   def )    #def
#define ADDQUOTES (   def )    _ADDQUOTES(def)
#define META_Object (   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* libraryName() const { return #library; }\
        virtual const char* className() const { return #name; }

META_Object macro define the standard clone, isSameKindAs and className methods. Use when subclassing from Object to make it more convenient to define the standard pure virtual clone, isSameKindAs and className methods which are required for all Object subclasses.

#define OSG_OBJECT   1