From: ehofman Date: Fri, 12 Mar 2004 10:09:09 +0000 (+0000) Subject: Unselect the branch if the object has become fully translucent. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=40d920ddc9fec75f5e27250eea05bfdd7e00218b;p=simgear.git Unselect the branch if the object has become fully translucent. --- diff --git a/simgear/scene/model/animation.cxx b/simgear/scene/model/animation.cxx index 67c69cb0..c5bbba8a 100644 --- a/simgear/scene/model/animation.cxx +++ b/simgear/scene/model/animation.cxx @@ -109,10 +109,16 @@ change_alpha( ssgBase *_branch, float _blend ) int num_colors = ((ssgLeaf *)_branch)->getNumColours(); - for (i = 0; i < num_colors; i++) - { - float *color = ((ssgLeaf *)_branch)->getColour(i); - color[3] = _blend; + if ( _blend == 1.0 ) { // fully translucent. + for (i = 0; i < num_colors; i++) + ((ssgSelector *)_branch)->select(0x0000); // deselect item. + } else { + for (i = 0; i < num_colors; i++) + { + ((ssgSelector *)_branch)->select(0xffff); + float *color = ((ssgLeaf *)_branch)->getColour(i); + color[3] = _blend; + } } }