return NULL; //There is no function which creates an object to be processed
// Add a new object
- Handle(GEOM_Object) aNewObject = GetEngine()->AddObject( GetDocID(), GEOM_COPY );
+ Handle(GEOM_Object) aNewObject = GetEngine()->AddObject( GetDocID(), theObject->GetType() );
//Add the function
aFunction = aNewObject->AddFunction(GEOMImpl_HealingDriver::GetID(), CHANGE_ORIENTATION);
Handle(Graphic3d_Group) aG = Prs3d_Root::CurrentGroup(thePrs);
- //thePrs->Color(myShadingColor.Name());
- //aG->BeginPrimitives();
- Prs3d_Arrow::Draw(thePrs, aP2, aDir, PI/180.*5., aDist/10.);
- //aG->EndPrimitives();
+ if ( anEdgeE.Orientation() == TopAbs_FORWARD )
+ Prs3d_Arrow::Draw(thePrs, aP2, aDir, PI/180.*5., aDist/10.);
+ else
+ Prs3d_Arrow::Draw(thePrs, aP1, -aDir, PI/180.*5., aDist/10.);
}
}
//thePrs->ReCompute(); // for hidden line recomputation if necessary...
}
myResultShape.Reverse();
}
- else if (myInitShape.ShapeType() == TopAbs_WIRE) {
- myResultShape = myInitShape.Reversed();
- }
- else if (myInitShape.ShapeType() == TopAbs_EDGE) {
- myResultShape = myInitShape.Reversed();
+ else if ( myInitShape.ShapeType() == TopAbs_WIRE || myInitShape.ShapeType() == TopAbs_EDGE) {
+ myResultShape = myInitShape.EmptyCopied();
+ TopoDS_Iterator itr(myInitShape);
+ while (itr.More()) {
+ B.Add(myResultShape,itr.Value());
+ itr.Next();
+ }
+ myResultShape.Reverse();
}
else {
return false;