92 virtual void onCellDeleted(
Cell* cell) = 0;
105 virtual void onInstanceEnteredCell(
Cell* cell,
Instance* instance) = 0;
111 virtual void onInstanceExitedCell(
Cell* cell,
Instance* instance) = 0;
118 virtual void onBlockingChangedCell(
Cell* cell, CellTypeInfo type,
bool blocks) = 0;
139 void addInstances(
const std::list<Instance*>& instances);
144 void addInstance(
Instance* instance);
149 void changeInstance(
Instance* instance);
154 void removeInstance(
Instance* instance);
160 bool isNeighbor(
Cell* cell);
165 void updateCellInfo();
175 void setCostMultiplier(
double multi);
180 double getCostMultiplier();
184 void resetCostMultiplier();
194 void setSpeedMultiplier(
double multi);
199 double getSpeedMultiplier();
203 void resetSpeedMultiplier();
213 void setZone(
Zone* zone);
228 void setInserted(
bool inserted);
233 bool isZoneProtected();
238 void setZoneProtected(
bool protect);
243 CellTypeInfo getCellType();
248 void setCellType(CellTypeInfo type);
253 const std::set<Instance*>& getInstances();
258 void setCellId(int32_t
id);
273 void addNeighbor(
Cell* cell);
278 const std::vector<Cell*>& getNeighbors();
282 void resetNeighbors();
299 void deleteTransition();
320 void onCellDeleted(
Cell* cell);
338 void callOnInstanceEntered(
Instance* instance);
344 void callOnInstanceExited(
Instance* instance);
350 void callOnBlockingChanged(
bool blocks);
354 void updateCellBlockingInfo();
Layer * m_layer
target layer
std::vector< CellChangeListener * > m_changeListeners
change listener
bool m_difflayer
is target on another layer
static const double MIN_CELL_Z
Listener interface for changes happening on a cell.
std::set< Instance * > m_instances
CellType
Defines different blocker types.
Base class for all fife classes Used e.g.
virtual ~CellChangeListener()
Listener interface for deletions happening on a cell, used for transistions.
TransitionInfo(Layer *layer)
Simple class to hold the data for transistions.
int32_t m_coordId
holds coordinate as a unique integer id
TransitionInfo * m_transition
Pointer to Transistion.
Layer * m_layer
parent layer
A basic cell on a CellCache.
virtual ~CellDeleteListener()
ModelCoordinate m_coordinate
holds coordinate
CellTypeInfo m_type
CellType.
std::vector< Cell * > m_neighbors
neighbor cells
std::vector< CellDeleteListener * > m_deleteListeners
delete listener
bool m_inserted
already inserted
An Instance is an "instantiation" of an Object at a Location.
bool m_immediate
use immediate
A Zone is an abstract depiction of a CellCache or of a part of it.
ModelCoordinate m_mc
target coordinates