]> git.mxchange.org Git - flightgear.git/commitdiff
Modified the partial ssg tree deletion algorithm so it correctly preserves
authorcurt <curt>
Fri, 26 Jul 2002 22:23:49 +0000 (22:23 +0000)
committercurt <curt>
Fri, 26 Jul 2002 22:23:49 +0000 (22:23 +0000)
subtrees that may be connected into the scene graph multiple times.
(i.e.  our random ground cover objects.)

src/Scenery/tileentry.cxx

index 97d5d372e3ae2739ccee7fb179f5d384ad065e1b..b6bb04198b1ba288ab53064a6a930330b893b071 100644 (file)
@@ -702,7 +702,7 @@ static int fgPartialFreeSSGtree( ssgBranch *b, int n ) {
         int num_deletes = 0;
         for ( int i = 0; i < b->getNumKids(); ++i ) {
             ssgEntity *kid = b->getKid(i);
-            if ( kid->isAKindOf( ssgTypeBranch() ) ) {
+            if ( kid->isAKindOf( ssgTypeBranch() ) && kid->getRef() <= 1 ) {
                 int result = fgPartialFreeSSGtree( (ssgBranch *)kid, n );
                 num_deletes += result;
                 n -= result;