openscenegraph
osgDB::ObjectSerializer< C, P > Class Template Reference

#include <Serializer>

Inheritance diagram for osgDB::ObjectSerializer< C, P >:
osgDB::BaseSerializer osg::Referenced

Public Types

typedef const P *(C::* Getter) () const
typedef void(C::* Setter) (P *)
Public Types inherited from osgDB::BaseSerializer
enum  Type {
  RW_UNDEFINED = 0 , RW_USER , RW_OBJECT , RW_IMAGE ,
  RW_LIST , RW_BOOL , RW_CHAR , RW_UCHAR ,
  RW_SHORT , RW_USHORT , RW_INT , RW_UINT ,
  RW_FLOAT , RW_DOUBLE , RW_VEC2F , RW_VEC2D ,
  RW_VEC3F , RW_VEC3D , RW_VEC4F , RW_VEC4D ,
  RW_QUAT , RW_PLANE , RW_MATRIXF , RW_MATRIXD ,
  RW_MATRIX , RW_GLENUM , RW_STRING , RW_ENUM ,
  RW_VEC2B , RW_VEC2UB , RW_VEC2S , RW_VEC2US ,
  RW_VEC2I , RW_VEC2UI , RW_VEC3B , RW_VEC3UB ,
  RW_VEC3S , RW_VEC3US , RW_VEC3I , RW_VEC3UI ,
  RW_VEC4B , RW_VEC4UB , RW_VEC4S , RW_VEC4US ,
  RW_VEC4I , RW_VEC4UI , RW_BOUNDINGBOXF , RW_BOUNDINGBOXD ,
  RW_BOUNDINGSPHEREF , RW_BOUNDINGSPHERED , RW_VECTOR , RW_MAP
}
enum  Usage { READ_WRITE_PROPERTY = 1 , GET_PROPERTY = 2 , SET_PROPERTY = 4 , GET_SET_PROPERTY = GET_PROPERTY | SET_PROPERTY }

Public Member Functions

 ObjectSerializer (const char *name, P *def, Getter gf, Setter sf)
virtual bool set (osg::Object &obj, void *value)
virtual bool get (const osg::Object &obj, void *value)
virtual const std::string & getName () const
virtual bool read (InputStream &is, osg::Object &obj)
virtual bool write (OutputStream &os, const osg::Object &obj)
Public Member Functions inherited from osgDB::BaseSerializer
 BaseSerializer (int usage)
virtual IntLookupgetIntLookup ()
void setUsage (int usage)
int getUsage () const
void setUsage (bool hasGetter, bool hasSetter)
bool supportsReadWrite () const
bool supportsGetSet () const
bool supportsGet () const
bool supportsSet () const
Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Referenced (const Referenced &)
Referencedoperator= (const Referenced &)
virtual void setThreadSafeRefUnref (bool)
bool getThreadSafeRefUnref () const
OpenThreads::MutexgetRefMutex () const
int ref () const
int unref () const
int unref_nodelete () const
int referenceCount () const
ObserverSetgetObserverSet () const
ObserverSetgetOrCreateObserverSet () const
void addObserver (Observer *observer) const
void removeObserver (Observer *observer) const

Public Attributes

std::string _name
osg::ref_ptr< P > _defaultValue
Getter _getter
Setter _setter

Additional Inherited Members

Static Public Member Functions inherited from osg::Referenced
static OpenThreads::MutexgetGlobalReferencedMutex ()
static void setDeleteHandler (DeleteHandler *handler)
static DeleteHandlergetDeleteHandler ()
Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
void deleteUsingDeleteHandler () const
Protected Attributes inherited from osgDB::BaseSerializer
int _firstVersion
int _lastVersion
int _usage
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
OpenThreads::Atomic _refCount

Member Typedef Documentation

◆ Getter

template<typename C, typename P>
typedef const P *(C::* osgDB::ObjectSerializer< C, P >::Getter) () const

◆ Setter

template<typename C, typename P>
typedef void(C::* osgDB::ObjectSerializer< C, P >::Setter) (P *)

Constructor & Destructor Documentation

◆ ObjectSerializer()

template<typename C, typename P>
osgDB::ObjectSerializer< C, P >::ObjectSerializer ( const char * name,
P * def,
Getter gf,
Setter sf )
inline

Member Function Documentation

◆ get()

template<typename C, typename P>
virtual bool osgDB::ObjectSerializer< C, P >::get ( const osg::Object & obj,
void * value )
inlinevirtual

Reimplemented from osgDB::BaseSerializer.

References _getter, and OBJECT_CAST.

◆ getName()

template<typename C, typename P>
virtual const std::string & osgDB::ObjectSerializer< C, P >::getName ( ) const
inlinevirtual

Implements osgDB::BaseSerializer.

References _name.

◆ read()

◆ set()

template<typename C, typename P>
virtual bool osgDB::ObjectSerializer< C, P >::set ( osg::Object & obj,
void * value )
inlinevirtual

Reimplemented from osgDB::BaseSerializer.

References _setter, and OBJECT_CAST.

◆ write()

Member Data Documentation

◆ _defaultValue

template<typename C, typename P>
osg::ref_ptr<P> osgDB::ObjectSerializer< C, P >::_defaultValue

Referenced by ObjectSerializer(), and write().

◆ _getter

template<typename C, typename P>
Getter osgDB::ObjectSerializer< C, P >::_getter

Referenced by get(), ObjectSerializer(), and write().

◆ _name

template<typename C, typename P>
std::string osgDB::ObjectSerializer< C, P >::_name

Referenced by getName(), ObjectSerializer(), read(), and write().

◆ _setter

template<typename C, typename P>
Setter osgDB::ObjectSerializer< C, P >::_setter

Referenced by ObjectSerializer(), read(), and set().


The documentation for this class was generated from the following file: