* Support link and group objects
* Support view sync by implementing view provider API getMDIView()
* Use handleChangedPropertyType() for object migration instead of
reimplementing Restore() because of a lots of changes in
PropertyContainer::Restore().
* Various other small fixes.
- use current 3D window direction as starting
direction for DrawViewPart and ProjectionGroup
- if a Face is selected, use Face normal as
starting direction.
- if a scale transform with scale = 0 is passed to
BRepBuilderAPI_Transform, it will loop forever.
If Page.keepUpdated is false, and Views have not yet
been executed (ex at load time), Views will have a
0.0 x 0.0 bbox and if Autoscale is true, a scale of
0.0 will be used in fit-to-page.
Some "valid" shapes are being passed to findShapeOutline where edges
that should be connected are in fact separated 10x the expected tolerance
(2*Precision::Confusion) for 2 overlapping TopoDS_Vertex.
IntTools_Tools:ComputeVV also reports these Vertices as further apart than
their combined tolerances should allow.
This change introduces a tolerance into DrawUtil and EdgeWalker vertex
comparisions that is quite "sloppy" (0.00001) but which handles the sample
objects correctly. This tolerance is adequate for drawings. Other uses
should be considered on case by case basis.