20 #ifndef HURRICANE_PLUG
21 #define HURRICANE_PLUG
23 #include "hurricane/Component.h"
24 #include "hurricane/Plugs.h"
49 private:
Net* _masterNet;
50 private:
Plug* _nextOfInstancePlugMap;
60 public:
virtual void destroy();
65 public:
virtual Cell* getCell()
const;
68 public:
virtual Point getPosition()
const;
69 public:
virtual Box getBoundingBox()
const;
70 public:
virtual const Layer* getLayer()
const {
return NULL;};
71 public:
virtual Box getBoundingBox(
const BasicLayer* basicLayer)
const;
93 public:
virtual void materialize() {};
94 public:
virtual void unmaterialize() {};
99 public:
static Plug* _create(Instance* instance, Net* masterNet);
100 protected:
virtual void _postCreate();
102 public:
void _destroy();
103 protected:
virtual void _preDestroy();
105 public:
virtual string getName()
const;
106 public:
virtual void _toJson(JsonWriter*)
const;
107 public:
virtual string _getTypeName()
const {
return _TName(
"Plug");};
108 public:
virtual string _getString()
const;
109 public:
virtual Record* _getRecord()
const;
110 public: Plug* _getNextOfInstancePlugMap()
const {
return _nextOfInstancePlugMap;};
112 public:
virtual void _setMasterNet(Net* masterNet) {_masterNet = masterNet;};
113 public:
void _setNextOfInstancePlugMap(Plug* plug) {_nextOfInstancePlugMap = plug;};
118 class JsonPlug :
public JsonComponent {
121 public:
static void initialize();
122 public: JsonPlug(
unsigned long flags);
123 public:
virtual string getTypeName()
const;
124 public:
virtual JsonPlug* clone(
unsigned long)
const;
125 public:
virtual void toData(JsonStack&);
129 class JsonPlugRef :
public JsonObject {
132 public:
static void initialize();
133 public: JsonPlugRef(
unsigned long flags);
134 public:
virtual string getTypeName()
const;
135 public:
virtual JsonPlugRef* clone(
unsigned long)
const;
136 public:
virtual void toData(JsonStack&);
BasicLayer description (API)
Definition: BasicLayer.h:44
Box description (API)
Definition: Box.h:31
The model (API).
Definition: Cell.h:64
Component description (API)
Definition: Component.h:42
Net * getNet() const
Definition: Component.h:94
std::int64_t Unit
Definition: DbU.h:67
Generic Filter auto-pointer.
Definition: Filter.h:86
Instance description (API)
Definition: Instance.h:35
Layer description (API)
Definition: Layer.h:52
Net description (API)
Definition: Net.h:48
Plug description (API)
Definition: Plug.h:37
bool isConnected() const
Definition: Plug.h:84
static PlugFilter getIsConnectedFilter()
Net * getMasterNet() const
Definition: Plug.h:73
Instance * getInstance() const
Definition: Plug.h:72
Component Inherit
Definition: Plug.h:43
static PlugFilter getIsUnconnectedFilter()
Point description (API)
Definition: Point.h:32
The namespace dedicated to Hurricane.
Definition: Generalities.dox:5