20#ifndef HURRICANE_RUBBER_H
21#define HURRICANE_RUBBER_H
23#include "hurricane/Go.h"
24#include "hurricane/Hooks.h"
25#include "hurricane/Rubbers.h"
36class Rubber :
public Go {
39 static FastRTTI _fastRTTI;
41 static inline const FastRTTI& fastRTTI ();
42 virtual const FastRTTI& vfastRTTI ()
const;
55 private:
unsigned _count;
56 private:
Box _boundingBox;
57 private: Rubber* _nextOfNetRubberSet;
62 protected: Rubber(
Net* net,
Hook* hook);
67 public:
virtual void destroy();
72 public:
virtual Cell* getCell()
const;
75 public:
unsigned getCount()
const {
return _count;};
77 public:
Point getBarycenter()
const;
78 public:
virtual Box getBoundingBox()
const;
84 public:
virtual void materialize();
85 public:
virtual void unmaterialize();
87 public:
virtual void invalidate(
bool propagateFlag =
true);
92 public:
static Rubber* _create(
Hook* hook);
93 protected:
virtual void _postCreate();
95 public:
void _destroy();
96 protected:
virtual void _preDestroy();
98 public:
virtual string _getTypeName()
const {
return _TName(
"Rubber");};
99 public:
virtual string _getString()
const;
100 public:
virtual Record* _getRecord()
const;
101 public:
Rubber* _getNextOfNetRubberSet()
const {
return _nextOfNetRubberSet;};
103 public:
void _setNet(Net* net);
104 public:
void _setHook(Hook* hook);
105 public:
void _setNextOfNetRubberSet(Rubber* rubber) {_nextOfNetRubberSet = rubber;};
107 public:
void _capture();
108 public:
void _release();
113 inline const FastRTTI& Rubber::fastRTTI () {
return _fastRTTI; }
Box description (API)
Definition Box.h:30
The model (API).
Definition Cell.h:64
std::int64_t Unit
Definition DbU.h:67
Hook description (API)
Definition Hook.h:34
Net description (API)
Definition Net.h:46
Point description (API)
Definition Point.h:30
Rubber description (API)
Definition Rubber.h:36
Net * getNet() const
Definition Rubber.h:73
unsigned getCount() const
Definition Rubber.h:75
Hook * getHook() const
Definition Rubber.h:74
Go Inherit
Definition Rubber.h:47
Contains Almost Everything.
Definition BasicLayer.h:39
GenericCollection< Hook * > Hooks
Definition Hooks.h:35