Re: Multi-connected walls

by Sv.Kostadinov » Tue Oct 27, 2009 4:47 pm

Hi!

I'll keep you in touch. I'm still in the phase of rough modifications/additions. When I start to implement something real, I'll surely need your support.
There's a small note about PlanController. Look at doReverseWallsDirection(). I suppose the lines

Code: Select all

Wall wallAtStart = wall.getWallAtStart();            
      boolean joinedAtEndOfWallAtStart =
        wallAtStart != null
        && wallAtStart.getWallAtEnd() == wall;
      boolean joinedAtStartOfWallAtStart =
        wallAtStart != null
        && wallAtStart.getWallAtStart() == wall;
      Wall wallAtEnd = wall.getWallAtEnd();      
      boolean joinedAtEndOfWallAtEnd =
        wallAtEnd != null
        && wallAtEnd.getWallAtEnd() == wall;
      boolean joinedAtStartOfWallAtEnd =
        wallAtEnd != null
        && wallAtEnd.getWallAtStart() == wall;
      
      wall.setWallAtStart(wallAtEnd);
      wall.setWallAtEnd(wallAtStart);
      
      if (joinedAtEndOfWallAtStart) 
      {
        wallAtStart.setWallAtEnd(wall);
      } 
      else if (joinedAtStartOfWallAtStart) 
      {
        wallAtStart.setWallAtStart(wall);
      }
      
      if (joinedAtEndOfWallAtEnd) 
      {
        wallAtEnd.setWallAtEnd(wall);
      } 
      else if (joinedAtStartOfWallAtEnd) 
      {
        wallAtEnd.setWallAtStart(wall);
      }
are not actually needed. The references from the neighbors' ends to the reversed wall are not modified during the reverse operation. I think you don't need to update them. You have connections "end->wall", not "end->end", that's why you probably missled yourself.