SelectMgr_RectangularFrustum now handles degenerated triangle as a segment or a point.
Triangle orthogonal to view direction is now handled as a segment.
myViewRayDir field is now defined as normalized vector to avoid confusing math.
For the case when the segment and myViewRayDir are almost parallel,
the segmentSegmentDistance function may set the depth to zero, although this will not
be the correct value, therefore it is better to pass a segment that will not
be parallel to myViewRayDir as an argument to the function.
vpoint command has been extended by arguments -2d and -nosel
for displaying picking mouse position as on-screen point in pixels.
Fixed double-binding-map error in case of displaying point with already used name.
bugs/vis/bug31412: test case added.
AIS_Manipulator crashes on SetPart method when 2 inputs (AIS_ManipulatorMode, Standard_Boolean) has been fixed up.
Test case for this bug has been added.
AIS_Manipulator::ObjectTransformation() has ceased to use undefined point for myStartPick initialization within AIS_MM_Translation mode.
AIS_MM_Scaling cas has been merged into AIS_MM_Translation to reduce code duplication.
Extrema_ExtElC/IntAna_IntConicQuad are now used directly instead of more generic GeomAPI_ExtremaCurveCurve/GeomAPI_IntCS.
AIS_Manipulator::ObjectTransformation() - fixed using of manipulator axes
with temporarily applied transformation (when BehaviorOnTransform::FollowRotation is TRUE).
Start axes orientation (at the beginning of Rotation) is now used instead.
1) Zoom persistence mode now fixes object in pixel coordinates and is independent on view size
2) Used gp_GTrsf instead of gp_Trsf SelectMgr_ViewerSelector to store Graphic3d_Mat4d
3) Zoom persisted objects changed behavior (become bigger) therefore test cases were updated according to new state.
4) Corrected scale for rectangular frustum
Updated test for manipulator
AIS_Manipulator class has been created to provide interactive services for manipulating with mouse local transformations of other interactive objects.
The class features three kinds of transformation modes for attached objects:
- translation of through axis
- scaling within axis
- rotation around axis
For more details please have a look at description of the class in reference manual or in header file.
The patch includes DRAW test workbench for evaluating the AIS_Manipulator features.
Clang warning (override)