20 #ifndef GeomAlgoAPI_CanonicalRecognition_H_
21 #define GeomAlgoAPI_CanonicalRecognition_H_
23 #include "GeomAlgoAPI.h"
24 #include <GeomAPI_Shape.h>
34 GEOMALGOAPI_EXPORT
static bool isPlane(
const GeomShapePtr& theShape,
double theTolerance,
35 std::vector<double>& theNormal, std::vector<double>& theOrigin);
40 GEOMALGOAPI_EXPORT
static bool isSphere(
const GeomShapePtr& theShape,
double theTolerance,
41 std::vector<double>& theOrigin,
double& theRadius);
46 GEOMALGOAPI_EXPORT
static bool isCone(
const GeomShapePtr& theShape,
double theTolerance,
47 std::vector<double>& theAxis, std::vector<double>& theApex,
48 double& theHalfAngle);
53 GEOMALGOAPI_EXPORT
static bool isCylinder(
const GeomShapePtr& theShape,
double theTolerance,
54 std::vector<double>& theAxis, std::vector<double>& theOrigin,
60 GEOMALGOAPI_EXPORT
static bool isLine(
const GeomShapePtr& theEdge,
double theTolerance,
61 std::vector<double>& theDir, std::vector<double>& theOrigin);
66 GEOMALGOAPI_EXPORT
static bool isCircle(
const GeomShapePtr& theEdge,
double theTolerance,
67 std::vector<double>& theNormal, std::vector<double>& theOrigin,
73 GEOMALGOAPI_EXPORT
static bool isEllipse(
const GeomShapePtr& theEdge,
double theTolerance,
74 std::vector<double>& theNormal, std::vector<double>& theDirX,
75 std::vector<double>& theOrigin,
76 double& theMajorRadius,
double& theMinorRadius);
Definition: GeomAlgoAPI_CanonicalRecognition.h:29
static bool isLine(const GeomShapePtr &theEdge, double theTolerance, std::vector< double > &theDir, std::vector< double > &theOrigin)
Check if edge / wire is line.
Definition: GeomAlgoAPI_CanonicalRecognition.cpp:258
static bool isSphere(const GeomShapePtr &theShape, double theTolerance, std::vector< double > &theOrigin, double &theRadius)
Check if shape is spherical.
Definition: GeomAlgoAPI_CanonicalRecognition.cpp:100
static bool isEllipse(const GeomShapePtr &theEdge, double theTolerance, std::vector< double > &theNormal, std::vector< double > &theDirX, std::vector< double > &theOrigin, double &theMajorRadius, double &theMinorRadius)
Check if edge / wire is ellipse.
Definition: GeomAlgoAPI_CanonicalRecognition.cpp:362
static bool isPlane(const GeomShapePtr &theShape, double theTolerance, std::vector< double > &theNormal, std::vector< double > &theOrigin)
Check if the shape is planar.
Definition: GeomAlgoAPI_CanonicalRecognition.cpp:52
static bool isImplemented()
Check if the algorithm is implemented (Shaper is built with appropriate OCCT version)
Definition: GeomAlgoAPI_CanonicalRecognition.cpp:434
static bool isCone(const GeomShapePtr &theShape, double theTolerance, std::vector< double > &theAxis, std::vector< double > &theApex, double &theHalfAngle)
Check if shape is conical.
Definition: GeomAlgoAPI_CanonicalRecognition.cpp:145
static bool isCircle(const GeomShapePtr &theEdge, double theTolerance, std::vector< double > &theNormal, std::vector< double > &theOrigin, double &theRadius)
Check if edge / wire is circle.
Definition: GeomAlgoAPI_CanonicalRecognition.cpp:307
static bool isCylinder(const GeomShapePtr &theShape, double theTolerance, std::vector< double > &theAxis, std::vector< double > &theOrigin, double &theRadius)
Check if shape is cylinder.
Definition: GeomAlgoAPI_CanonicalRecognition.cpp:201