Print at Dec 20, 2025, 6:25:27 PM

Posted by Sv.Kostadinov at Oct 27, 2009, 4:47:50 PM
Re: Multi-connected walls
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

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.