===========================================
In OCCT 7.4 (and apparently <= 7.4 too):
A GeomAdaptor_Curve obtained directly from BRepAdaptor_Curve will not work because it won't respect the
Location/orientation of the underlying curve.
This commit proposes to create a new GeomAdaptor_Curve from an intermediary curve handle to work around
this issue.
for Drawing, Image, Inspection, Mesh, MeshPart, Part, Path, Points, Raytracing, ReverseEngineering, Spreadsheet, Start, Surface, Web
TODO: fix several -Woverflow in area
New attachment modes:
"Align O-Z-X"
"Align O-Z-Y"
"Align O-X-Y"
"Align O-X-Z"
"Align O-Y-Z"
"Align O-Y-X"
They allow to attach a sketch by picking origin point and sketch axes
directions.
Modes affected:
* NormalToEdge ("Z tangent to edge", "Normal to edge"),
* Tangent
In these attachment modes, if vertex is linked first, the origin was
supposed to be placed on the vertex, but it was placed on the edge
instead, due to a bug. This commit fixes the bug.
Projects will be broken, which use above mentioned attachment modes, and
link Vertex as first reference, and the vertex does not lie on the edge.
To repair a project, edit the corresponding attachments, and swap the
order of references.
... by verifying if the pointers equal to objects contained in all open
documents. Not terribly good, but I can't think of a situation where
doing this search might cause trouble.
When another bit of information was needed to be extracted from mode
suggestion routine, it felt like listMapModes had too many arguments.
So, the arguments have been collapsed into a struct. This triggered a
few namespace-related changes, which lead to massive search-and-replace
changes all over FreeCAD.
So the only functional change carried out is the addition of reference
types readout to info returned by suggestor.
Modes added:
3D and plane attachment: Inertia CS
Line attachment: Inertia axes
This commit may serve a good example of how to add new attachment modes.
Attachment mode list used to display only the modes that fit current
references. Now, modes that can be reached by adding more references are
listed too, but grayed out.
- Rebase App::Origin on App::DocumentObject
- Keep all control over the Origin structure inside the Origin and it's
ViewProvider
- Add OriginFeature class as common base for App::Plane and App::Line
- Rebase App::Plane and App::Line on top of newly created class and
move to the file.
- Change Origin's ViewProvider API associated with temporary display
- Lots of associated changes to files
- Several minor fixes
- Lots of new bugs