module CANRECPlugin
{
+ typedef sequence<long> ListOfLong;
+
/*!
* \brief Interface to Canonical Recognition modeling functions.
*/
* \param theMergeSurf the flag to switch on/off merging surfaces in the result shape.
* \param theMergeCurves the flag to switch on/off merging curves in the result shape.
* \param theTolerance the tolerance of the canonical recognition operation.
+ * \param theStat the statistics of the operation. Output parameter.
+ * Each integer value in the sequence has its own meaning
+ * depending on its index:
+ * 0 - total number of faces in the initial shape;
+ * 1 - number of canonical faces in the initial shape;
+ * 2 - number of faces converted to the canonical form;
+ * 3 - number of merged surfaces;
+ * 4 - number of merged curves.
+ * Nagative value means that this value is not computed.
*
* \return New GEOM_Object, containing the canonical recognition of the input object.
*/
- GEOM::GEOM_Object MakeCanonicalRecognition ( in GEOM::GEOM_Object theObject,
- in boolean theMergeSurf,
- in boolean theMergeCurves,
- in double theTolerance );
+ GEOM::GEOM_Object MakeCanonicalRecognition
+ (in GEOM::GEOM_Object theObject,
+ in boolean theMergeSurf,
+ in boolean theMergeCurves,
+ in double theTolerance,
+ out ListOfLong theStat);
+
+ /*!
+ * \brief Get the number of canonical faces in the shape.
+ *
+ * \param theObject the input object (solid, compound, compsolid).
+ *
+ * \return the number of canonical faces in the object.
+ */
+ long GetNbCanonicalFaces(in GEOM::GEOM_Object theObject);
};
};