OpenSceneGraph 3.6.5
|
#include <Serializer>
Public Types | |
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 | |
BaseSerializer (int usage) | |
virtual bool | set (osg::Object &, void *) |
virtual bool | get (const osg::Object &, void *) |
virtual bool | read (InputStream &, osg::Object &)=0 |
virtual bool | write (OutputStream &, const osg::Object &)=0 |
virtual const std::string & | getName () const =0 |
virtual IntLookup * | getIntLookup () |
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 |
![]() | |
Referenced () | |
Referenced (bool threadSafeRefUnref) | |
Deprecated, Referenced is now always uses thread safe ref/unref, use default Referenced() constructor instead. | |
Referenced (const Referenced &) | |
Referenced & | operator= (const Referenced &) |
virtual void | setThreadSafeRefUnref (bool) |
Deprecated, Referenced is always theadsafe so there method now has no effect and does not need to be called. | |
bool | getThreadSafeRefUnref () const |
Get whether a mutex is used to ensure ref() and unref() are thread safe. | |
OpenThreads::Mutex * | getRefMutex () const |
Get the mutex used to ensure thread safety of ref()/unref(). | |
int | ref () const |
Increment the reference count by one, indicating that this object has another pointer which is referencing it. | |
int | unref () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. | |
int | unref_nodelete () const |
Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. | |
int | referenceCount () const |
Return the number of pointers currently referencing this object. | |
ObserverSet * | getObserverSet () const |
Get the ObserverSet if one is attached, otherwise return NULL. | |
ObserverSet * | getOrCreateObserverSet () const |
Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. | |
void | addObserver (Observer *observer) const |
Add a Observer that is observing this object, notify the Observer when this object gets deleted. | |
void | removeObserver (Observer *observer) const |
Remove Observer that is observing this object. | |
Protected Attributes | |
int | _firstVersion |
int | _lastVersion |
int | _usage |
![]() | |
OpenThreads::AtomicPtr | _observerSet |
OpenThreads::Atomic | _refCount |
Friends | |
class | ObjectWrapper |
Additional Inherited Members | |
![]() | |
static OpenThreads::Mutex * | getGlobalReferencedMutex () |
Get the optional global Referenced mutex, this can be shared between all osg::Referenced. | |
static void | setDeleteHandler (DeleteHandler *handler) |
Set a DeleteHandler to which deletion of all referenced counted objects will be delegated. | |
static DeleteHandler * | getDeleteHandler () |
Get a DeleteHandler. | |
![]() | |
virtual | ~Referenced () |
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
void | deleteUsingDeleteHandler () const |
|
inline |
|
inlinevirtual |
Reimplemented in osgDB::ImageSerializer< C, P >, and osgDB::ObjectSerializer< C, P >.
|
inlinevirtual |
Reimplemented in osgDB::EnumSerializer< C, P, B >.
|
pure virtual |
Implemented in osgDB::IsAVectorSerializer< C >, osgDB::ListSerializer< C, P >, osgDB::MapSerializer< C, P >, osgDB::ObjectSerializer< C, P >, osgDB::TemplateSerializer< P >, osgDB::TemplateSerializer< osg::Matrix >, osgDB::TemplateSerializer< P * >, osgDB::TemplateSerializer< std::string >, osgDB::TemplateSerializer< unsigned int >, osgDB::UserSerializer< C >, and osgDB::VectorSerializer< C, P >.
|
inline |
|
pure virtual |
Implemented in osgDB::BitFlagsSerializer< C, P >, osgDB::EnumSerializer< C, P, B >, osgDB::GLenumSerializer< C, P >, osgDB::ImageSerializer< C, P >, osgDB::IsAVectorSerializer< C >, osgDB::ListSerializer< C, P >, osgDB::MapSerializer< C, P >, osgDB::MatrixSerializer< C >, osgDB::ObjectSerializer< C, P >, osgDB::PropByRefSerializer< C, P >, osgDB::PropByValSerializer< C, P >, osgDB::StringSerializer< C >, osgDB::TemplateSerializer< P >, osgDB::TemplateSerializer< osg::Matrix >, osgDB::TemplateSerializer< P * >, osgDB::TemplateSerializer< std::string >, osgDB::TemplateSerializer< unsigned int >, osgDB::UserSerializer< C >, and osgDB::VectorSerializer< C, P >.
|
inlinevirtual |
Reimplemented in osgDB::ImageSerializer< C, P >, and osgDB::ObjectSerializer< C, P >.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
pure virtual |
Implemented in osgDB::BitFlagsSerializer< C, P >, osgDB::EnumSerializer< C, P, B >, osgDB::GLenumSerializer< C, P >, osgDB::ImageSerializer< C, P >, osgDB::IsAVectorSerializer< C >, osgDB::ListSerializer< C, P >, osgDB::MapSerializer< C, P >, osgDB::MatrixSerializer< C >, osgDB::ObjectSerializer< C, P >, osgDB::PropByRefSerializer< C, P >, osgDB::PropByValSerializer< C, P >, osgDB::StringSerializer< C >, osgDB::TemplateSerializer< P >, osgDB::TemplateSerializer< osg::Matrix >, osgDB::TemplateSerializer< P * >, osgDB::TemplateSerializer< std::string >, osgDB::TemplateSerializer< unsigned int >, osgDB::UserSerializer< C >, and osgDB::VectorSerializer< C, P >.
|
friend |
|
protected |
|
protected |
|
protected |
![]() | Generated at Sat Nov 9 2024 00:00:00 for the OpenSceneGraph by doxygen 1.12.0. |