* Bug: %GITHUB%/issues/1996 More robust triangulation
* Bug: %GITHUB%/issues/2002 Path to polygon conversion issue
* Enhancement: Better support for user properties
The property management has been overhauled. Properties are not globally
scoped. The "Layout" class now provides class methods to convert property IDs
to property hashes and back. It is no longer required to know the origin of
a property ID.
Other changes are:
- New classes "BoxWithProperties", "EdgeWithProperties", "PolygonWithProperties",
"SimplePolygonWithProperties", "PathWithProperties", "EdgePairWithProperties",
"TextWithProperties" and corresponding "D..." classes.
Many functions accept these objects now in addition to the property-less "Box",
"Edge" etc. objects. Many functions now deliver property-annotated objects
instead of the plain ones.
- "EdgePairFilterproperty_glob", "EdgePairFilterproperty_filter", "EdgePairFilterproperty_filter_bounded"
creates filters for edge pair objects, which can be used on "EdgePairs" containers to
filter by properties.
- The same is available for "EdgeFilter" (for filtering edges in "Edges" containers),
"PolygonFilter" (for filtering polygons in "Region" containers), and
"TextFilter" (for filtering texts in "Texts" containers)
- New method "process_with_properties" for "PolygonOperator", "EdgeOperator",
"EdgePairOperator" and "TextOperator"
* Enhancement: New class "PolygonNeighborhood"
This is a visitor to obtain all "neighboring" polygons for each polygon
in a Region. Currently, neighborhood is defined by the bounding box of
the primary polygons.
* Enhancement: Layout queries can use "$_" to refer to the current cell now
* Enhancement: New methods:
- "LayoutToNetlistbuild_net", "build_nets" and "build_all_nets" do not
- "LayoutToNetlistlayer_index" from a name
- "LayoutToNetlisttexts_by_index" and "LayoutToNetlisttexts_by_name"
- "LayoutToNetlistoriginal_layout" and "LayoutToNetlistoriginal_top_cell"
- "LayoutToNetlistpolygons_of_net" and "LayoutToNetlisttexts_of_net"
- "Deviceterminal_ref"
- New "text_prop" argument in Textspolygons (texts can transfer their
string to the generated polygons as user properties)
- New methods "Polygondelaunay", "DPolygondelaunay", "SimplePolygondelaunay"
and "DSimplePolygondelaunay"