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
TrackElement * getTrackSegment() const
Definition: DataNegociate.h:121
SlackState
Definition: DataNegociate.h:52
unsigned int getRipupCount() const
Definition: DataNegociate.h:126
Definition: DataNegociate.h:57
void setState(unsigned int, unsigned int flags=0)
Definition: DataNegociate.h:142
void decRipupCount()
Definition: DataNegociate.h:138
void setRipupCount(unsigned int)
Definition: DataNegociate.h:136
Definition: DataNegociate.h:52
unsigned int getStateCount() const
Definition: DataNegociate.h:132
bool hasRoutingEvent() const
Definition: DataNegociate.h:119
unsigned int getTerminals() const
Definition: DataNegociate.h:125
void setRoutingEvent(RoutingEvent *)
Definition: DataNegociate.h:134
unsigned int getStateAndRipupCount() const
Definition: DataNegociate.h:152
Definition: DataNegociate.h:56
Net * getNet() const
Definition: DataNegociate.h:129
Structure managing one routing track.
Definition: Track.h:42
Definition: DataNegociate.h:62
Definition: Constants.h:43
void resetStateCount()
Definition: DataNegociate.h:133
RoutingEvent * getRoutingEvent() const
Definition: DataNegociate.h:120
DbU::Unit getWiringDelta(DbU::Unit axis) const
Definition: DataNegociate.cpp:67
unsigned int getState() const
Definition: DataNegociate.h:124
DbU::Unit getLeftMinExtend() const
Definition: DataNegociate.h:127
void update()
Definition: DataNegociate.cpp:82
Definition: DataNegociate.h:54
Definition: DataNegociate.h:59
const Interval & getPerpandicularFree() const
Definition: DataNegociate.h:131
void incRipupCount()
Definition: DataNegociate.h:137
Abstract Class for all Elements inserted inside a Track.
Definition: TrackElement.h:100
Definition: DataNegociate.h:55
Track * getTrack() const
Definition: DataNegociate.h:123
Definition: DataNegociate.h:61
Definition: DataNegociate.h:53
Track * getTrack() const
Definition: TrackElement.h:238
The namespace dedicated to Kite.
Definition: Constants.h:22
DbU::Unit getRightMinExtend() const
Definition: DataNegociate.h:128
Definition: DataNegociate.h:58
Algorimthmic datas associated the TrackSegment.
Definition: DataNegociate.h:50
void resetRipupCount()
Definition: DataNegociate.h:139