public ExpandRoomFreespaceIncomplete add_incomplete_expansion_room(ShapeTile p_shape,int p_layer,ShapeTile p_contained_shape){
  ExpandRoomFreespaceIncomplete new_room=new ExpandRoomFreespaceIncomplete(p_shape,p_layer,p_contained_shape);
  incomplete_expansion_rooms.add(new_room);
  return new_room;
}

public ExpandRoomFreespaceIncomplete add_incomplete_expansion_room ( ShapeTile p_shape , int p_layer , ShapeTile p_contained_shape ) { ExpandRoomFreespaceIncomplete new_room = new ExpandRoomFreespaceIncomplete ( p_shape , p_layer , p_contained_shape ) ; incomplete_expansion_rooms . add ( new_room ) ; return new_room ; }
creates a new freespaceexpansionroom and adds it to the room list . its shape is normally unbounded at construction time of the room . the final ( completed ) shape will be a subshape of the start shape , which does not overlap with any obstacle , and it is as big as possible . p_contained_points will remain contained in the shape , after it is completed .
