Code Search for Developers
 
 
  

CReflectedRefPointer.h from osgDesigner at Krugle


Show CReflectedRefPointer.h syntax highlighted

#ifndef __CREFLECTEDREFPOINTER_H__
#define __CREFLECTEDREFPOINTER_H__ 1

#include <string>

#include <osg/Notify>

#include <osgIntrospectionToolKit/Export.h>
#include <osgIntrospectionToolKit/CReflectedPointer.h>

#include <boost/signal.hpp>

#include <osg/ref_ptr>
#include <osg/Referenced>
#include <osgIntrospection/Utility>

namespace osgIntrospectionToolKit
{
    class SMemoryManager;
    
    class OSGINTROSPECTIONTOOLKIT_EXPORT CReflectedRefPointer: public CReflectedPointer
    {
        typedef boost::signal0<void>                                    UpdateSignal;
        
        private:
            CReflectedRefPointer(osgIntrospection::Value& ref_value);
            
            friend class SMemoryManager;
    
        protected:
            virtual ~CReflectedRefPointer() {}

        public:

            virtual Scope                                               valueScope() const
            { return (IReflectedValue::RefPointer); }
            
            bool                                                        reload()
            { 
                _value = osgIntrospection::Value(_ptr.get());
                return (_value.getType().isDefined() && _value.getInstanceType().isDefined());
            }

            UpdateSignal&                                               updateSignal()
            { return (_updateSignal); }
            
            void                                                        emitUpdateSignal()
            { _updateSignal(); }
            
            osg::Referenced*                                            ptr()
            { return (_ptr.get()); }
        private:
            osg::ref_ptr<osg::Referenced>       _ptr;
            UpdateSignal                        _updateSignal;
    };

}
#endif // ** __CREFLECTEDREFPOINTER_H__ ** //





See more files for this project here

osgDesigner

osgDesigner is a graphical tool used to modify an OpenSceneGraph (OSG) scene using the osgIntrospection framework. OpenSceneGraph developpers will be able to extend osgDesigner at need using (editor | render | osgIntrospection wrapper) plugin system.

Project homepage: http://sourceforge.net/projects/osgdesigner
Programming language(s): C++,Shell Script
License: other

  CArrayItemLink.h
  CIndexedItemLink.h
  CPropertyExtractor.h
  CReflectedInstance.h
  CReflectedPointer.h
  CReflectedRefPointer.h
  CReflectedValueLinkExtractor.h
  CValueTree.h
  CValueTreeFunctor.h
  CValueTreeModifier.h
  CommonStdType.h
  ControlList.h
  ExceptionUtility.h
  Export.h
  IGraph.h
  IReflectedValue.h
  IReflectedValueLink.h
  SMemoryManager.h
  STypeGraph.h
  SWrapperManager.h
  signalslib.hpp