* "keep layer name" will not try to modify layer names into
GDS layer/datatypes. The feature is available in the DXF
reader options and for the buddy scripts as "--keep-layer-names"
It applies to CIF too.
* "contour accuracy": when merging lines into contours, this
accuracy is applied to find neighbors. By default this value
is 0. If set to a value >0, points with distances (square
metrics) less than this value will be connected.
The buddy script option is --dxf-contour-accuracy=value.
The aim of this rework was to enable PCell implementations
that use the basic methods rather than the "_impl" variants.
For the latter, potential variable name clashes happen when
parameters are called "cell", "layout", "layer" or similar.
New methods enable implementation on the level of the
non-"impl" methods. For example:
def produce(self, layout, layers, parameters, cell):
self.init_values(parameters, layers)
...
self.finish()
This commit
- Ignores exceptions when checking for PCells that accept shapes.
Hence a single rogue one does not break the feature.
- Prevents errors when parameters named "layer" are present
by making the implementation safe against this case.
- In addition, guiding shape parameters of type "Path", "Box" etc.
(i.e. integer types) are supported too although they are
not recommended for portability.
The issue is with "dllexport": previously, dllexport was present on
exposed templates tool (= visibility(default) for gcc/clang). This
ensured MacOS compatibility since then the typeinfo is corretly
shared and dynamic_cast/typeid works.
For Windows, the "dllexport" equivalent requires the template
instantiations to be declared "external" which is a coding nightmare.
The solution is to provide separate macros for real (non-specialized,
not explicitly instantiated) templates (.._PUBLIC_TEMPLATE) which
is defined as empty for Windows and "visiblity(default)" for gcc/clang.
1.) Startup issue:
This is solved by making sure templates with virtual functions
are made visible in the DSO. This way, dynamic_cast is possible
across DSO's.
Scary: clang/MacOS wants the forward declarations be declared visible as well.
2.) Menu issue:
The best solution is to have only one QMenuBar. The navigator
now gets a synthetic menu bar composed of QToolButtons.