diff --git a/scripts/extract_doc.rb b/scripts/extract_doc.rb
index d3eee7e7c..f5338b5ac 100755
--- a/scripts/extract_doc.rb
+++ b/scripts/extract_doc.rb
@@ -18,6 +18,8 @@ def create_ref(mod, s)
else
"#{$1}"
end
+ elsif s =~ /([A-Z].*)/
+ "#{$1}"
else
"#{s}"
end
@@ -34,6 +36,8 @@ def create_link(mod, s)
else
""
end
+ elsif s =~ /([A-Z].*)/
+ ""
else
""
end
diff --git a/src/db/db/gsiDeclDbCellMapping.cc b/src/db/db/gsiDeclDbCellMapping.cc
index 5da972fa6..db187edf2 100644
--- a/src/db/db/gsiDeclDbCellMapping.cc
+++ b/src/db/db/gsiDeclDbCellMapping.cc
@@ -90,7 +90,7 @@ Class decl_CellMapping ("db", "CellMapping",
"\n"
"The cell mapping is created for cells from cell_indexes_b to cell from cell_indexes_a in the respective layouts. "
"This method clears the mapping and creates one for each cell pair from cell_indexes_b vs. cell_indexes_a. "
- "If used for \\Layout#copy_tree or \\Layout#move_tree, this cell mapping will essentially "
+ "If used for \\Layout#copy_tree_shapes or \\Layout#move_tree_shapes, this cell mapping will essentially "
"flatten the source cells in the target layout.\n"
"\n"
"This method is equivalent to \\clear, followed by \\map(cell_index_a, cell_index_b) for each cell pair.\n"
diff --git a/src/db/db/gsiDeclDbLayout.cc b/src/db/db/gsiDeclDbLayout.cc
index e2e48e1eb..4935a928a 100644
--- a/src/db/db/gsiDeclDbLayout.cc
+++ b/src/db/db/gsiDeclDbLayout.cc
@@ -1027,7 +1027,7 @@ Class decl_LayoutMetaInfo ("db", "LayoutMetaInfo",
"Layout readers may generate meta information and some writers will add layout information to "
"the layout object. Some writers will also read meta information to determine certain attributes.\n"
"\n"
- "Multiple layout meta information objects can be attached to one layout using \\Layout#add_meta. "
+ "Multiple layout meta information objects can be attached to one layout using \\Layout#add_meta_info. "
"Meta information is identified by a unique name and carries a string value plus an optional description string. "
"The description string is for information only and is not evaluated by code.\n"
"\n"
@@ -1770,7 +1770,7 @@ Class decl_Layout ("db", "Layout",
"@param cell_mapping The cell mapping object that determines how cells are identified between source and target layout\n"
"\n"
"Provide a \\CellMapping object to specify pairs of cells which are mapped from the source layout to this "
- "layout. When constructing such a cell mapping object for example with \\CellMapping#for_multi_cell_full, use self "
+ "layout. When constructing such a cell mapping object for example with \\CellMapping#for_multi_cells_full, use self "
"as the target layout. During the cell mapping construction, the cell mapper will usually create a suitable target "
"hierarchy already. After having completed the cell mapping, use \\copy_tree_shapes to copy over the shapes from "
"the source to the target layout.\n"
@@ -1784,7 +1784,7 @@ Class decl_Layout ("db", "Layout",
"@param layer_mapping Specifies which layers are copied from the source layout to the target layout\n"
"\n"
"Provide a \\CellMapping object to specify pairs of cells which are mapped from the source layout to this "
- "layout. When constructing such a cell mapping object for example with \\CellMapping#for_multi_cell_full, use self "
+ "layout. When constructing such a cell mapping object for example with \\CellMapping#for_multi_cells_full, use self "
"as the target layout. During the cell mapping construction, the cell mapper will usually create a suitable target "
"hierarchy already. After having completed the cell mapping, use \\copy_tree_shapes to copy over the shapes from "
"the source to the target layout.\n"
diff --git a/src/db/db/gsiDeclDbNetlist.cc b/src/db/db/gsiDeclDbNetlist.cc
index c52416bb9..6d3762e1d 100644
--- a/src/db/db/gsiDeclDbNetlist.cc
+++ b/src/db/db/gsiDeclDbNetlist.cc
@@ -2265,7 +2265,10 @@ db::NetlistSpiceWriter *new_spice_writer2 (NetlistSpiceWriterDelegateImpl *deleg
Class db_NetlistWriter ("db", "NetlistWriter",
gsi::Methods (),
- "@hide\n"
+ "@brief Base class for netlist writers\n"
+ "This class is provided as a base class for netlist writers. It is not intended for reimplementation on script level, but used internally as an interface.\n"
+ "\n"
+ "This class has been introduced in version 0.26."
);
Class db_NetlistSpiceWriter (db_NetlistWriter, "db", "NetlistSpiceWriter",
@@ -2355,7 +2358,10 @@ Class db_NetlistSpiceWriter (db_NetlistWriter, "db", "Ne
Class db_NetlistReader ("db", "NetlistReader",
gsi::Methods (),
- "@hide\n"
+ "@brief Base class for netlist readers\n"
+ "This class is provided as a base class for netlist readers. It is not intended for reimplementation on script level, but used internally as an interface.\n"
+ "\n"
+ "This class has been introduced in version 0.26."
);
/**
diff --git a/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc b/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc
index dcce3a0dd..4946d2859 100644
--- a/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc
+++ b/src/db/db/gsiDeclDbRecursiveInstanceIterator.cc
@@ -526,7 +526,7 @@ Class decl_RecursiveInstanceIterator ("db", "Recu
"\\Cell offers three methods to get these iterators: begin_instances_rec, begin_instances_rec_touching and begin_instances_rec_overlapping.\n"
"\\Cell#begin_instances_rec will deliver a standard recursive instance iterator which starts from the given cell and iterates "
"over all child cells. \\Cell#begin_instances_rec_touching creates a RecursiveInstanceIterator which delivers the instances "
- "whose bounding boxed touch the given search box. \\Layout#begin_instances_rec_overlapping gives an iterator which delivers all instances whose bounding box "
+ "whose bounding boxed touch the given search box. \\Cell#begin_instances_rec_overlapping gives an iterator which delivers all instances whose bounding box "
"overlaps the search box.\n"
"\n"
"A RecursiveInstanceIterator object can also be created directly, like this:\n"
diff --git a/src/drc/drc/built-in-macros/_drc_complex_ops.rb b/src/drc/drc/built-in-macros/_drc_complex_ops.rb
index 8b9628842..e83f71d60 100644
--- a/src/drc/drc/built-in-macros/_drc_complex_ops.rb
+++ b/src/drc/drc/built-in-macros/_drc_complex_ops.rb
@@ -498,7 +498,7 @@ CODE
# out = in.drc(primary.bbox_min > 200.nm) # equivalent
# @/code
#
- # The "bbox_min" method is available as a plain function or as a method on \DRC## expressions.
+ # The "bbox_min" method is available as a plain function or as a method on \DRC# expressions.
# The plain function is equivalent to "primary.bbox_min".
def bbox_min
@@ -578,7 +578,7 @@ CODE
# out = in.drc(primary.bbox_aspect_ratio > 3) # equivalent
# @/code
#
- # The "bbox_aspect_ratio" method is available as a plain function or as a method on \DRC## expressions.
+ # The "bbox_aspect_ratio" method is available as a plain function or as a method on \DRC# expressions.
# The plain function is equivalent to "primary.bbox_aspect_ratio".
def bbox_aspect_ratio
@@ -609,7 +609,7 @@ CODE
# out = in.drc(primary.relative_height > 3) # equivalent
# @/code
#
- # The "relative_height" method is available as a plain function or as a method on \DRC## expressions.
+ # The "relative_height" method is available as a plain function or as a method on \DRC# expressions.
# The plain function is equivalent to "primary.bbox_aspect_ratio".
def relative_height
@@ -638,7 +638,7 @@ CODE
# out = in.drc(primary.area_ratio > 3) # equivalent
# @/code
#
- # The "area_ratio" method is available as a plain function or as a method on \DRC## expressions.
+ # The "area_ratio" method is available as a plain function or as a method on \DRC# expressions.
# The plain function is equivalent to "primary.area_ratio".
def area_ratio
diff --git a/src/drc/drc/built-in-macros/_drc_engine.rb b/src/drc/drc/built-in-macros/_drc_engine.rb
index 52f8d8f23..a168a5442 100644
--- a/src/drc/drc/built-in-macros/_drc_engine.rb
+++ b/src/drc/drc/built-in-macros/_drc_engine.rb
@@ -324,7 +324,7 @@ module DRC
# whether to use named nets (numbers if false) and whether to add
# information comments such as instance coordinates or pin names.
#
- # "writer_delegate" allows using a \NetlistSpiceWriterDelegate object to
+ # "writer_delegate" allows using a RBA::NetlistSpiceWriterDelegate object to
# control the actual writing.
def write_spice(*args)
diff --git a/src/drc/drc/built-in-macros/_drc_layer.rb b/src/drc/drc/built-in-macros/_drc_layer.rb
index 2cb31656a..bde1c2ee7 100644
--- a/src/drc/drc/built-in-macros/_drc_layer.rb
+++ b/src/drc/drc/built-in-macros/_drc_layer.rb
@@ -25,7 +25,7 @@ module DRC
#
# Objects that can be inserted are RBA::Edge objects (into edge layers) or
# RBA::DPolygon, RBA::DSimplePolygon, RBA::Path, RBA::DBox (into polygon layers).
- # Convenience methods exist to create such objects (\global#edge, \global#polygon, \global#box and \#global#path).
+ # Convenience methods exist to create such objects (\global#edge, \global#polygon, \global#box and \global#path).
# However, RBA constructors can used as well.
#
# The insert method is useful in combination with the \global#polygon_layer or \global#edge_layer functions:
diff --git a/src/drc/drc/built-in-macros/_drc_netter.rb b/src/drc/drc/built-in-macros/_drc_netter.rb
index 3c10049bd..7e8de64e0 100644
--- a/src/drc/drc/built-in-macros/_drc_netter.rb
+++ b/src/drc/drc/built-in-macros/_drc_netter.rb
@@ -192,7 +192,7 @@ module DRC
# @/code
#
# The return value of this method will be the device class of the devices
- # generated in the extraction step (see \DeviceClass).
+ # generated in the extraction step (see RBA::DeviceClass).
def extract_devices(devex, layer_selection)
diff --git a/src/img/img/gsiDeclImg.cc b/src/img/img/gsiDeclImg.cc
index a798b6c01..27e13f72c 100644
--- a/src/img/img/gsiDeclImg.cc
+++ b/src/img/img/gsiDeclImg.cc
@@ -553,7 +553,7 @@ static std::vector get_mask_data (ImageRef *obj)
}
// NOTE: img::Object is available as "BasicImage" to allow binding for other methods.
-gsi::Class decl_BasicImage ("lay", "BasicImage", gsi::Methods (), "@hide");
+gsi::Class decl_BasicImage ("lay", "BasicImage", gsi::Methods (), "@hide\n@alias Image");
gsi::Class decl_Image (decl_BasicImage, "lay", "Image",
gsi::constructor ("from_s", &gsi::img_from_s, gsi::arg ("s"),
diff --git a/src/lay/lay/doc/about/drc_ref_drc.xml b/src/lay/lay/doc/about/drc_ref_drc.xml
index 9b7471ea4..2e6814365 100644
--- a/src/lay/lay/doc/about/drc_ref_drc.xml
+++ b/src/lay/lay/doc/about/drc_ref_drc.xml
@@ -234,7 +234,7 @@ out = in.drc(area_ratio > 3)
out = in.drc(primary.area_ratio > 3) # equivalent
-The "area_ratio" method is available as a plain function or as a method on DRC# expressions.
+The "area_ratio" method is available as a plain function or as a method on DRC expressions.
The plain function is equivalent to "primary.area_ratio".
"area_sum" - Selects the input polygons if the sum of all areas meets the condition
@@ -275,7 +275,7 @@ out = in.drc(bbox_aspect_ratio > 3)
out = in.drc(primary.bbox_aspect_ratio > 3) # equivalent
-The "bbox_aspect_ratio" method is available as a plain function or as a method on DRC# expressions.
+The "bbox_aspect_ratio" method is available as a plain function or as a method on DRC expressions.
The plain function is equivalent to "primary.bbox_aspect_ratio".
"bbox_height" - Selects the input polygon if its bounding box height is meeting the condition
@@ -328,7 +328,7 @@ out = in.drc(bbox_min > 200.nm)
out = in.drc(primary.bbox_min > 200.nm) # equivalent
-The "bbox_min" method is available as a plain function or as a method on DRC# expressions.
+The "bbox_min" method is available as a plain function or as a method on DRC expressions.
The plain function is equivalent to "primary.bbox_min".
"bbox_width" - Selects the input polygon if its bounding box width is meeting the condition
@@ -839,7 +839,7 @@ out = in.drc(relative_height > 3)
out = in.drc(primary.relative_height > 3) # equivalent
-The "relative_height" method is available as a plain function or as a method on DRC# expressions.
+The "relative_height" method is available as a plain function or as a method on DRC expressions.
The plain function is equivalent to "primary.bbox_aspect_ratio".
"rounded_corners" - Applies corner rounding
diff --git a/src/lay/lay/doc/about/drc_ref_global.xml b/src/lay/lay/doc/about/drc_ref_global.xml
index 34d3d7f07..31c87f7cf 100644
--- a/src/lay/lay/doc/about/drc_ref_global.xml
+++ b/src/lay/lay/doc/about/drc_ref_global.xml
@@ -974,7 +974,7 @@ See enclosing for more details about the various ways t
-
"l2n_data" - Gets the internal LayoutToNetlist object for the default Netter
+
"l2n_data" - Gets the internal LayoutToNetlist object for the default Netter
-For further methods on the source object see Source.
+For further methods on the source object see Source.
"length (in condition)" - Computes the total edge length of an edge layer or in universal DRC context: selects edges based on a length condition
@@ -1166,7 +1166,7 @@ four-terminal MOS transistor.
See DeviceExtractorMOS4Transistor for more details
about this extractor (non-strict mode applies for 'mos4').
-
"netlist" - Obtains the extracted netlist from the default Netter
+
"netlist" - Obtains the extracted netlist from the default Netter
The netlist is a Netlist object. If no netlist is extracted
@@ -1286,7 +1286,7 @@ rectangle error filtering.
Classic mode
Like other checks, this function is available as a classic DRC function with a layer as the first
-argument and as an DRC expression operator for use with Layer#drc.
+argument and as an DRC expression operator for use with Layer#drc.
# classic "overlap" check for < 0.2 um
@@ -1439,6 +1439,46 @@ is equivalent to "layer.rectilinear" (see DRC expressions (see Layer#drc and DRC#rectilinear for more details).
+
"region_overlap" - Specifies region selected input in "overlap mode"
+The following code will select shapes overlapping a 500x600 micron rectangle (lower left corner at 0,0)
+from the input layout. The shapes will not be clipped:
+
+
+region_overlapping(0.mm, 0.mm, 0.5.mm, 0.6.mm)
+# shapes will now be the ones overlapping the rectangular region
+l1 = input(1, 0)
+
+
+To remove this condition, call "region_overlapping" without any arguments.
+
+
"region_touch" - Specifies region selected input in "touch mode"
+The following code will select shapes touching a 500x600 micron rectangle (lower left corner at 0,0)
+from the input layout. The shapes will not be clipped:
+
+
+region_touch(0.mm, 0.mm, 0.5.mm, 0.6.mm)
+# shapes will now be the ones touching the rectangular region
+l1 = input(1, 0)
+
+
+To remove this condition, call "region_touch" without any arguments.
+
"relative_height" - Selects primary shapes based on the ratio of height and width of their bounding boxes
Usage:
@@ -1586,7 +1626,7 @@ rectangle error filtering.
Classic mode
Like enclosing, this function is available as a classic DRC function with a layer as the first
-argument and as an DRC expression operator for use with Layer#drc.
+argument and as an DRC expression operator for use with Layer#drc.
-For further methods on the source object see Source.
+For further methods on the source object see Source.
"space" - Performs a space check
@@ -2024,7 +2064,7 @@ specify SPICE format.
whether to use named nets (numbers if false) and whether to add
information comments such as instance coordinates or pin names.
-"writer_delegate" allows using a NetlistSpiceWriterDelegate object to
+"writer_delegate" allows using a NetlistSpiceWriterDelegate object to
control the actual writing.
diff --git a/src/lay/lay/doc/about/drc_ref_layer.xml b/src/lay/lay/doc/about/drc_ref_layer.xml
index 56dfbe4c8..9c6966097 100644
--- a/src/lay/lay/doc/about/drc_ref_layer.xml
+++ b/src/lay/lay/doc/about/drc_ref_layer.xml
@@ -714,7 +714,7 @@ DRC expressions are quite rich and powerful. They provide a more intuitive way o
writing DRC expressions, are more efficient and open new opportunities. DRC
development is likely to focus on this scheme in the future.
-More formal details about the bits and pieces can be found in the "DRC" class documentation.
+More formal details about the bits and pieces can be found in the "DRC" class documentation.
"dup" - Duplicates a layer
@@ -786,7 +786,7 @@ See enclosing for a description of that method
Note: "enclosed" is available as operators for the "universal DRC" function drc within
-the DRC framework. These variants have more options and are more intuitive to use.
+the DRC framework. These variants have more options and are more intuitive to use.
See enclosed for more details.
This method checks whether layer is enclosed by (is inside of) other_layer by not less than the
@@ -824,7 +824,7 @@ The following images show the effect of two enclosed checks (red: input1, blue:
Note: "enclosing" and "enc" are available as operators for the "universal DRC" function drc within
-the DRC framework. These variants have more options and are more intuitive to use.
+the DRC framework. These variants have more options and are more intuitive to use.
See enclosing for more details.
This method checks whether layer encloses (is bigger than) other_layer by not less than the
@@ -1330,7 +1330,7 @@ The following image shows the effect of the "in" method (input1: red, input2: bl
Objects that can be inserted are Edge objects (into edge layers) or
DPolygon, DSimplePolygon, Path, DBox (into polygon layers).
-Convenience methods exist to create such objects (edge, polygon, box and #global#path).
+Convenience methods exist to create such objects (edge, polygon, box and path).
However, RBA constructors can used as well.
The insert method is useful in combination with the polygon_layer or edge_layer functions:
@@ -1516,7 +1516,7 @@ See isolated for a description of that method
Note: "isolated" and "iso" are available as operators for the "universal DRC" function Layer#drc within
-the DRC framework. These variants have more options and are more intuitive to use. See isolated for more details.
+the DRC framework. These variants have more options and are more intuitive to use. See isolated for more details.
See space for a description of this method. "isolated" is the space check variant which checks different polygons only.
In contrast to space, the "isolated"
@@ -1922,7 +1922,7 @@ is select_not_overlapping.
Note: "notch" is available as an operator for the "universal DRC" function Layer#drc within
-the DRC framework. This variant has more options and is more intuitive to use. See notch for more details.
+the DRC framework. This variant has more options and is more intuitive to use. See notch for more details.
See space for a description of this method.
"notch" is the space check variant which finds space violations within a single polygon, but not against other polygons.
@@ -2061,7 +2061,7 @@ This method is available for edge layers. The argument must be a polygon layer.
Note: "overlap" is available as an operator for the "universal DRC" function drc within
-the DRC framework. This variant has more options and is more intuitive to use.
+the DRC framework. This variant has more options and is more intuitive to use.
See overlap for more details.
This method checks whether layer and other_layer overlap by at least the
@@ -2591,7 +2591,7 @@ See separation for a description of that method
Note: "separation" and "sep" are available as operators for the "universal DRC" function drc within
-the DRC framework. These variants have more options and are more intuitive to use.
+the DRC framework. These variants have more options and are more intuitive to use.
See separation for more details.
This method performs a two-layer spacing check. Like space, this method
@@ -2810,7 +2810,7 @@ not modify the layer but returns a snapped copy.
Note: "space" is available as an operator for the "universal DRC" function Layer#drc within
-the DRC framework. This variant has more options and is more intuitive to use. See space for more details.
+the DRC framework. This variant has more options and is more intuitive to use. See space for more details.
This method performs a space check and returns a collection of edge pairs.
A space check can be performed on polygon and edge layers. On edge layers, all
@@ -3092,7 +3092,7 @@ The following image shows the effect of the "moved" method:
Note: "width" is available as an operator for the "universal DRC" function Layer#drc within
-the DRC framework. This variant has more options and is more intuitive to use. See width for more details.
+the DRC framework. This variant has more options and is more intuitive to use. See width for more details.
This method performs a width check and returns a collection of edge pairs.
A width check can be performed on polygon and edge layers. On edge layers, all
diff --git a/src/lay/lay/doc/about/drc_ref_netter.xml b/src/lay/lay/doc/about/drc_ref_netter.xml
index 999473569..5d9c091da 100644
--- a/src/lay/lay/doc/about/drc_ref_netter.xml
+++ b/src/lay/lay/doc/about/drc_ref_netter.xml
@@ -388,7 +388,7 @@ extract_devices(mos4("NMOS4"), { :SD => nsd, :G => gate, :P => poly, :W
The return value of this method will be the device class of the devices
-generated in the extraction step (see DeviceClass).
+generated in the extraction step (see DeviceClass).
"l2n_data" - Gets the internal LayoutToNetlist object
LEF and DEF import can be configured in many ways. The configuration of the LEF/DEF import
feature is attached to a technology, so there can be individual configurations per technology.
- For a description of the technology feature, see .
+ For a description of the technology feature, see .
The import feature uses the current technology. The current technology can be selected from
the main toolbar's technology selector if specific technology settings exist. Otherwise, the
default technology will be used.
@@ -138,14 +138,14 @@
Produce net names: Check this option to assign user properties with the
net name to the net shapes in DEF files. The user property name used for that
purpose can be specified in the edit box below the check box. Use KLayout's
- variant notation (see ) to specify
+ variant notation (see ) to specify
value and type of the property name.
Produce inst names: Check this option to assign user properties with the
instance name to the component instances created by DEF import.
The user property name used for the instance name
can be specified in the edit box below the check box. Use KLayout's
- variant notation (see ) to specify
+ variant notation (see ) to specify
value and type of the property name.
Produce cell outlines: If this option is checked, outline shapes are
diff --git a/src/lay/lay/doc/about/lvs_ref_global.xml b/src/lay/lay/doc/about/lvs_ref_global.xml
index d685e1a70..2b7666ddb 100644
--- a/src/lay/lay/doc/about/lvs_ref_global.xml
+++ b/src/lay/lay/doc/about/lvs_ref_global.xml
@@ -100,7 +100,7 @@ See Netter#ignore_parameter
Technology folders: each technology folder can carry a "macros" or "pymacros" subfolder where technology-specific
- macros are kept. See for details about technologies.
+ macros are kept. See for details about technologies.
Macros can be kept in packages and installed from a remote repository. See for
diff --git a/src/lay/lay/doc/manual/lvs_device_classes.xml b/src/lay/lay/doc/manual/lvs_device_classes.xml
index b34e2d52c..6d464e508 100644
--- a/src/lay/lay/doc/manual/lvs_device_classes.xml
+++ b/src/lay/lay/doc/manual/lvs_device_classes.xml
@@ -164,7 +164,7 @@
MOS transistor with bulk
- The API class of the three-terminal MOS transistor is .
+ The API class of the three-terminal MOS transistor is .
@@ -221,7 +221,7 @@
In SPICE, BJT3 devices are represented by the "Q" element with the
device class name as the model name.
- The API class is .
+ The API class is .
Bipolar transistor with substrate
@@ -243,7 +243,7 @@
In SPICE, BJT4 devices are represented by the "Q" element with four nodes and the
device class name as the model name.
- The API class is .
+ The API class is .
diff --git a/src/lay/lay/doc/programming/application_api.xml b/src/lay/lay/doc/programming/application_api.xml
index 5baee3f8d..836178481 100644
--- a/src/lay/lay/doc/programming/application_api.xml
+++ b/src/lay/lay/doc/programming/application_api.xml
@@ -116,8 +116,6 @@
This object provides access to the main menu, the toolbar and various context menus. With this object it
is possible to manipulate the menu.
: show a message in the status bar.
-
: gets the current layout reader options and allows modification of the latter.
- The reader options configure the reading of layouts.
and : save or restore a session.
Sessions contain a window settings and information about the layouts loaded.
Sessions allows storing and restoring of the state of the main window.
- Transactions can be initiated with and committed with .
+ Transactions can be initiated with and committed with .
To ensure, every initiation of a transaction is matched by a "commit", it is recommended to employ "ensure":
diff --git a/src/lay/lay/doc/programming/database_api.xml b/src/lay/lay/doc/programming/database_api.xml
index dc208daf8..e8ff18df3 100644
--- a/src/lay/lay/doc/programming/database_api.xml
+++ b/src/lay/lay/doc/programming/database_api.xml
@@ -108,7 +108,7 @@ layout.write("my_layout.gds")
For doing so, the Layout object keeps layers as a table of objects. The LayerInfo object
carries information about the description of a layer, for example layer and datatype number and/or the layer name.
A layer is basically
- just an index in that table. Layers can be created using the method. Each layer is present
+ just an index in that table. Layers can be created using the method. Each layer is present
in every cell and inside a cell, a shape storage for each layer is provided.
@@ -508,10 +508,10 @@ shape.set_property(1, "NewValue")
- The attribute allows read and write access to the layer number. is the
- attribute for the datatype number. gives access to the text name. returns
+ The attribute allows read and write access to the layer number. is the
+ attribute for the datatype number. gives access to the text name. returns
true, if the LayerInfo object represents a named layer (no layer or datatype number are specified).
- compares two LayerInfo objects and returns true, if both denote the same
+ compares two LayerInfo objects and returns true, if both denote the same
layer. This is not exact equivalence but follows the logical precendence: two layers are equivalent
if layer or datatype number match (in that case the text name is ignored) or, if no layer and datatype
number are specified, the name matches exactly.
@@ -786,7 +786,7 @@ end
a PCell. returns the PCell declaration ID if the cell is a PCell variant. will
return the PCell declaration object. There is also a overload of "pcell_declaration" that determines the PCell declaration
object for an Instance if it is a PCell instance. delivers the PCell parameters for a cell (if it is
- a PCell variant) or an instance (if it is a PCell instance). The PCell parameters are an array of object
+ a PCell variant) or an instance (if it is a PCell instance). The PCell parameters are an array of variable-type values
and the interpretation is dependent on the PCell implementation. The object
which can be obtained through "pcell_declaration" gives the necessary information about the interpretation of the
parameters.
@@ -879,9 +879,9 @@ end
As stated earlier, the object represents a cell instance
- in the database and basically acts as a reference or pointer to a CellInstArray object inside the database.
+ in the database. Technically it acts as a proxy to some CellInstArray inside the database.
In addition, it provides access to properties attached to the instance. Instance objects play an important
- role in the Cell class to identify a certain instance, for example to delete an instance.
+ role in the Cell class to identify a certain instance, for example to delete it.
@@ -895,20 +895,25 @@ end
- The cell the Instance object lives in can be obtained with . basically
- renders the same information, but in form of a cell index. The layout the instance lives in can be
- obtained with .
+ The cell the Instance object lives in can be obtained with . basically
+ renders the same information, but in form of a cell index. The cell can be assigned () which changes is to
+ refer to a different cell.
+
+
+
+ The layout the instance lives in can be obtained with . The cell the instance lives in
+ is returned by . The parent cell can be assigned (), which effectively moves the instance to
+ a different cell.
User properties can be accessed through the attribute or, more convenient, through the
- , or methods. Please note that changing the
+ , or methods. Please note that changing the
property ID or the property values may invalidate iterators as well.
- An instance has an equality operator. That operator returns true, if the Instance objects point to
- the same cell instance.
+ An instance has an equality operator. That operator returns true, if the Instances indentify the same object.
The spine points of a path can be iterated with . returns the number of points.
- returns a specific point and allows replacing of the spine with the given array of Point objects.
+ allows replacing of the spine with the given array of Point objects.
sets the "round ended" flag. and deliver the bounding box and the area, where the area
is only approximate and is computed from the spine's length including the extensions times the width for efficiency. For
certain acute-angle configurations that value may not be the exact area.
@@ -338,7 +338,10 @@ box = RBA::Box::new(dbox)
, and basically work
like for the other objects.
- The class method creates a integer-coordinate type Text object from a floating-point coordinate type DText
+
+
+
+ Passing a DText object to the Text constructor creates an integer-coordinate type Text object from a floating-point coordinate type DText
object (see below). The floating-point coordinates are rounded to the nearest integer coordinates.
- Edge pairs can be "normalized" using . Normalization
- will bring the edge pairs in a form such that when connecting their start and end
+ Edge pairs can be "normalized" using .
+ This method returns the normalized version of the edge pair.
+ Normalization will bring the edge pairs in a form such that when connecting their start and end
points a closed loop without intersections is formed. Normalized edge pairs will produce
nicer polygons later on.
diff --git a/src/lay/lay/gsiDeclLayMainWindow.cc b/src/lay/lay/gsiDeclLayMainWindow.cc
index a5970dc55..17fa2f064 100644
--- a/src/lay/lay/gsiDeclLayMainWindow.cc
+++ b/src/lay/lay/gsiDeclLayMainWindow.cc
@@ -376,7 +376,7 @@ Class decl_MainWindow (QT_EXTERNAL_BASE (QMainWindow) "lay", "M
method_ext ("commit_config", &config_end,
"@brief Commits the configuration settings\n"
"This method is provided for using MainWindow without an Application object. "
- "It's a convience method which is equivalent to 'dispatcher().config_end(...)'. See \\Dispatcher#config_end for details.\n"
+ "It's a convience method which is equivalent to 'dispatcher().commit_config(...)'. See \\Dispatcher#commit_config for details.\n"
"\n"
"This method has been introduced in version 0.27.\n"
) +
diff --git a/src/lay/lay/layApplication.cc b/src/lay/lay/layApplication.cc
index a66c633a2..1ed3c8285 100644
--- a/src/lay/lay/layApplication.cc
+++ b/src/lay/lay/layApplication.cc
@@ -762,6 +762,10 @@ ApplicationBase::init_app ()
// run all early autorun macros
lym::MacroCollection::root ().autorun_early (&already_executed);
+ // redo gsi::initialize as the macros may have registered new external classes
+ // through the "doc to external class" mechanism.
+ gsi::initialize ();
+
// autorun_early may have added macro categories, so we need to call finish() again
if (mc) {
diff --git a/src/laybasic/laybasic/gsiDeclLayDialogs.cc b/src/laybasic/laybasic/gsiDeclLayDialogs.cc
index 5b230f11c..9cf0bc960 100644
--- a/src/laybasic/laybasic/gsiDeclLayDialogs.cc
+++ b/src/laybasic/laybasic/gsiDeclLayDialogs.cc
@@ -805,7 +805,6 @@ Class decl_InputDialog ("lay", "InputDialog",
"@param title The title to display for the dialog\n"
"@param label The label text to display for the dialog\n"
"@param value The initial value for the input field\n"
- "@return A \\IntValue object with has_value? set to true, if \"Ok\" was pressed and the value given in it's value attribute\n"
"@return The value entered if \"Ok\" was pressed or nil if \"Cancel\" was pressed\n"
"This method has been introduced in 0.22 and is somewhat easier to use than the get_.. equivalent."
) +
diff --git a/src/lvs/lvs/built-in-macros/_lvs_engine.rb b/src/lvs/lvs/built-in-macros/_lvs_engine.rb
index 64f577886..687f4868a 100644
--- a/src/lvs/lvs/built-in-macros/_lvs_engine.rb
+++ b/src/lvs/lvs/built-in-macros/_lvs_engine.rb
@@ -210,7 +210,7 @@ module LVS
# %LVS%
# @name lvs_data
- # @brief Gets the \LayoutVsSchematic object after compare was used
+ # @brief Gets the RBA::LayoutVsSchematic object after compare was used
# @synopsis lvs_data
# See \Netter#lvs_data for a description of that function.
diff --git a/src/rdb/rdb/gsiDeclRdb.cc b/src/rdb/rdb/gsiDeclRdb.cc
index bf03f816d..1a410e670 100644
--- a/src/rdb/rdb/gsiDeclRdb.cc
+++ b/src/rdb/rdb/gsiDeclRdb.cc
@@ -1244,7 +1244,7 @@ Class decl_ReportDatabase ("rdb", "ReportDatabase",
"object's dimensions to micron units by scaling by the database unit.\n"
"\n"
"This method will also produce a flat version of the shapes inside the region. "
- "\\RdbCategory#scan_region is a similar method which also supports construction of "
+ "\\RdbCategory#scan_collection is a similar method which also supports construction of "
"hierarchical databases from deep regions.\n"
"\n"
"This method has been introduced in version 0.23.\n"
@@ -1262,7 +1262,7 @@ Class decl_ReportDatabase ("rdb", "ReportDatabase",
"object's dimensions to micron units by scaling by the database unit.\n"
"\n"
"This method will also produce a flat version of the edges inside the edge collection. "
- "\\RdbCategory#scan_edges is a similar method which also supports construction of "
+ "\\RdbCategory#scan_collection is a similar method which also supports construction of "
"hierarchical databases from deep edge collections.\n"
"\n"
"This method has been introduced in version 0.23.\n"
@@ -1280,7 +1280,7 @@ Class decl_ReportDatabase ("rdb", "ReportDatabase",
"object's dimensions to micron units by scaling by the database unit.\n"
"\n"
"This method will also produce a flat version of the edge pairs inside the edge pair collection. "
- "\\RdbCategory#scan_edge_pairs is a similar method which also supports construction of "
+ "\\RdbCategory#scan_collection is a similar method which also supports construction of "
"hierarchical databases from deep edge pair collections.\n"
"\n"
"This method has been introduced in version 0.23.\n"