From 0147fe245011b0343856f4963a30ad71adb998a7 Mon Sep 17 00:00:00 2001 From: eap Date: Mon, 29 Nov 2010 10:11:39 +0000 Subject: [PATCH] 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 --- src/OBJECT/GEOM_AISShape.cxx | 5 +++++ 1 file changed, 5 insertions(+) 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; -- 2.39.2