From: eap Date: Mon, 29 Nov 2010 10:11:39 +0000 (+0000) Subject: 0021087: EDF 1673 GEOM: Start and End length hypotheses don't always match edges... X-Git-Tag: RELIQUAT_5x_15112010~5 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=0147fe245011b0343856f4963a30ad71adb998a7;p=modules%2Fgeom.git 0021087: EDF 1673 GEOM: Start and End length hypotheses don't always match edges orientation Take into account REVERSED orientation of vectors only, for others make orientation FORWARD to show direction of 3D curve --- diff --git a/src/OBJECT/GEOM_AISShape.cxx b/src/OBJECT/GEOM_AISShape.cxx index 2317414ad..451babeb8 100644 --- a/src/OBJECT/GEOM_AISShape.cxx +++ b/src/OBJECT/GEOM_AISShape.cxx @@ -33,6 +33,7 @@ #include "GEOM_AISShape.ixx" #include "SALOME_InteractiveObject.hxx" +#include "GEOM_AISVector.hxx" // Open CASCADE Includes #include @@ -210,10 +211,14 @@ void GEOM_AISShape::Compute(const Handle(PrsMgr_PresentationManager3d)& aPresent if (isShowVectors()) { + const bool isVector = IsKind(STANDARD_TYPE(GEOM_AISVector)); TopExp_Explorer Exp ( myshape, TopAbs_EDGE ); for ( ; Exp.More(); Exp.Next() ) { TopoDS_Vertex aV1, aV2; TopoDS_Edge anEdgeE = TopoDS::Edge(Exp.Current()); + if ( !isVector ) + // draw curve direction (issue 0021087) + anEdgeE.Orientation( TopAbs_FORWARD ); if ( anEdgeE.IsNull() ) continue;