mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-11-15 10:08:35 +05:00
200188 : fix problem with default ellipse creation mode when X axis is used as normal
This commit is contained in:
parent
b7552c43c0
commit
ba002ede34
@ -103,8 +103,11 @@ Standard_Integer GEOMImpl_EllipseDriver::Execute(TFunction_Logbook& log) const
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Axes
|
||||
gp_Ax2 anAxes (aP, aV);
|
||||
|
||||
// Main Axis vector
|
||||
gp_Vec aVM = gp::DX();
|
||||
Handle(GEOM_Function) aRefVectorMaj = aCI.GetVectorMajor();
|
||||
if (!aRefVectorMaj.IsNull()) {
|
||||
TopoDS_Shape aShapeVec = aRefVectorMaj->GetValue();
|
||||
@ -116,7 +119,7 @@ Standard_Integer GEOMImpl_EllipseDriver::Execute(TFunction_Logbook& log) const
|
||||
TopoDS_Vertex V1, V2;
|
||||
TopExp::Vertices(anE, V1, V2, Standard_True);
|
||||
if (!V1.IsNull() && !V2.IsNull()) {
|
||||
aVM = gp_Vec(BRep_Tool::Pnt(V1), BRep_Tool::Pnt(V2));
|
||||
gp_Vec aVM (BRep_Tool::Pnt(V1), BRep_Tool::Pnt(V2));
|
||||
if (aVM.Magnitude() < gp::Resolution()) {
|
||||
Standard_ConstructionError::Raise
|
||||
("Ellipse creation aborted: major axis vector of zero length is given");
|
||||
@ -125,11 +128,11 @@ Standard_Integer GEOMImpl_EllipseDriver::Execute(TFunction_Logbook& log) const
|
||||
Standard_ConstructionError::Raise
|
||||
("Ellipse creation aborted: normal and major axis vectors are parallel");
|
||||
}
|
||||
// Axes defined with main axis vector
|
||||
anAxes = gp_Ax2 (aP, aV, aVM);
|
||||
}
|
||||
}
|
||||
|
||||
// Axes
|
||||
gp_Ax2 anAxes (aP, aV, aVM);
|
||||
// Ellipse
|
||||
gp_Elips anEll (anAxes, aCI.GetRMajor(), aCI.GetRMinor());
|
||||
aShape = BRepBuilderAPI_MakeEdge(anEll).Edge();
|
||||
|
Loading…
Reference in New Issue
Block a user