17 #ifndef KITE_DATA_NEGOCIATE_H
18 #define KITE_DATA_NEGOCIATE_H
27 #include "kite/TrackElement.h"
38 using Hurricane::Record;
76 inline unsigned int getState ()
const;
81 inline const vector<TrackElement*>& getPerpandiculars ()
const;
83 inline void setState (
unsigned int,
unsigned int flags=0 );
93 Record* _getRecord ()
const;
94 string _getString ()
const;
95 inline string _getTypeName ()
const;
102 unsigned int _state : 5;
103 unsigned int _stateCount : 5;
104 unsigned int _terminals : 5;
105 unsigned int _ripupCount : 16;
108 vector<DbU::Unit> _attractors;
109 vector<TrackElement*> _perpandiculars;
122 inline TrackElement* DataNegociate::getChildSegment ()
const {
return _childSegment; }
130 inline const vector<TrackElement*>& DataNegociate::getPerpandiculars ()
const {
return _perpandiculars; }
135 inline void DataNegociate::setChildSegment (
TrackElement* child ) { _childSegment = child; }
140 inline string DataNegociate::_getTypeName ()
const {
return "DataNegociate"; }
153 {
return (_state << 4) + _ripupCount; }
158 #endif // KITE_DATA_NEGOCIATE_H
Atomic Placement Request for a TrackSegment.
Definition: RoutingEvent.h:55
Definition: DataNegociate.h:60
Track * getTrack() const
Definition: TrackElement.h:238
SlackState
Definition: DataNegociate.h:52
Definition: DataNegociate.h:57
bool hasRoutingEvent() const
Definition: DataNegociate.h:119
void setState(unsigned int, unsigned int flags=0)
Definition: DataNegociate.h:142
unsigned int getStateCount() const
Definition: DataNegociate.h:132
void decRipupCount()
Definition: DataNegociate.h:138
DbU::Unit getRightMinExtend() const
Definition: DataNegociate.h:128
Net * getNet() const
Definition: DataNegociate.h:129
Track * getTrack() const
Definition: DataNegociate.h:123
void setRipupCount(unsigned int)
Definition: DataNegociate.h:136
unsigned int getState() const
Definition: DataNegociate.h:124
Definition: DataNegociate.h:52
TrackElement * getTrackSegment() const
Definition: DataNegociate.h:121
void setRoutingEvent(RoutingEvent *)
Definition: DataNegociate.h:134
Definition: DataNegociate.h:56
Structure managing one routing track.
Definition: Track.h:42
DbU::Unit getLeftMinExtend() const
Definition: DataNegociate.h:127
Definition: DataNegociate.h:62
Definition: Constants.h:43
void resetStateCount()
Definition: DataNegociate.h:133
void update()
Definition: DataNegociate.cpp:82
Definition: DataNegociate.h:54
Definition: DataNegociate.h:59
unsigned int getStateAndRipupCount() const
Definition: DataNegociate.h:152
void incRipupCount()
Definition: DataNegociate.h:137
RoutingEvent * getRoutingEvent() const
Definition: DataNegociate.h:120
Abstract Class for all Elements inserted inside a Track.
Definition: TrackElement.h:100
Definition: DataNegociate.h:55
unsigned int getTerminals() const
Definition: DataNegociate.h:125
const Interval & getPerpandicularFree() const
Definition: DataNegociate.h:131
Definition: DataNegociate.h:61
Definition: DataNegociate.h:53
unsigned int getRipupCount() const
Definition: DataNegociate.h:126
DbU::Unit getWiringDelta(DbU::Unit axis) const
Definition: DataNegociate.cpp:67
Definition: DataNegociate.h:58
Algorimthmic datas associated the TrackSegment.
Definition: DataNegociate.h:50
void resetRipupCount()
Definition: DataNegociate.h:139