Show
Ignore:
Timestamp:
02/15/10 21:15:32 (4 years ago)
Author:
robert
Message:

Refactor various NodeTracker? and MatrixManipulator? classes to use the osg::ObserverNodePath? and osg::oberserver_ptr<> classes

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/include/osg/NodeTrackerCallback

    r10764 r11061  
    1919#include <osg/Node> 
    2020#include <osg/NodeCallback> 
    21 #include <osg/observer_ptr> 
     21#include <osg/ObserverNodePath> 
    2222 
    2323namespace osg 
     
    2828    public: 
    2929 
    30  
    31         typedef std::vector< observer_ptr<Node> >   ObserverNodePath; 
    32  
    33         void setTrackNodePath(const osg::NodePath& nodePath) 
    34         { 
    35            _trackNodePath.clear(); 
    36            _trackNodePath.reserve(nodePath.size()); 
    37            std::copy(nodePath.begin(), nodePath.end(), std::back_inserter(_trackNodePath)); 
    38         } 
     30        void setTrackNodePath(const osg::NodePath& nodePath) { _trackNodePath.setNodePath(nodePath); } 
    3931 
    4032        void setTrackNodePath(const ObserverNodePath& nodePath) { _trackNodePath = nodePath; } 
     33 
    4134        ObserverNodePath& getTrackNodePath() { return _trackNodePath; } 
    4235 
    4336        void setTrackNode(osg::Node* node); 
    44         osg::Node* getTrackNode() { return _trackNodePath.empty() ? 0 : _trackNodePath.back().get(); } 
    45         const osg::Node* getTrackNode() const { return _trackNodePath.empty() ? 0 : _trackNodePath.back().get(); } 
     37        osg::Node* getTrackNode(); 
     38        const osg::Node* getTrackNode() const; 
    4639 
    4740        /** Implements the callback. */ 
     
    5043        /** Update the node to track the nodepath.*/ 
    5144        void update(osg::Node& node); 
    52  
    53  
    54         bool validateNodePath() const; 
    5545 
    5646    protected: