When loading VRML files exported by PCBnew with Inline nodes, submodels
were incorrectly scaled. The parent file correctly disabled unit
conversion after detecting a top-level scale transform, but inline
submodels were loaded as separate WRL2BASE instances that defaulted to
legacy unit conversion mode.
Propagate the parent's unit conversion setting to inline submodels so
they use the same scaling behavior as the main VRML file.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19091
When OpenCASCADE returns triangulation data via BRep_Tool::Triangulation(),
it also returns a TopLoc_Location parameter that represents the transformation
from the triangulation's local coordinate system to face coordinates.
The existing code retrieved this location but never applied it to vertex
coordinates, causing some STEP models to display with misplaced or distorted
geometry.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15762
PCBnew-exported VRML files use a top-level Transform with a scale factor
and reference external component models via Inline nodes.
Skip legacy scaling when we know the export comes from pcbnew and
respect the useInline parameter
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19091
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo. Avoids needing to
repeatly update.
Also updates AUTHORS.txt from current repo with contributor names
* do not try to load vrml files for file formats that do not use them
* more tolerant test for step file: search header using up to 3 first lines
instead of only the first line
* dialog export: ensure the file ext is synchronized with the file format
the first time the dialog is opened
* more info messages: now a message is printed if the actual file format of
a 3D file is not recognized
This is primarily to change all instances of wxLogDebug with wxLogTrace
so developers do not have to sift through debugging output that is always
dumped. The only exception is for code blocks built in debug builds and
called on demand for dumping object states.
Trying to squeeze out some kind of gain by informing the OS we will read a file sequentially.
In particular our FILE_LINE_READER just uses fgetc until the end
wxWidgets 3.1 has deprecated wxPATH_NORM_ALL when normalizing file
paths when calling wxFileName::Normalize(). This change keeps the
existing behavior except in places where our own internal
ExpandEnvVarSubstitutions() to expand environment variables.
Found via `codespell -q 3 -S *.po,./thirdparty,./Documentation/changelogs -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,ba,busses,dout,einstance,leaded,modul,ontext,ot,overide,serie,te,,tesselate,tesselator,tht`
ADDED: with cmake KICAD_MACOSX_APP_BUNDLE option the user can disable
the macOS app bundle creation when compiling on macOS. This permit to
use/install KiCad like any other *nix platform (/usr/bin, /usr/share,
ecc.). By default, cmake build the app bundle.