Changeset 6112

Show
Ignore:
Timestamp:
02/07/07 22:48:53
Author:
robert
Message:

Changed the setting of need to traverse during the update traverse so it is only enabled when animation is switched on.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • OpenSceneGraph/trunk/include/osgSim/DOFTransform

    r5328 r6112  
    101101        }; 
    102102 
    103         void setHPRMultOrder(const MultOrder order) {_multOrder = order;
     103        void setHPRMultOrder(const MultOrder order) { _multOrder = order;
    104104        inline const MultOrder getHPRMultOrder() const { return _multOrder;} 
    105105 
    106         inline void setAnimationOn(bool do_animate) {_animationOn = do_animate;} 
    107         inline bool getAnimationOn() const {return _animationOn;
     106        void setAnimationOn(bool do_animate); 
     107        inline bool getAnimationOn() const { return _animationOn;
    108108 
    109109        void animate(float deltaTime); 
  • OpenSceneGraph/trunk/src/osgSim/DOFTransform.cpp

    r6051 r6112  
    3535    _multOrder(PRH) 
    3636{ 
    37     setNumChildrenRequiringUpdateTraversal(1); 
    3837} 
    3938 
     
    6160    _multOrder(dof._multOrder) 
    6261{ 
    63     setNumChildrenRequiringUpdateTraversal(getNumChildrenRequiringUpdateTraversal()+1);             
     62    if (_animationOn) setNumChildrenRequiringUpdateTraversal(getNumChildrenRequiringUpdateTraversal()+1);             
    6463} 
    6564 
     
    461460} 
    462461 
     462void DOFTransform::setAnimationOn(bool do_animate) 
     463{ 
     464    if (_animationOn == do_animate) return; 
     465     
     466    int delta = 0; 
     467 
     468    if (_animationOn) --delta; 
     469    if (do_animate) ++delta; 
     470 
     471    _animationOn = do_animate; 
     472     
     473    if (_animationOn) setNumChildrenRequiringUpdateTraversal(getNumChildrenRequiringUpdateTraversal()+delta); 
     474} 
     475 
    463476void DOFTransform::animate(float deltaTime) 
    464477{