1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-09-03 14:10:33 +03:00

0025536: XmlMDataXtd_GeometryDriver doesn't support TDataXtd_SPLINE, TDataXtd_PLANE and TDataXtd_CYLINDER.

Added support of the missed geometrical types into the XML driver.
This commit is contained in:
mpv
2017-05-25 13:11:50 +03:00
committed by bugmaster
parent a38db39de6
commit 354c94b724
2 changed files with 58 additions and 6 deletions

View File

@@ -31,11 +31,14 @@ static Standard_Boolean GeometryTypeEnum
IMPLEMENT_DOMSTRING (TypeString, "geomtype")
IMPLEMENT_DOMSTRING (GeomAnyString, "any")
IMPLEMENT_DOMSTRING (GeomPointString, "point")
IMPLEMENT_DOMSTRING (GeomLineString, "line")
IMPLEMENT_DOMSTRING (GeomCircleString, "circle")
IMPLEMENT_DOMSTRING (GeomEllipseString, "ellipse")
IMPLEMENT_DOMSTRING (GeomAnyString, "any")
IMPLEMENT_DOMSTRING (GeomPointString, "point")
IMPLEMENT_DOMSTRING (GeomLineString, "line")
IMPLEMENT_DOMSTRING (GeomCircleString, "circle")
IMPLEMENT_DOMSTRING (GeomEllipseString, "ellipse")
IMPLEMENT_DOMSTRING (GeomSplineString, "slpine")
IMPLEMENT_DOMSTRING (GeomPlaneString, "plane")
IMPLEMENT_DOMSTRING (GeomCylinderString, "cylinder")
//=======================================================================
//function : XmlMDataXtd_GeometryDriver
@@ -110,6 +113,12 @@ static Standard_Boolean GeometryTypeEnum (const XmlObjMgt_DOMString& theString,
aResult = TDataXtd_CIRCLE;
else if (theString.equals (::GeomEllipseString()))
aResult = TDataXtd_ELLIPSE;
else if (theString.equals(::GeomSplineString()))
aResult = TDataXtd_SPLINE;
else if (theString.equals(::GeomPlaneString()))
aResult = TDataXtd_PLANE;
else if (theString.equals(::GeomCylinderString()))
aResult = TDataXtd_CYLINDER;
else
return Standard_False;
}
@@ -131,7 +140,10 @@ static const XmlObjMgt_DOMString& GeometryTypeString
case TDataXtd_LINE : return ::GeomLineString();
case TDataXtd_CIRCLE : return ::GeomCircleString();
case TDataXtd_ELLIPSE : return ::GeomEllipseString();
case TDataXtd_SPLINE : return ::GeomSplineString();
case TDataXtd_PLANE : return ::GeomPlaneString();
case TDataXtd_CYLINDER : return ::GeomCylinderString();
default:
throw Standard_DomainError("TDataXtd_GeometryEnum; enum term unknown");
}