75 lines
1.8 KiB
Java
75 lines
1.8 KiB
Java
/*
|
|
* Copyright (C) 2014 Alfons Wirtz
|
|
* website www.freerouting.net
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License at <http://www.gnu.org/licenses/>
|
|
* for more details.
|
|
*
|
|
* ExpansionRoom.java
|
|
*
|
|
* Created on 15. April 2006, 10:12
|
|
*
|
|
*/
|
|
|
|
package eu.mihosoft.freerouting.autoroute;
|
|
|
|
import java.util.List;
|
|
|
|
import eu.mihosoft.freerouting.geometry.planar.TileShape;
|
|
|
|
/**
|
|
*
|
|
* @author alfons
|
|
*/
|
|
public interface ExpansionRoom
|
|
{
|
|
/**
|
|
* Adds p_door to the list of doors of this room.
|
|
*/
|
|
void add_door(ExpansionDoor p_door);
|
|
|
|
/**
|
|
* Returns the list of doors of this room to neighbour expansion rooms
|
|
*/
|
|
List<ExpansionDoor> get_doors();
|
|
|
|
/**
|
|
* Removes all doors from this room.
|
|
*/
|
|
void clear_doors();
|
|
|
|
/**
|
|
* Clears the autorouting info of all doors for routing the next connection.
|
|
*/
|
|
void reset_doors();
|
|
|
|
/**
|
|
* Checks, if this room has already a door to p_other
|
|
*/
|
|
boolean door_exists(ExpansionRoom p_other);
|
|
|
|
/**
|
|
* Removes p_door from this room.
|
|
* Returns false, if p_room did not contain p_door.
|
|
*/
|
|
boolean remove_door (ExpandableObject p_door);
|
|
|
|
/**
|
|
* Gets the shape of this room.
|
|
*/
|
|
TileShape get_shape();
|
|
|
|
/**
|
|
* Returns the layer of this expansion room.
|
|
*/
|
|
int get_layer();
|
|
}
|