14#ifndef OSGDB_DOTOSGWRAPPER
15#define OSGDB_DOTOSGWRAPPER 1
45 const std::string& name,
46 const std::string& associates,
53 inline const std::string&
getName()
const {
return _name; }
112 typedef std::map< std::string, osg::ref_ptr<DotOsgWrapper> > DotOsgWrapperMap;
115 void eraseWrapper(DotOsgWrapperMap& wrappermap,
DotOsgWrapper* wrapper);
117 DotOsgWrapperMap _objectWrapperMap;
118 DotOsgWrapperMap _imageWrapperMap;
119 DotOsgWrapperMap _drawableWrapperMap;
120 DotOsgWrapperMap _stateAttrWrapperMap;
121 DotOsgWrapperMap _uniformWrapperMap;
122 DotOsgWrapperMap _nodeWrapperMap;
123 DotOsgWrapperMap _shaderWrapperMap;
125 DotOsgWrapperMap _classNameWrapperMap;
136 const std::string& name,
137 const std::string& associates,
138 DotOsgWrapper::ReadFunc readFunc,
139 DotOsgWrapper::WriteFunc writeFunc,
155 const std::string& name,
156 const std::string& associates,
165#define REGISTER_DOTOSGWRAPPER(classname) \
166 extern "C" void dotosgwrapper_##classname(void) {} \
167 static osgDB::RegisterDotOsgWrapperProxy dotosgwrapper_proxy_##classname
Definition DotOsgWrapper:84
osg::Object * readObjectOfType(const osg::Object &compObj, Input &fr)
bool getLibraryFileNamesToTry(const std::string &name, FileNames &fileNames)
osg::Drawable * readDrawable(Input &fr)
std::list< std::string > FileNames
Definition DotOsgWrapper:105
void addDotOsgWrapper(DotOsgWrapper *wrapper)
osg::StateAttribute * readStateAttribute(Input &fr)
void removeDotOsgWrapper(DotOsgWrapper *wrapper)
bool writeObject(const osg::Object &obj, Output &fw)
osg::Image * readImage(Input &fr)
osg::Uniform * readUniform(Input &fr)
osg::Object * readObject(Input &fr)
osg::Object * readObjectOfType(const basic_type_wrapper &btw, Input &fr)
osg::Shader * readShader(Input &fr)
DeprecatedDotOsgWrapperManager()
Definition DotOsgWrapper:87
osg::Node * readNode(Input &fr)
Definition DotOsgWrapper:31
std::string _name
Definition DotOsgWrapper:72
const Associates & getAssociates() const
Definition DotOsgWrapper:54
bool(* WriteFunc)(const osg::Object &, osgDB::Output &)
Definition DotOsgWrapper:36
std::vector< std::string > Associates
Definition DotOsgWrapper:34
ReadFunc getReadFunc() const
Definition DotOsgWrapper:55
DotOsgWrapper(osg::Object *proto, const std::string &name, const std::string &associates, ReadFunc readFunc, WriteFunc writeFunc, ReadWriteMode readWriteMode=READ_AND_WRITE)
bool(* ReadFunc)(osg::Object &, osgDB::Input &)
Definition DotOsgWrapper:35
ReadWriteMode _readWriteMode
Definition DotOsgWrapper:78
Associates _associates
Definition DotOsgWrapper:73
WriteFunc _writeFunc
Definition DotOsgWrapper:76
ReadWriteMode getReadWriteMode() const
Definition DotOsgWrapper:57
DotOsgWrapper()
protected to prevent inappropriate creation of wrappers.
Definition DotOsgWrapper:62
virtual ~DotOsgWrapper()
protected to prevent wrapper being created on stack.
Definition DotOsgWrapper:68
ReadFunc _readFunc
Definition DotOsgWrapper:75
WriteFunc getWriteFunc() const
Definition DotOsgWrapper:56
const osg::Object * getPrototype() const
Definition DotOsgWrapper:52
osg::ref_ptr< osg::Object > _prototype
Definition DotOsgWrapper:70
DotOsgWrapper(DotOsgWrapper &)
protected to prevent inappropriate creation of wrappers.
Definition DotOsgWrapper:65
const std::string & getName() const
Definition DotOsgWrapper:53
ReadWriteMode
Definition DotOsgWrapper:39
@ READ_AND_WRITE
Definition DotOsgWrapper:40
Definition DotOsgWrapper:132
~RegisterDotOsgWrapperProxy()
RegisterDotOsgWrapperProxy(osg::Object *proto, const std::string &name, const std::string &associates, DotOsgWrapper::ReadFunc readFunc, DotOsgWrapper::WriteFunc writeFunc, DotOsgWrapper::ReadWriteMode readWriteMode=DotOsgWrapper::READ_AND_WRITE)
osg::ref_ptr< DotOsgWrapper > _wrapper
Definition DotOsgWrapper:145
Definition DotOsgWrapper:151
TemplateRegisterDotOsgWrapperProxy(osg::Object *proto, const std::string &name, const std::string &associates, DotOsgWrapper::ReadFunc readFunc, DotOsgWrapper::WriteFunc writeFunc, DotOsgWrapper::ReadWriteMode readWriteMode=DotOsgWrapper::READ_AND_WRITE)
Definition DotOsgWrapper:154
Definition StateAttribute:77
author: Julien Valentin 2017 (mp3butcher@hotmail.com)
Definition AlphaFunc:19
#define OSGDB_EXPORT
Definition osgDB/Export:39
Definition osgDB/Input:33