32#ifndef HURRICANE_DIFFUSION_LAYER_H
33#define HURRICANE_DIFFUSION_LAYER_H
37#include "hurricane/Layer.h"
45 class DiffusionLayer :
public Layer {
59 virtual DbU::Unit getExtentionCap ()
const;
60 virtual DbU::Unit getExtentionWidth ()
const;
67 virtual void _toJson ( JsonWriter* )
const;
68 virtual void _onDbuChange (
float scale );
69 virtual string _getTypeName ()
const;
70 virtual string _getString ()
const;
71 virtual Record* _getRecord ()
const;
75 vector<BasicLayer*> _basicLayers;
76 vector<DbU::Unit> _extentionCaps;
77 vector<DbU::Unit> _extentionWidths;
95 class JsonDiffusionLayer :
public JsonLayer {
97 static void initialize ();
98 JsonDiffusionLayer (
unsigned long flags );
99 ~JsonDiffusionLayer ();
101 virtual JsonDiffusionLayer* clone (
unsigned long )
const;
BasicLayer description (API).
Definition BasicLayer.h:42
std::int64_t Unit
Definition DbU.h:67
DiffusionLayer description (API).
Definition DiffusionLayer.h:45
static DiffusionLayer * create(Technology *technology, const Name &name, BasicLayer *activeLayer, BasicLayer *diffusionLayer, BasicLayer *wellLayer)
virtual std::string getTypeName() const =0
JSON Parser Stack.
Definition JsonObject.h:249
virtual BasicLayers getBasicLayers() const =0
Name description (API).
Definition Name.h:35
Technological rules description (API).
Definition Technology.h:62
Contains Almost Everything.
Definition BasicLayer.h:39