question: 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 ; }
target:  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.