TEdgeSet::Iterator anIter (myEdgeSet);
for (; anIter.More(); anIter.Next()) {
- const TopoDS_Edge& anEdge = anIter.Value();
- OCC2VTK(anEdge,aPolyData,aPts,myIsVector);
+ TopoDS_Edge anEdge = anIter.Value();
+ if ( !myIsVector )
+ // draw curve direction (issue 0021087)
+ anEdge.Orientation( TopAbs_FORWARD );
+ OCC2VTK(anEdge,aPolyData,aPts,myIsVector||myIsVectorMode);
}
}
void GEOM_EdgeSource::SetVectorMode (bool theMode)
{
- myIsVector = theMode;
+ myIsVectorMode = theMode;
}
bool GEOM_EdgeSource::GetVectorMode ()
{
- return myIsVector;
+ return !myIsVector && myIsVectorMode;
}
TEdgeSet myEdgeSet;
// The <myIsVector> flag is common for all edges, because the shape,
// representing a vector, can have only one edge.
- bool myIsVector;
+ bool myIsVector, myIsVectorMode;
void Execute();