33#ifndef HURRICANE_REGULAR_LAYER_H
34#define HURRICANE_REGULAR_LAYER_H
36#include "hurricane/Layer.h"
37#include "hurricane/RegularLayers.h"
45 class RegularLayer :
public Layer {
58 virtual const Layer* getBlockageLayer ()
const;
59 virtual const Layer*
getTop ()
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 ();
108 virtual JsonRegularLayer* clone (
unsigned long )
const;
BasicLayer description (API).
Definition BasicLayer.h:42
std::int64_t Unit
Definition DbU.h:67
virtual std::string getTypeName() const =0
JSON Parser Stack.
Definition JsonObject.h:249
virtual const Layer * getTop() const
virtual BasicLayers getBasicLayers() const =0
virtual const Layer * getBottom() const
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
Contains Almost Everything.
Definition BasicLayer.h:39