33 #ifndef HURRICANE_REGULAR_LAYER_H
34 #define HURRICANE_REGULAR_LAYER_H
36 #include "hurricane/Layer.h"
37 #include "hurricane/RegularLayers.h"
56 virtual BasicLayers getBasicLayers ()
const;
58 virtual const Layer* getBlockageLayer ()
const;
59 virtual const Layer* getTop ()
const;
60 virtual const Layer* getBottom ()
const;
61 virtual const Layer* getOpposite (
const Layer* )
const;
62 virtual DbU::Unit getEnclosure ( uint32_t flags=0 )
const;
63 virtual DbU::Unit getExtentionCap ()
const;
64 virtual DbU::Unit getExtentionWidth ()
const;
70 virtual void setEnclosure (
const BasicLayer* layer,
DbU::Unit enclosure, uint32_t flags=0 );
74 virtual void _toJson ( JsonWriter* )
const;
75 virtual void _onDbuChange (
float scale );
76 virtual string _getTypeName ()
const;
77 virtual string _getString ()
const;
78 virtual Record* _getRecord ()
const;
102 class JsonRegularLayer :
public JsonLayer {
104 static void initialize ();
105 JsonRegularLayer (
unsigned long flags );
106 ~JsonRegularLayer ();
107 virtual string getTypeName ()
const;
108 virtual JsonRegularLayer* clone (
unsigned long )
const;
BasicLayer description (API)
Definition: BasicLayer.h:44
DataBase object root class (API).
Definition: DBo.h:45
std::int64_t Unit
Definition: DbU.h:67
JSON Parser Stack.
Definition: JsonObject.h:249
Layer description (API)
Definition: Layer.h:52
Name description (API)
Definition: Name.h:35
RegularLayer description (API)
Definition: RegularLayer.h:45
BasicLayer * getBasicLayer() const
Definition: RegularLayer.h:96
static RegularLayer * create(Technology *technology, const Name &name, BasicLayer *layer)
Technological rules description (API).
Definition: Technology.h:62
The namespace dedicated to Hurricane.
Definition: Generalities.dox:5