Class Reference layers

Class with the global layer setup. More...


void disableAllLayer()
int displayedLayers
void disableUnusedLayers(drawingField *design)
void enableAllLayer()
int findLayer(string layerName)
int findLevel(int i)
int globalVia()
void hideAllLayer()
void hideCurrentUnusedLayers(drawingField *d)
void hideUnusedLayers(drawingField *d)
bool importLayerSettings(string filename)
int layerMax()
layer num[layersMax]
int maxLevel()
void reset3dView()
void showAllLayer()
void technologyLayerAdd(int layer,int type)
int technologyLayerConductorSize(int layer)
int technologyLayerConductorSpaceing(int layer)
int technologyLayerGetParameter(int layer,int parnum)
int technologyLayerGetType(int layer)
void technologyLayerRemoveAll()
void technologyLayerSetParameter(int layer,int parnum,int value)
void technologyLevelFrom3d()

Detailed Description

This class is the global setup for all layers in all opened layout windows. Next to the individual layer setup it includes several methods to adjust global layer setting as well as setting for technology properties.

Individual layers can be accessed through its member num. This member is an array in the range of 0 to 1024 of the class layer.

The layers class has only static members, so its members can accessed from C++ macros with the prefix layes::. Here an example for it:

layers::num[5].name="Layer Number 5";

Scripting from Python:

The class layers has some static members and accessing static class member variables from Python is a bit different:

layers.number(9).name="layer nine"

Please see also class setup for more details on accessing static classes with Python.

The class layers can not be used as type, creation of class objects make no sense as it is a complete static class.

Member Function Documentation

static void layers::disableAllLayer()

All layers will be disabled. No more shapes will be displayed in the drawing. Also in the layers dock window no layer will be listed. Use the enable feature of the class layer to enable required layers afterwards.

static int layers::displayedLayers

The maximum layer number displayed in the layer menu and the layout dock window is set. By default 128 layers are display. By this feature the number of displayed layer controls can be increased up to 1024. A high number of visible layer controls can reduce the start up time of the LayoutEditor.

static void layers::disableUnusedLayers(drawingField *design)

Disables all layers not used in the current design.

static void layers::enableAllLayer()

Enables all layers from layer 0 to the set maxmum displayedLayers. This setting will effect the layer controls in the layer dock windows as well as the layers in the layer menu and the display in the drawing window.

static int layers::findLayer(string layerName)

This ffunction will find a layer with the name layerName in the list of layers. If there are two layers with this name first layer with the lower layer number is returned. If no layer used the layerName, -1 is returned.

Returns: number of the layer with layerName. -1, if layerName is not found

static int layers::findLevel(int i)

Returns: the layer used for technology level i. If the level in not used -1 is returned.

static int layers::globalVia()

Returns: the layer used for globel vias. If no global vias are used in the technology setup -1 is returned.

static void layers::hideAllLayer()

makes all layer invisible, so afterward no maore all will be displayed inthe drawing area. The layer will still be displayed inthe menu and layer dock window, but marked as invisible.

static void layers::hideCurrentUnusedLayers(drawingField *d)

Hide all layers not used in the current displayed cell. So afterwards any layer not marked as invisible is used in the current displayed cell.

static void layers::hideUnusedLayers(drawingField *d)

Hide all layers not used in the current design. In contrast to the method hideCurrentUnusedLayers this method will search all cells in the design, even if the cell is not used in the current displayed cell.

static bool layers::importLayerSettings(string filename)

loads layer setting from filename. Returns true in case the settings were loaded. false is return, the the file format is not supported. (introduced with release 20180614)

static int layers::layerMax()

Returns: the number of layers in the LayoutEditor is returned.

static layer layers::num[layersMax]

Each layer can setup separately via the class layer. The layer-class can be accessed by this array.

Use 'number' instead in the python interface.

static int layers::maxLevel()

Returns: the number of technology levels used in the current setup.

static void layers::reset3dView()

The 3D view of all layers is reset and turned off.

static void layers::showAllLayer()

makes all layer visible

static void layers::technologyLayerAdd(int layer,int type)

Set layer to a technology layer. If type is 1, the layer is a via. If type is 2 the layer is a conductor layer.

static int layers::technologyLayerConductorSize(int layer)

Returns: the conductor size, if layer is an conductor layer. Otherwise returns -1.

static int layers::technologyLayerConductorSpaceing(int layer)

Returns: the conductor spacing, if layer is an conductor layer. Otherwise returns -1.

static int layers::technologyLayerGetParameter(int layer,int parnum)

Returns: the parameter parnum of the technology parameter of layer

Currently these parameter are used:

parnum: usage:
0 level of the layer. If level is set to -2 that layer is a global via.
1 conductor layer: width, via layer: size of the via
2 conductor layer: spaceing between two shapes, via layer: distance via edge - conductor at top layer
3 via layer: distance via edge - conductor at bottom layer
4 via layer: spacing between two vias
5 via layer: shape of the via with 0= square via, 1= round via/square conductor, 2= round via/conductor

static int layers::technologyLayerGetType(int layer)

Returns: returns the type of a layer. The returned values are identical to layers::technologyLayerAdd

static void layers::technologyLayerRemoveAll()

The technology information of all layers is reseted.

static void layers::technologyLayerSetParameter(int layer,int parnum,int value)

Sets information to the technology layer. See layers::technologyLayerGetParameter for used parameters

static void layers::technologyLevelFrom3d()

extract the level/order of the technology layers (via/conductors) from the current 3d settings