OSG  3.4.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Macros | Functions
Object.h File Reference
#include <osg/Referenced>
#include <osg/CopyOp>
#include <osg/ref_ptr>
#include <osg/Notify>
#include <string>
#include <vector>
Include dependency graph for Object.h:

Go to the source code of this file.

Classes

class  osg::Object
 
class  osg::DummyObject
 

Namespaces

 osg
 

Macros

#define _ADDQUOTES(def)   #def
 
#define ADDQUOTES(def)   _ADDQUOTES(def)
 
#define META_Object(library, name)
 
#define OSG_INIT_SINGLETON_PROXY(ProxyName, Func)   static struct ProxyName{ ProxyName() { Func; } } s_##ProxyName;
 

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)
 
template<typename T >
T * osg::cloneType (const T *t)
 

Macro Definition Documentation

#define _ADDQUOTES (   def)    #def

Definition at line 35 of file Object.h.

#define ADDQUOTES (   def)    _ADDQUOTES(def)

Definition at line 36 of file Object.h.

#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; }
#define NULL
Definition: Export.h:59
T * clone(const T *t, const std::string &name, const osg::CopyOp &copyop=osg::CopyOp::SHALLOW_COPY)
Definition: Object.h:268
T * cloneType(const T *t)
Definition: Object.h:284

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.

Definition at line 42 of file Object.h.

#define OSG_INIT_SINGLETON_PROXY (   ProxyName,
  Func 
)    static struct ProxyName{ ProxyName() { Func; } } s_##ProxyName;

Helper macro that creates a static proxy object to call singleton function on it's construction, ensuring that the singleton gets initialized at startup.

Definition at line 50 of file Object.h.