32 #ifndef HURRICANE_VIA_LAYER_H
33 #define HURRICANE_VIA_LAYER_H
37 #include "hurricane/Layer.h"
38 #include "hurricane/ViaLayers.h"
59 virtual BasicLayers getBasicLayers ()
const;
60 virtual const Layer* getCut ()
const;
61 virtual const Layer* getTop ()
const;
62 virtual const Layer* getBottom ()
const;
63 virtual const Layer* getOpposite (
const Layer* )
const;
64 virtual DbU::Unit getEnclosure ( uint32_t flags )
const;
66 virtual DbU::Unit getTopEnclosure ( uint32_t flags )
const;
67 virtual DbU::Unit getBottomEnclosure ( uint32_t flags )
const;
71 virtual void _toJson ( JsonWriter* )
const;
72 virtual void _onDbuChange (
float scale );
73 virtual string _getTypeName ()
const;
74 virtual string _getString ()
const;
75 virtual Record* _getRecord ()
const;
79 vector<BasicLayer*> _basicLayers;
80 vector< pair<DbU::Unit,DbU::Unit> > _enclosures;
97 class JsonViaLayer :
public JsonLayer {
99 static void initialize ();
100 JsonViaLayer (
unsigned long flags );
102 virtual string getTypeName ()
const;
103 virtual JsonViaLayer* 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
Technological rules description (API).
Definition: Technology.h:62
ViaLayer description (API)
Definition: ViaLayer.h:46
static ViaLayer * create(Technology *technology, const Name &name, BasicLayer *bottomLayer, BasicLayer *cutLayer, BasicLayer *topLayer)
The namespace dedicated to Hurricane.
Definition: Generalities.dox:5