1 // Copyright (C) 2014-2016 OPEN CASCADE
3 // This library is free software; you can redistribute it and/or
4 // modify it under the terms of the GNU Lesser General Public
5 // License as published by the Free Software Foundation; either
6 // version 2.1 of the License, or (at your option) any later version.
8 // This library is distributed in the hope that it will be useful,
9 // but WITHOUT ANY WARRANTY; without even the implied warranty of
10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 // Lesser General Public License for more details.
13 // You should have received a copy of the GNU Lesser General Public
14 // License along with this library; if not, write to the Free Software
15 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 #ifndef __CANRECPlugin_IDL__
21 #define __CANRECPlugin_IDL__
23 #include "GEOM_Gen.idl"
27 typedef sequence<long> ListOfLong;
30 * \brief Interface to Canonical Recognition modeling functions.
32 interface ICanRecOperations : GEOM::GEOM_IOperations
35 * \brief Perform, if possible, conversion of NURBS (B-Spline, Bezier) geometry to canonical (analytical) form.
37 * \param theObject the input object (solid, compound, compsolid).
38 * \param theMergeSurf the flag to switch on/off merging surfaces in the result shape.
39 * \param theMergeCurves the flag to switch on/off merging curves in the result shape.
40 * \param theTolerance the tolerance of the canonical recognition operation.
41 * \param theStat the statistics of the operation. Output parameter.
42 * Each integer value in the sequence has its own meaning
43 * depending on its index:
44 * 0 - total number of faces in the initial shape;
45 * 1 - number of canonical faces in the initial shape;
46 * 2 - number of faces converted to the canonical form;
47 * 3 - number of merged surfaces;
48 * 4 - number of merged curves.
49 * Nagative value means that this value is not computed.
51 * \return New GEOM_Object, containing the canonical recognition of the input object.
53 GEOM::GEOM_Object MakeCanonicalRecognition
54 (in GEOM::GEOM_Object theObject,
55 in boolean theMergeSurf,
56 in boolean theMergeCurves,
57 in double theTolerance,
58 out ListOfLong theStat);
61 * \brief Get the number of canonical faces in the shape.
63 * \param theObject the input object (solid, compound, compsolid).
65 * \return the number of canonical faces in the object.
67 long GetNbCanonicalFaces(in GEOM::GEOM_Object theObject);
71 #endif // __CANRECPlugin_IDL__