21 #ifndef HURRICANE_COMPONENT_H
22 #define HURRICANE_COMPONENT_H
24 #include "hurricane/Points.h"
25 #include "hurricane/Go.h"
26 #include "hurricane/Components.h"
27 #include "hurricane/Hook.h"
28 #include "hurricane/Hooks.h"
29 #include "hurricane/Interval.h"
47 class Points_Contour :
public PointHC {
53 virtual Point getElement ()
const;
54 virtual PointHL* getClone ()
const;
55 virtual bool isValid ()
const;
56 virtual void progress ();
57 virtual string _getString ()
const;
63 inline Points_Contour (
const Component* );
64 inline Points_Contour (
const Points_Contour& );
65 virtual PointHC* getClone ()
const;
66 virtual PointHL* getLocator ()
const;
67 virtual string _getString ()
const;
79 virtual bool isMaster ()
const {
return true;};
80 virtual string _getTypeName ()
const {
return "Component::BodyHook"; };
81 virtual string _getString ()
const;
91 virtual bool isManhattanized ()
const;
92 virtual bool isNonRectangle ()
const;
93 virtual Cell* getCell ()
const;
103 virtual size_t getPointsSize ()
const;
104 virtual Point getPoint (
size_t )
const;
105 virtual Box getBoundingBox ()
const = 0;
107 inline Points getContour ()
const;
108 virtual Points getMContour ()
const;
112 virtual void materialize ();
113 virtual void unmaterialize ();
114 virtual void invalidate (
bool propagateFlag =
true );
115 virtual void forceId (
unsigned int id );
120 virtual void _postCreate ();
121 virtual void _preDestroy ();
123 virtual void _toJson ( JsonWriter* )
const;
124 virtual void _toJsonSignature ( JsonWriter* )
const;
125 virtual string _getString ()
const;
126 virtual Record* _getRecord ()
const;
127 Component* _getNextOfNetComponentSet ()
const {
return _nextOfNetComponentSet;};
128 void _setNet (
Net* );
129 void _setRubber (
Rubber* );
130 void _setNextOfNetComponentSet (
Component* component ) { _nextOfNetComponentSet = component; };
135 Component* _nextOfNetComponentSet;
139 inline Points Component::getContour ()
const {
return Points_Contour(
this); }
142 inline Component::Points_Contour::Locator::Locator (
const Locator &locator )
144 , _component(locator._component)
145 , _iPoint (locator._iPoint)
149 inline Component::Points_Contour::Points_Contour (
const Component* component )
151 , _component(component)
155 inline Component::Points_Contour::Points_Contour (
const Points_Contour& other )
157 , _component(other._component)
161 double getArea ( Component* component );
167 class JsonComponent :
public JsonEntity {
169 JsonComponent (
unsigned long flags );
BasicLayer description (API)
Definition: BasicLayer.h:44
Box description (API)
Definition: Box.h:31
The model (API).
Definition: Cell.h:64
Collection description (API)
Definition: Collection.h:39
Definition: Component.h:73
Component description (API)
Definition: Component.h:42
virtual DbU::Unit getX() const =0
Net * getNet() const
Definition: Component.h:94
Hook * getBodyHook()
Definition: Component.h:96
virtual Hooks getHooks() const
Go Inherit
Definition: Component.h:44
Components getConnexComponents() const
virtual DbU::Unit getY() const =0
static ComponentFilter getIsUnderFilter(const Box &area)
virtual Point getPosition() const
Definition: Component.h:100
virtual Box getBoundingBox(const BasicLayer *) const =0
virtual const Layer * getLayer() const =0
Rubber * getRubber() const
Definition: Component.h:95
Components getSlaveComponents() const
std::int64_t Unit
Definition: DbU.h:67
Generic Collection auto-pointer.
Definition: Collection.h:235
Generic Filter auto-pointer.
Definition: Filter.h:86
Go description (API)
Definition: Go.h:34
Hook description (API)
Definition: Hook.h:34
Layer description (API)
Definition: Layer.h:52
Locator description (API)
Definition: Locator.h:33
Net description (API)
Definition: Net.h:48
Point description (API)
Definition: Point.h:32
Rubber description (API)
Definition: Rubber.h:36
The namespace dedicated to Hurricane.
Definition: Generalities.dox:5