#include <TopTools_HSequenceOfShape.hxx>
#include <TopTools_DataMapOfShapeListOfShape.hxx>
#include <TCollection_AsciiString.hxx>
+#include <TColStd_HSequenceOfInteger.hxx>
+#include <TColStd_HSequenceOfReal.hxx>
#include <gp_Ax3.hxx>
class GEOM_Engine;
Standard_EXPORT GEOMImpl_IMeasureOperations(GEOM_Engine* theEngine, int theDocID);
Standard_EXPORT ~GEOMImpl_IMeasureOperations();
+ enum ShapeKind {
+ SK_NO_SHAPE,
+ // COMPOSITEs
+ SK_COMPOUND,
+ SK_COMPSOLID,
+ SK_SHELL,
+ SK_WIRE,
+ // SOLIDs
+ SK_SPHERE, // full sphere
+ SK_CYLINDER, // cylinder
+ SK_BOX, // box with faces, parallel to global coordinate planes
+ SK_ROTATED_BOX, // other box
+ SK_TORUS, // full torus
+ SK_CONE, // cone
+ SK_POLYHEDRON, // solid, bounded by polygons
+ SK_SOLID, // other solid
+ // FACEs
+ SK_SPHERE2D, // spherical face (closed)
+ SK_CYLINDER2D, // cylindrical face with defined height
+ SK_TORUS2D, // toroidal face (closed)
+ SK_CONE2D, // conical face with defined height
+ SK_DISK_CIRCLE, // planar, bounded by circle
+ SK_DISK_ELLIPSE, // planar, bounded by ellipse
+ SK_POLYGON, // planar, bounded by segments
+ SK_PLANE, // infinite planar
+ SK_PLANAR, // other planar
+ SK_FACE, // other face
+ // EDGEs
+ SK_CIRCLE, // full circle
+ SK_ARC_CIRCLE, // arc of circle
+ SK_ELLIPSE, // full ellipse
+ SK_ARC_ELLIPSE, // arc of ellipse
+ SK_LINE, // infinite segment
+ SK_SEGMENT, // segment
+ SK_EDGE, // other edge
+ // VERTEX
+ SK_VERTEX
+ };
+
+ Standard_EXPORT ShapeKind KindOfShape (Handle(GEOM_Object) theShape,
+ Handle(TColStd_HSequenceOfInteger)& theIntegers,
+ Handle(TColStd_HSequenceOfReal)& theDoubles);
+
Standard_EXPORT void GetPosition (Handle(GEOM_Object) theShape,
Standard_Real& Ox, Standard_Real& Oy, Standard_Real& Oz,
Standard_Real& Zx, Standard_Real& Zy, Standard_Real& Zz,