/*!
* \brief Kind of the curves.
*
- * Used in the functions GEOM_ICurvesOperations.MakeCurveParametric(), GEOM_ICurvesOperations.MakeCurveParametricNew()
+ * Used in the functions GEOM_ICurvesOperations.MakeCurveParametric(), GEOM_ICurvesOperations.MakeCurveParametricNew(),
+ * GEOM_ICurvesOperations.MakePolyline2D, GEOM_ICurvesOperations.MakePolyline2DOnPlane.
*/
enum curve_type {
/*! Polyline curve */
};
- typedef sequence<string> string_array;
- typedef sequence<short> short_array;
- typedef sequence<boolean> ListOfBool;
- typedef sequence<long> ListOfLong;
- typedef sequence<double> ListOfDouble;
+ typedef sequence<string> string_array;
+ typedef sequence<short> short_array;
+ typedef sequence<boolean> ListOfBool;
+ typedef sequence<long> ListOfLong;
+ typedef sequence<double> ListOfDouble;
+ typedef sequence<ListOfDouble> ListOfListOfDouble;
interface GEOM_Object;
interface GEOM_BaseObject;
GEOM_Object MakeCompound (in ListOfGO theShapes);
/*!
- * \brief Replace coincident faces in theShape by one face.
- * \param theShape Initial shape.
+ * \brief Replace coincident faces in \a theShapes by one face.
+ * \param theShapes Initial shapes.
* \param theTolerance Maximum distance between faces, which can be considered as coincident.
* \param doKeepNonSolids If FALSE, only solids will present in the result, otherwise all initial shapes.
- * \return New GEOM_Object, containing a copy of theShape without coincident faces.
+ * \return New GEOM_Object containing copies of theShapes without coincident faces.
*/
- GEOM_Object MakeGlueFaces (in GEOM_Object theShape, in double theTolerance, in boolean doKeepNonSolids);
+ GEOM_Object MakeGlueFaces (in ListOfGO theShapes, in double theTolerance, in boolean doKeepNonSolids);
/*!
- * Find coincident faces in theShape for possible gluing.
- * \param theShape Initial shape.
+ * Find coincident faces in theShapes for possible gluing.
+ * \param theShapes Initial shapes.
* \param theTolerance Maximum distance between faces, which can be considered as coincident.
* \return ListOfGO
*/
- ListOfGO GetGlueFaces (in GEOM_Object theShape, in double theTolerance);
+ ListOfGO GetGlueFaces (in ListOfGO theShapes, in double theTolerance);
/*!
- * \brief Replace coincident faces in theShape by one face
- * in compliance with given list of faces
- * \param theShape Initial shape.
+ * \brief Replace coincident faces in \a theShapes by one face
+ * in compliance with given list of faces
+ * \param theShapes Initial shapes.
* \param theTolerance Maximum distance between faces, which can be considered as coincident.
* \param theFaces List of faces for gluing.
* \param doKeepNonSolids If FALSE, only solids will present in the result, otherwise all initial shapes.
* \param doGlueAllEdges If TRUE, all coincident edges of <VAR>theShape</VAR>
* will be glued, otherwise only the edges,
* belonging to <VAR>theFaces</VAR>.
- * \return New GEOM_Object, containing a copy of theShape without some faces.
+ * \return New GEOM_Object containing copies of theShapes without coincident faces.
*/
- GEOM_Object MakeGlueFacesByList (in GEOM_Object theShape, in double theTolerance,
- in ListOfGO theFaces, in boolean doKeepNonSolids,
+ GEOM_Object MakeGlueFacesByList (in ListOfGO theShapes, in double theTolerance,
+ in ListOfGO theFaces, in boolean doKeepNonSolids,
in boolean doGlueAllEdges);
/*!
- * \brief Replace coincident edges in theShape by one edge.
- * \param theShape Initial shape.
+ * \brief Replace coincident edges in \a theShapes by one edge.
+ * \param theShapes Initial shapes.
* \param theTolerance Maximum distance between edges, which can be considered as coincident.
- * \return New GEOM_Object, containing a copy of theShape without coincident edges.
+ * \return New GEOM_Object containing copies of theShapes without coincident edges.
*/
- GEOM_Object MakeGlueEdges (in GEOM_Object theShape, in double theTolerance);
+ GEOM_Object MakeGlueEdges (in ListOfGO theShapes, in double theTolerance);
/*!
- * Find coincident edges in theShape for possible gluing.
- * \param theShape Initial shape.
+ * Find coincident edges in \a theShapes for possible gluing.
+ * \param theShapes Initial shapes.
* \param theTolerance Maximum distance between edges, which can be considered as coincident.
* \return ListOfGO
*/
- ListOfGO GetGlueEdges (in GEOM_Object theShape, in double theTolerance);
+ ListOfGO GetGlueEdges (in ListOfGO theShapes, in double theTolerance);
/*!
- * \brief Replace coincident edges in theShape by one edge
- * in compliance with given list of edges
- * \param theShape Initial shape.
+ * \brief Replace coincident edges in \a theShapes by one edge
+ * in compliance with given list of edges
+ * \param theShapes Initial shapes.
* \param theTolerance Maximum distance between edges, which can be considered as coincident.
* \param theEdges List of edges for gluing.
- * \return New GEOM_Object, containing a copy of theShape without some edges.
+ * \return New GEOM_Object containing copies of theShapes without some edges.
*/
- GEOM_Object MakeGlueEdgesByList (in GEOM_Object theShape,
- in double theTolerance,
+ GEOM_Object MakeGlueEdgesByList (in ListOfGO theShape,
+ in double theTolerance,
in ListOfGO theEdges);
/*!
* \return New GEOM_Object, containing the created wire.
*/
GEOM_Object Make3DSketcher (in ListOfDouble theCoordinates);
+
+ /*!
+ * \brief Create a 2D polyline (wire or a compound of wires).
+ *
+ * The polyline can have several sections. Each section represents a set
+ * of points in the form of list of coordinates of the following order:
+ * x1, y1, x2, y2, ..., xN, yN
+ * Each section has its own name, type of curve (can be either
+ * GEOM::Polyline or GEOM::Interpolation) and Closed flag.
+ * For each section a wire is created. It represents either a polyline or
+ * interpolation BSpline either closed or not depending on the Closed flag.
+ * The result represents a wire if there is only one section is defined.
+ * Otherwise a compound of wires is returned.
+ *
+ * \param theCoordsList the list of coordinates list. theCoordsList[0]
+ * is the coordinates list of the first section. theCoordsList[1]
+ * is for the second section etc.
+ * \param theNamesList the list of names. The order corresponds to
+ * theCoordsList.
+ * \param theTypesList the list of curve types. The order corresponds to
+ * theCoordsList.
+ * \param theClosedList the list of Closed flags. The order corresponds to
+ * theCoordsList.
+ * \param theWorkingPlane 9 double values, defining origin,
+ * OZ and OX directions of the working plane.
+ * \return New GEOM_Object, containing the created wire or a compound
+ * of wires.
+ */
+ GEOM_Object MakePolyline2D (in ListOfListOfDouble theCoordsList,
+ in string_array theNamesList,
+ in short_array theTypesList,
+ in ListOfBool theClosedList,
+ in ListOfDouble theWorkingPlane);
+
+ /*!
+ * \brief Create a 2D polyline (wire or a compound of wires).
+ *
+ * The polyline can have several sections. Each section represents a set
+ * of points in the form of list of coordinates of the following order:
+ * x1, y1, x2, y2, ..., xN, yN
+ * Each section has its own name, type of curve (can be either
+ * GEOM::Polyline or GEOM::Interpolation) and Closed flag.
+ * For each section a wire is created. It represents either a polyline or
+ * interpolation BSpline either closed or not depending on the Closed flag.
+ * The result represents a wire if there is only one section is defined.
+ * Otherwise a compound of wires is returned.
+ *
+ * \param theCoordsList the list of coordinates list. theCoordsList[0]
+ * is the coordinates list of the first section. theCoordsList[1]
+ * is for the second section etc.
+ * \param theNamesList the list of names. The order corresponds to
+ * theCoordsList.
+ * \param theTypesList the list of curve types. The order corresponds to
+ * theCoordsList.
+ * \param theClosedList the list of Closed flags. The order corresponds to
+ * theCoordsList.
+ * \param theWorkingPlane planar Face or LCS(Marker) of the working plane.
+ * \return New GEOM_Object, containing the created wire or a compound
+ * of wires.
+ */
+ GEOM_Object MakePolyline2DOnPlane (in ListOfListOfDouble theCoordsList,
+ in string_array theNamesList,
+ in short_array theTypesList,
+ in ListOfBool theClosedList,
+ in GEOM_Object theWorkingPlane);
+
};
// # GEOM_ILocalOperations:
* \param theTolerance Required tolerance value.
* \return New GEOM_Object, containing processed shape.
*/
- GEOM_Object Sew (in GEOM_Object theObject, in double theTolerance);
+ GEOM_Object Sew (in ListOfGO theObjects, in double theTolerance);
/*!
* Sewing of the given object. Allows non-manifold sewing.
* \param theTolerance Required tolerance value.
* \return New GEOM_Object, containing processed shape.
*/
- GEOM_Object SewAllowNonManifold(in GEOM_Object theObject, in double theTolerance);
+ GEOM_Object SewAllowNonManifold(in ListOfGO theObjects, in double theTolerance);
/*!
* Rebuild the topology of theCompound of solids by removing
/*!
* \brief Get a list of wires (wrapped in GEOM_Object-s),
* that constitute a free boundary of the given shape.
- * \param theObject Shape to get free boundary of.
+ * \param theObject Shapes to get free boundary of.
* \param theClosedWires Output. Closed wires on the free boundary of the given shape.
* \param theOpenWires Output. Open wires on the free boundary of the given shape.
* \return FALSE, if an error(s) occured during the method execution.
*/
- boolean GetFreeBoundary (in GEOM_Object theObject,
+ boolean GetFreeBoundary (in ListOfGO theObjects,
out ListOfGO theClosedWires,
out ListOfGO theOpenWires);
* file length unit will be ignored (set to 'meter') and result model will be scaled.
* \return List of GEOM_Object, containing the created shape and groups of materials.
*/
- ListOfGO ImportFile (in string theFileName, in string theFormatName);
+ ListOfGBO ImportFile (in string theFileName, in string theFormatName);
/*!
* \brief Deprecated method. Use ReadValue (from the corresponding plugin) instead.