X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=idl%2FGEOM_Gen.idl;h=7241c256dce88cdae1fcae4092e3915c38547aec;hb=939f3cca95870d93e333f2b4dfdea41ed1ba9092;hp=830fcc3984dfdef42f54e5e4567a932a644e3a86;hpb=2735fef8fc422fd39a59490e6bb22f2a650d5f5e;p=modules%2Fgeom.git diff --git a/idl/GEOM_Gen.idl b/idl/GEOM_Gen.idl index 830fcc398..7241c256d 100644 --- a/idl/GEOM_Gen.idl +++ b/idl/GEOM_Gen.idl @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2015 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -299,7 +299,9 @@ module GEOM long GetStudyID(); /*! - * \brief Get internal type of the object (POINT, BOX, CYLINDER, EXTRUSION...). + * \brief Get internal type of operation created this object (POINT, BOX, CYLINDER, EXTRUSION...). + * \note To get topological information on the object, use \ref GEOM_IMeasureOperations::WhatIs() "WhatIs()" + * or \ref GEOM_IMeasureOperations::KindOfShape() "KindOfShape()" operation. */ long GetType(); @@ -680,7 +682,7 @@ module GEOM /*! * \brief Set the operation error code - * \param theErrorID is a string describing the error occured + * \param theErrorID is a string describing the error occurred * \note This method is supposed to be used only by interfaces inheriting from IOperations. */ void SetErrorCode (in string theErrorID); @@ -701,7 +703,7 @@ module GEOM void StartOperation(); /*! - * \brief Closes the previously opened trasaction + * \brief Closes the previously opened transaction */ void FinishOperation(); @@ -853,7 +855,7 @@ module GEOM /*! * C\brief reate a line, passing through the given point - * and parrallel to the given direction + * and parallel to the given direction * \param thePnt Point. The resulting line will pass through it. * \param theDir Direction. The resulting line will be parallel to it. * \return New GEOM_Object, containing the created line. @@ -1298,17 +1300,23 @@ module GEOM * \brief Replace the given object by its offset. * \param theObject The base object for the offset. * \param theOffset Offset value. + * \param theJoinByPipes To join offset surfaces by pipes or by intersection. * \return theObject. */ - GEOM_Object OffsetShape (in GEOM_Object theObject, in double theOffset); + GEOM_Object OffsetShape (in GEOM_Object theObject, + in double theOffset, + in boolean theJoinByPipes); /*! * \brief Create new object as offset of the given one. * \param theObject The base object for the offset. * \param theOffset Offset value. + * \param theJoinByPipes To join offset surfaces by pipes or by intersection. * \return New GEOM_Object, containing the offset object. */ - GEOM_Object OffsetShapeCopy (in GEOM_Object theObject, in double theOffset); + GEOM_Object OffsetShapeCopy (in GEOM_Object theObject, + in double theOffset, + in boolean theJoinByPipes); /*! * \brief Create new object as projection of the given one on a 2D surface. @@ -2654,7 +2662,8 @@ module GEOM * coincident with \a theShapeWhat or could be a part of it. * \param theShapeWhere Shape to find sub-shapes of. * \param theShapeWhat Shape, specifying what to find. - * \return Group of all found sub-shapes or a single found sub-shape. + * \return Compound which includes all found sub-shapes if they have different types; + * or group of all found shapes of the equal type; or a single found sub-shape. */ GEOM_Object GetInPlace (in GEOM_Object theShapeWhere, in GEOM_Object theShapeWhat); @@ -2677,7 +2686,8 @@ module GEOM * * \param theShapeWhere Shape to find sub-shapes of. * \param theShapeWhat Shape, specifying what to find. - * \return Group of all found sub-shapes or a single found sub-shape. + * \return Compound which includes all found sub-shapes if they have different types; + * or group of all found shapes of the equal type; or a single found sub-shape. */ GEOM_Object GetInPlaceByHistory (in GEOM_Object theShapeWhere, in GEOM_Object theShapeWhat); @@ -2778,6 +2788,43 @@ module GEOM in comparison_condition theCondition, in double theTolerance); + /** + * This enumeration represents an extraction statistics type. It is used in + * the interface GEOM_IShapesOperations::MakeExtraction. + */ + enum ExtractionStatType + { + EST_Removed, ///< Removed sub-shapes + EST_Modified, ///< Modified sub-shapes + EST_Added ///< Newly created sub-shapes + }; + + /*! + * This structure defines a format of extraction statistics. It is used in + * the interface GEOM_IShapesOperations::MakeExtraction. + */ + struct ExtractionStat + { + ExtractionStatType type; ///< Type of extraction statistics. + ListOfLong indices; ///< Shape indices touched by this type of modification. + }; + + typedef sequence ExtractionStats; + + /*! + * \brief Return the shape that is constructed from theShape without + * extracted sub-shapes from the input list. + * + * \param theShape the original shape. + * \param theSubShapeIDs the list of sub-shape IDs to be extracted from + * the original shape. + * \param theStats the operation statistics. Output parameter. + * \return the shape without extracted sub-shapes. + */ + GEOM_Object MakeExtraction(in GEOM_Object theShape, + in ListOfLong theSubShapeIDs, + out ExtractionStats theStats); + }; // # GEOM_IBlocksOperations: @@ -3176,7 +3223,7 @@ module GEOM * * Propagation group is a set of all edges, opposite to one (main) * edge of this group directly or through other opposite edges. - * Notion of Opposite Edge make sence only on quadrangle face. + * Notion of Opposite Edge make sense only on quadrangle face. * \param theShape Shape to build propagation groups on. * \return List of GEOM_Object, each of them is a propagation group. */ @@ -3275,7 +3322,7 @@ module GEOM * \param theRemoveInside Shapes, inside which the results will be deleted. * Each shape from theRemoveInside must belong to theShapes also. * \param theRemoveWebs If TRUE, perform Glue 3D algorithm. - * \param theMaterials Material indices for each shape. Make sence, only if theRemoveWebs is TRUE. + * \param theMaterials Material indices for each shape. Make sense, only if theRemoveWebs is TRUE. * * \return New GEOM_Object, containing the result shapes. */ @@ -3291,7 +3338,7 @@ module GEOM /*! * \brief Perform partition operation. * - * This method may be usefull if it is needed to make a partition for + * This method may be useful if it is needed to make a partition for * a compound containing nonintersected shapes. Performance will be better * since intersection between shapes from compound is not performed. * @@ -3754,7 +3801,7 @@ module GEOM * \param theVertexes Global indices of vertexes to perform fillet on. * \note Global index of sub-shape can be obtained, using method * GEOM_IShapesOperations.GetSubShapeIndex(). - * \note The list of vertices coudl be empty, in this case fillet fill be done + * \note The list of vertices could be empty, in this case fillet fill be done * at all vertices in given wire * \param doIgnoreSecantVertices If FALSE, fillet radius is always limited * by the length of the edges, nearest to the fillet vertex. @@ -3793,7 +3840,7 @@ module GEOM in double theD1, in double theD2, in long theFace1, in long theFace2); /*! - * \brief The Same but with params theD = Chamfer Lenght + * \brief The Same but with params theD = Chamfer Length * and theAngle = Chamfer Angle (Angle in radians) */ GEOM_Object MakeChamferEdgeAD (in GEOM_Object theShape, @@ -3817,7 +3864,7 @@ module GEOM in double theD1, in double theD2, in ListOfLong theFaces); /*! - * The Same but with params theD = Chamfer Lenght + * The Same but with params theD = Chamfer Length * and theAngle = Chamfer Angle (Angle in radians) */ GEOM_Object MakeChamferFacesAD (in GEOM_Object theShape, @@ -3836,7 +3883,7 @@ module GEOM in double theD1, in double theD2, in ListOfLong theEdges); /*! - * The Same but with params theD = Chamfer Lenght + * The Same but with params theD = Chamfer Length * and theAngle = Chamfer Angle (Angle in radians) */ GEOM_Object MakeChamferEdgesAD (in GEOM_Object theShape, @@ -4023,7 +4070,7 @@ module GEOM * \param theObjects 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. + * \return FALSE, if an error(s) occurred during the method execution. */ boolean GetFreeBoundary (in ListOfGO theObjects, out ListOfGO theClosedWires, @@ -4153,7 +4200,7 @@ module GEOM }; /*! - * \brief Sequence of non-topological information tranfer data. + * \brief Sequence of non-topological information transfer data. */ typedef sequence ListOfTransferDatum; @@ -4168,7 +4215,7 @@ module GEOM * \param theResult statistics of the operation. Output parameter. It * represents a sequence of Transfer Datum. A datum has the type * (string code), the total number of items of this type and - * the number of transfered items. + * the number of transferred items. * \return true in case of success; otherwise false. */ boolean TransferData(in GEOM_Object theObjectFrom, @@ -4296,12 +4343,14 @@ module GEOM * \brief Get summarized length of all wires, * area of surface and volume of the given shape. * \param theShape Shape to define properties of. + * \param theTolerance maximal relative error of area and volume computation. * \param theLength Output. Summarized length of all wires of the given shape. * \param theSurfArea Output. Area of surface of the given shape. * \param theVolume Output. Volume of the given shape. * \return Returns shape properties through the last three arguments. */ void GetBasicProperties (in GEOM_Object theShape, + in double theTolerance, out double theLength, out double theSurfArea, out double theVolume); @@ -4507,6 +4556,14 @@ module GEOM in double theTolerance, out ListOfLong theIntersections); + /*! + * \brief Check boolean and partition operations agruments. + * \param theShape the agrument of an operation to be checked. + * \return TRUE if the agrument is valid for a boolean or partition + * operation; FALSE otherwise. + */ + boolean CheckBOPArguments (in GEOM_Object theShape); + /*! * \brief Detect intersections of the given shapes with algorithm based on mesh intersections. * \param theShape1 First source object @@ -4861,7 +4918,7 @@ module GEOM * in place of sub-shapes of the first argument, * because the whole shape corresponds to the first argument. * Mainly to be used after transformations, but it also can be - * usefull after partition with one object shape, and some other + * useful after partition with one object shape, and some other * operations, where only the first argument has to be considered. * If theObject has only one argument shape, this flag is automatically * considered as True, not regarding really passed value. @@ -4892,7 +4949,7 @@ module GEOM * in place of sub-shapes of the first argument, * because the whole shape corresponds to the first argument. * Mainly to be used after transformations, but it also can be - * usefull after partition with one object shape, and some other + * useful after partition with one object shape, and some other * operations, where only the first argument has to be considered. * If theObject has only one argument shape, this flag is automatically * considered as True, not regarding really passed value. @@ -4924,7 +4981,7 @@ module GEOM * in place of sub-shapes of the first argument, * because the whole shape corresponds to the first argument. * Mainly to be used after transformations, but it also can be - * usefull after partition with one object shape, and some other + * useful after partition with one object shape, and some other * operations, where only the first argument has to be considered. * If theObject has only one argument shape, this flag is automatically * considered as True, not regarding really passed value.