-// Copyright (C) 2007-2011 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2012 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
Interpolation
};
+ /*!
+ * \brief Pattern for block division of the disk
+ *
+ * Used in the functions GEOM_IAdvancedOperations.MakeDividedDisk(), GEOM_ICurvesOperations.MakeDividedDiskPntVecR()
+ */
+ enum pattern {
+ /*! Square */
+ SQUARE,
+
+ /*! Hexagon */
+ HEXAGON
+ };
+
typedef sequence<string> string_array;
typedef sequence<short> short_array;
{
/*!
- * \brief Get an entry of the object in GEOM component.
+ * \brief Get internal (unique) entry of the object in the GEOM component's data tree.
+ * \note This is not an entry of the data object in SALOME study.
+ * This is internal function of GEOM component, though it can be used outside it for
+ appropriate reason (e.g. for unique identification of geometry object).
*/
string GetEntry();
/*!
* Toggle auto color mode on the object.
- * \param theAtoColor is a flag which toggles auto color mode.
+ * \param theAutoColor is a flag which toggles auto color mode.
*/
void SetAutoColor(in boolean theAutoColor);
// # Internal methods (For sub-shape identification)
// ######################################################################
/*!
- * \brief Get geometric shape of the object as a byte stream
+ * \brief Get geometric shape of the object as a byte stream in BRep format
+ * \note GEOM_IInsertOperations::RestoreShape() method can be used to restore shape from a BRep stream.
*/
SALOMEDS::TMPFile GetShapeStream();
*/
GEOM_Object MakePointOnCurveByCoord (in GEOM_Object theRefCurve,
in double theXParameter,
- in double theYarameter,
- in double theZPameter);
+ in double theYParameter,
+ in double theZParameter);
/*!
* \brief Create a point, corresponding to the given parameters on the
*/
GEOM_Object MakePointOnSurfaceByCoord (in GEOM_Object theRefSurf,
in double theXParameter,
- in double theYarameter,
- in double theZPameter);
+ in double theYParameter,
+ in double theZParameter);
+ /*!
+ * \brief Create a point, which lays on the given face.
+ * The point will lay in arbitrary place of the face.
+ * The only condition on it is a non-zero distance to the face boundary.
+ * Such point can be used to uniquely identify the face inside any
+ * shape in case, when the shape does not contain overlapped faces.
+ * \param theFace The referenced face.
+ * \return New GEOM_Object, containing the created point.
+ */
+ GEOM_Object MakePointOnFace (in GEOM_Object theFace);
/*!
* \brief Create a point, on two lines intersection.
* \brief Create a vector, corresponding to tangent to the given parameter on the given curve.
* \param theRefCurve The referenced curve.
* \param theParameter Value of parameter on the referenced curve.This value should be have value
- * \between 0. and 1.. Value of 0. corresponds first parameter of curve value 1. corresponds
- * \last parameter of curve.
+ * between 0. and 1.. Value of 0. corresponds first parameter of curve; value
+ * 1. corresponds last parameter of curve.
* \return New GEOM_Object, containing the created point.
*/
GEOM_Object MakeTangentOnCurve (in GEOM_Object theRefCurve,
/*!
* \brief Create a plane, by two vectors.
* \param theVec1 Vector1, the plane has to pass through first point of this vector.
- * \param theVec Vector2, defining the plane normal direction.
+ * \param theVec2 Vector2, defining the plane normal direction.
* \param theTrimSize Half size of a side of quadrangle face, representing the plane.
* \return New GEOM_Object, containing the created plane.
*/
in double theTrimSize);
};
+ /*!
+ * \brief Interface for shapes transforming.
+ *
+ * Translation, rotation, scaling, mirroring, offset, projection, recomputing.
+ */
interface GEOM_ITransformOperations : GEOM_IOperations
{
/*!
* \param theObject The object to be translated.
* \param theVector Translation vector, giving a direction.
* \param theDistance Translation distance, giving a distance.
- * \param theCope Translation copy, creating its copy if true.
+ * \param theCopy Translation copy, creating its copy if true.
* \return New GEOM_Object, containing the translated object.
*/
GEOM_Object TranslateVectorDistance (in GEOM_Object theObject,
* \brief Rotate given object around vector perpendicular to plane containing three points.
* \param theObject The object to be rotated.
* \param theCentPoint central point - the axis is the vector perpendicular to the plane
- * containing the three points.
- * \param thePoint1 and thePoint2 - in a perpendicular plan of the axis.
+ * containing the three points.
+ * \param thePoint1,thePoint2 - in a perpendicular plan of the axis.
* \return theObject.
*/
GEOM_Object RotateThreePoints (in GEOM_Object theObject,
* \param theObject The object to be rotated.
* \param theCentPoint central point - the axis is the vector perpendicular to the plane
* containing the three points.
- * \param thePoint1 and thePoint2 - in a perpendicular plan of the axis.
+ * \param thePoint1,thePoint2 - in a perpendicular plan of the axis.
* \return New GEOM_Object, containing the rotated object.
*/
GEOM_Object RotateThreePointsCopy (in GEOM_Object theObject,
* \param thePath Wire or Edge along that the object will be translated.
* \param theDistance progress of Path (0 = actual location, 1 = end of path location).
* \param theCopy is a true or false parameter. true is to create a copy, false to move the object.
- * \param theCopy is a true or false parameter. true is to reverse direction, false is to move normal direction.
+ * \param theReverse is a true or false parameter. True is to reverse
+ * direction, false is to move normal direction.
* \return New GEOM_Object, containing the displaced shape.
*/
GEOM_Object PositionAlongPath (in GEOM_Object theObject,
GEOM_Object RecomputeObject (in GEOM_Object theObject);
};
- // # GEOM_I3DPrimOperations:
/*!
* \brief Interface for 3D primitives creation
*
/*!
* \brief Create a face by normale vector or edge and two specified sizes,
* vertical (H) and horisontal (W).
- * \param theVec defines plane.
+ * \param theObj defines plane.
* \param theH vertical size (height).
* \param theW horisontal size (width).
* \return New GEOM_Object, containing the created face.
/*!
* \brief Create a shape by extrusion of the base shape along a vector, defined by DX DY DZ.
* \param theBase Base shape to be extruded.
- * \param DX, DY, DZ end of extrusion vector.
+ * \param theDX, theDY, theDZ end of extrusion vector.
* \return New GEOM_Object, containing the created prism.
*/
GEOM_Object MakePrismDXDYDZ (in GEOM_Object theBase,
in double theDX, in double theDY, in double theDZ,
in double theScaleFactor);
+
+ /*!
+ * \brief Add / Remove material to / from a solid by extrusion of the base shape on the given distance.
+ * \param theInitShape Initial shape on which to perform the feature.It has to be a solid or
+ * a compound made of a single solid
+ * \param theBase Edge or wire defining the base shape to be extruded.
+ * \param theHeight Prism dimension along the normal of the face.
+ * \param theAngle Draft angel in degrees
+ * \param theFuse If true material is added else material is removed
+ * \return New GEOM_Object, containing the modified shape
+ */
+ GEOM_Object MakeDraftPrism (in GEOM_Object theInitShape,
+ in GEOM_Object theBase,
+ in double theHeight,
+ in double theAngle,
+ in boolean theFuse);
+
/*!
* \brief Create a shape by extrusion of the base shape along
* the path shape. The path shape can be a wire or an edge.
/*!
* \brief Create a filling from the given compound of contours.
+ * \param theShape Initial shape on which to perform the feature.
* \param theMinDeg a minimal degree of BSpline surface to create
* \param theMaxDeg a maximal degree of BSpline surface to create
* \param theTol2D a 2d tolerance to be reached
* \param theTol3D a 3d tolerance to be reached
* \param theNbIter a number of iteration of approximation algorithm
* \param theMethod Kind of method to perform filling operation.
+ * \param theApprox Boolean indicating if result should be approximated
* \return New GEOM_Object, containing the created filling surface.
*/
GEOM_Object MakeFilling (in GEOM_Object theShape,
* \param thePath - Path shape to extrude the base shape along it.
* \param theWithContact - the mode defining that the section is translated to be in
* contact with the spine.
- * \param - WithCorrection - defining that the section is rotated to be
+ * \param theWithCorrection - defining that the section is rotated to be
* orthogonal to the spine tangent in the correspondent point
* \return New GEOM_Object, containing the created pipe.
*/
* \param thePath - Path shape to extrude the base shape along it.
* \param theWithContact - the mode defining that the section is translated to be in
* contact with the spine.
- * \param - WithCorrection - defining that the section is rotated to be
+ * \param theWithCorrection - defining that the section is rotated to be
* orthogonal to the spine tangent in the correspondent point
* \return New GEOM_Object, containing the created pipe.
*/
in GEOM_Object thePath,
in GEOM_Object theVec);
+ /*!
+ * \brief Build a middle path of a pipe-like shape.
+ *
+ * The path shape can be a wire or an edge.
+ * \param theShape It can be closed or unclosed pipe-like shell
+ * or a pipe-like solid.
+ * \param theBase1, theBase2 Two bases of the supposed pipe. This
+ * should be wires or faces of \a theShape.
+ * \note It is not assumed that exact or approximate copy of \a theShape
+ * can be obtained by applying existing Pipe operation on the
+ * resulting "Path" wire taking \a theBase1 as the base - it is not
+ * always possible; though in some particular cases it might work
+ * it is not guaranteed. Thus, RestorePath function should not be
+ * considered as an exact reverse operation of the Pipe.
+ * \return New GEOM_Object, containing an edge or wire that represent
+ * source pipe's "path".
+ */
+ GEOM_Object RestorePath (in GEOM_Object theShape,
+ in GEOM_Object theBase1,
+ in GEOM_Object theBase2);
+
+ /*!
+ * \brief Build a middle path of a pipe-like shape.
+ *
+ * The path shape can be a wire or an edge.
+ * \param theShape It can be closed or unclosed pipe-like shell
+ * or a pipe-like solid.
+ * \param theBase1, theBase2 Two bases of the supposed pipe. This
+ * should be lists of edges of \a theShape.
+ * \note It is not assumed that exact or approximate copy of \a theShape
+ * can be obtained by applying existing Pipe operation on the
+ * resulting "Path" wire taking \a theBase1 as the base - it is not
+ * always possible; though in some particular cases it might work
+ * it is not guaranteed. Thus, RestorePath function should not be
+ * considered as an exact reverse operation of the Pipe.
+ * \return New GEOM_Object, containing an edge or wire that represent
+ * source pipe's "path".
+ */
+ GEOM_Object RestorePathEdges (in GEOM_Object theShape,
+ in ListOfGO theBase1,
+ in ListOfGO theBase2);
};
- // # GEOM_IShapesOperations
/*!
* \brief Interface for Shapes creation:
*
* in compliance with given list of edges
* \param theShape Initial shape.
* \param theTolerance Maximum distance between edges, which can be considered as coincident.
- * \param theFaces List of edges for gluing.
+ * \param theEdges List of edges for gluing.
* \return New GEOM_Object, containing a copy of theShape without some edges.
*/
GEOM_Object MakeGlueEdgesByList (in GEOM_Object theShape,
in GEOM_Object theAx1,
in shape_state theState);
/*!
- * \briefFind in \a theShape all sub-shapes of type \a theShapeType, situated relatively
+ * \brief Find in \a theShape all sub-shapes of type \a theShapeType, situated relatively
* the specified plane by the certain way, defined through \a theState parameter.
* \param theShape Shape to find sub-shapes of.
* \param theShapeType Type of sub-shapes to be retrieved.
*/
GEOM_Object GetSame (in GEOM_Object theShapeWhere,
in GEOM_Object theShapeWhat);
+
+ /*!
+ * \brief Get sub-shape Ids of theShapeWhere, which are
+ * coincident with \a theShapeWhat that can either SOLID, FACE, EDGE or VERTEX.
+ * \param theShapeWhere Shape to find sub-shapes of.
+ * \param theShapeWhat Shape, specifying what to find.
+ * \return found sub-shape Ids.
+ */
+ ListOfLong GetSameIDs (in GEOM_Object theShapeWhere,
+ in GEOM_Object theShapeWhat);
+
};
// # GEOM_IBlocksOperations:
* faces is not important.
*
* It is not necessary that Faces share the same edge.
- * \param theFace1-theFace6 Faces for the hexahedral solid.
+ * \param theFace1,theFace2,theFace3,theFace4,theFace5,theFace6 Faces for the hexahedral solid.
* \return New GEOM_Object, containing the created solid.
*/
GEOM_Object MakeHexa (in GEOM_Object theFace1,
/*!
* \brief Returns a face, found in the given shape by four given corner vertices.
* \param theShape Block or a compound of blocks.
- * \param thePoint1-thePoint4 Points, close to the corners of the desired face.
+ * \param thePoint1,thePoint2,thePoint3,thePoint4 Points, close to the corners of the desired face.
* \return New GEOM_Object, containing the found face.
*/
GEOM_Object GetFaceByPoints (in GEOM_Object theShape,
/*!
* \brief Find a face of block, whose outside normale has minimal angle with the given vector.
- * \param theShape Block or a compound of blocks.
+ * \param theBlock Block or a compound of blocks.
* \param theVector Vector, close to the normale of the desired face.
* \return New GEOM_Object, containing the found face.
*/
* \param theMinNbFaces If solid has lower number of faces, it is not a block.
* \param theMaxNbFaces If solid has higher number of faces, it is not a block.
* \note If theMaxNbFaces = 0, the maximum number of faces is not restricted.
+ * \param theNbBlocks Number of specified blocks in theCompound.
* \return TRUE, if the given compound contains only blocks.
- * \return theNbBlocks Number of specified blocks in theCompound.
*/
boolean IsCompoundOfBlocks (in GEOM_Object theCompound,
in long theMinNbFaces,
* - The glue between two quadrangle faces should be applied.
* \note Single block is also accepted as a valid compound of blocks.
* \param theCompound The compound to check.
+ * \param theErrors Structure, containing discovered errors and incriminated sub-shapes.
* \return TRUE, if the given shape is a compound of blocks.
- * \return theErrors Structure, containing discovered errors and incriminated sub-shapes.
*/
boolean CheckCompoundOfBlocks (in GEOM_Object theCompound,
out BCErrors theErrors);
string PrintBCErrors (in GEOM_Object theCompound,
in BCErrors theErrors);
+ /*!
+ * \brief Retrieve all non blocks solids and faces from a shape.
+ *
+ * \param theShape The shape to explore.
+ * \param theNonQuads Output parameter. Group of all non quadrangular faces.
+ *
+ * \return Group of all non block solids (= not 6 faces, or with 6
+ * faces, but with the presence of non-quadrangular faces).
+ */
+ GEOM_Object GetNonBlocks (in GEOM_Object theShape, out GEOM_Object theNonQuads);
+
/*!
* \brief Remove all seam and degenerated edges from \a theShape.
*
* \note Each compound from ListShapes and ListTools will be exploded in order
* to avoid possible intersection between shapes from this compound.
* \param theLimit Type of resulting shapes (corresponding to TopAbs_ShapeEnum).
- * \param KeepNonlimitShapes: if this parameter == 0, then only shapes of
+ * \param theKeepNonlimitShapes: if this parameter == 0, then only shapes of
* target type (equal to Limit) are kept in the result,
* else standalone shapes of lower dimension
* are kept also (if they exist).
* \param thezExpr parametric equation of the coordinates Z.
* \param theParamMin the minimal value of the parameter.
* \param theParamMax the maximum value of the parameter.
- * \param theParamStep the number of steps of the parameter discretization.
+ * \param theParamNbStep the number of steps of the parameter discretization.
* \param theCurveType the type of the curve.
* \return New GEOM_Object, containing the created curve.
*/
/*!
* \brief Create a sketcher (wire or face), following the textual description,
- * passed through \a theCommand argument.
+ * passed through \a theCommand argument.
*
* Edges of the resulting wire or face will be arcs of circles and/or linear segments. \n
- * Format of the description string have to be the following:
+ * Format of the description string has to be the following:
*
* "Sketcher[:F x1 y1]:CMD[:CMD[:CMD...]]"
*
* coordinates of the working plane.
* \param theWorkingPlane Nine double values, defining origin,
* OZ and OX directions of the working plane.
- * \return New GEOM_Object, containing the created wire.
+ * \return New GEOM_Object, containing the created wire or face.
*/
GEOM_Object MakeSketcher (in string theCommand, in ListOfDouble theWorkingPlane);
/*!
- * \brief Create a 3D sketcher, following the numerical description,
- * passed through points created by \a theCoordinates argument.
+ * \brief Create a sketcher (wire or face), following the textual description,
+ * passed through \a theCommand argument.
*
- * Format of the description string have to be the following:
+ * For format of the description string see the previous method.\n
*
- * "Make3DSketcher[x1, y1, z1, x2, y2, z2, ..., xN, yN, zN]"
+ * \param theCommand String, defining the sketcher in local
+ * coordinates of the working plane.
+ * \param theWorkingPlane Planar Face or LCS(Marker) of the working plane.
+ * \return New GEOM_Object, containing the created wire or face.
*/
+ GEOM_Object MakeSketcherOnPlane (in string theCommand, in GEOM_Object theWorkingPlane);
- GEOM_Object Make3DSketcher (in ListOfDouble theCoordinates);
-
- /*!
- * \brief Create a sketcher (wire or face), following the textual description,
- * passed through \a theCommand argument.
+ /*!
+ * \brief Create a 3D sketcher, following the textual description,
+ * passed through \a theCommand argument.
+ *
+ * Format of the description string has to be the following:
+ *
+ * "3DSketcher:CMD[:CMD[:CMD...]]"
+ *
+ * Where CMD is one of
+ * - "TT x y z" : Create segment by point at X & Y or set the first point
+ * - "T dx dy dz" : Create segment by point with DX & DY
+ * .
+ * \n
+ * - "OXY angleX angle2 length" : Create segment by two angles and length
+ * - "OYZ angleY angle2 length" : Create segment by two angles and length
+ * - "OXZ angleX angle2 length" : Create segment by two angles and length
+ * .
+ * \n
+ * - "WW" : Close Wire (to finish)
*
- * For format of the description string see the previous method.\n
* \param theCommand String, defining the sketcher in local
* coordinates of the working plane.
- * \param theWorkingPlane Planar Face or LCS(Marker) of the working plane.
* \return New GEOM_Object, containing the created wire.
*/
- GEOM_Object MakeSketcherOnPlane (in string theCommand, in GEOM_Object theWorkingPlane);
+ GEOM_Object Make3DSketcherCommand (in string theCommand);
+
+ /*!
+ * \brief Create a 3D sketcher, made of a straight segments, joining points
+ * with coordinates passed through \a theCoordinates argument.
+ *
+ * Order of coordinates has to be the following:
+ * x1, y1, z1, x2, y2, z2, ..., xN, yN, zN
+ *
+ * \param theCoordinates List of double values.
+ * \return New GEOM_Object, containing the created wire.
+ */
+ GEOM_Object Make3DSketcher (in ListOfDouble theCoordinates);
};
// # GEOM_ILocalOperations:
* <VAR>GEOM_IShapesOperations.GetSubShapeIndex()</VAR>.
* \note The list of vertices coudl 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.
+ * But sometimes the next edge is C1 continuous with the one, nearest to
+ * the fillet point, and such two (or more) edges can be united to allow
+ * bigger radius. Set this flag to TRUE to allow collinear edges union,
+ * thus ignoring the secant vertex (vertices).
* \return New GEOM_Object, containing the result shape.
*/
GEOM_Object MakeFillet1D (in GEOM_Object theShape,
in double theR,
- in ListOfLong theVertexes);
+ in ListOfLong theVertexes,
+ in boolean doIgnoreSecantVertices);
/*!
* \brief Perform a symmetric chamfer on all edges of the given shape.
* \brief Perform a chamfer on edges,
* with distance D1 on the first specified face (if several for one edge)
* \param theShape Shape, to perform chamfer on.
- * \param theD1 theD2 Chamfer size
+ * \param theD1,theD2 Chamfer size
* \param theEdges Sequence of edges of \a theShape.
* \return New GEOM_Object, containing the result shape.
*/
GEOM_Object DivideEdge (in GEOM_Object theObject, in short theEdgeIndex,
in double theValue, in boolean isByParameter);
+ /*!
+ * \brief Suppress the vertices in the wire in case if adjacent edges are C1 continuous.
+ * \param theWire Wire to minimize the number of C1 continuous edges in.
+ * \param theVertices A list of vertices to suppress. If the list
+ * is empty, all vertices in a wire will be assumed.
+ * \return New GEOM_Object with modified wire.
+ */
+ GEOM_Object FuseCollinearEdgesWithinWire (in GEOM_Object theWire,
+ in ListOfGO theVertices);
+
/*!
* \brief Get a list of wires (wrapped in GEOM_Object-s),
* that constitute a free boundary of the given shape.
* \param theFileName The file, containing the shape.
* \param theFormatName Specify format for the file reading.
* Available formats can be obtained with <VAR>ImportTranslators()</VAR> method.
- * If format 'IGES_SCALE' is used instead 'IGES' length unit will be
- * set to 'meter' and result model will be scaled.
+ * If format 'IGES_SCALE' is used instead of 'IGES' or
+ * format 'STEP_SCALE' is used instead of 'STEP',
+ * file length unit will be ignored (set to 'meter') and result model will be scaled.
* \return New GEOM_Object, containing the imported shape.
*/
GEOM_Object ImportFile (in string theFileName, in string theFormatName);
+ /*!
+ * \brief Read a value of parameter from a file, containing a shape.
+ * \param theFileName The file, containing the shape.
+ * \param theFormatName Specify format for the file reading.
+ * Available formats can be obtained with <VAR>ImportTranslators()</VAR> method.
+ * \param theParameterName Specify the parameter. For example, pass "LEN_UNITS"
+ * to obtain length units, in which the file is written.
+ * \return Value of requested parameter in form of text string.
+ */
+ string ReadValue (in string theFileName, in string theFormatName, in string theParameterName);
+
/*!
* \brief Get the supported import formats and corresponding patterns for File dialog.
* \param theFormats Output. List of formats, available for import.
void ExportTranslators (out string_array theFormats,
out string_array thePatterns);
+ /*!
+ * \brief Read a shape from the binary stream, containing its bounding representation (BRep).
+ * \note GEOM_Object::GetShapeStream() method can be used to obtain the shape's BRep stream.
+ * \param theStream The BRep binary stream.
+ * \return New GEOM_Object, containing the shape, read from theStream.
+ */
+ GEOM_Object RestoreShape (in SALOMEDS::TMPFile theStream);
+
/*!
* \brief Load texture from file
* \param theTextureFile texture file name
/*!
* \brief Get inertia matrix and moments of inertia of theShape.
* \param theShape Shape to calculate inertia of.
- * \param I(1-3)(1-3) Output. Components of the inertia matrix of the given shape.
+ * \param I11,I12,I13,I21,I22,I23,I31,I32,I33 Output. Components of the inertia matrix of the given shape.
* \param Ix,Iy,Iz Output. Moments of inertia of the given shape.
* \return Returns inertia through the last twelve arguments.
*/
*/
void DifferenceIDs (in GEOM_Object theGroup, in ListOfLong theSubShapes);
+ /*!
+ * \brief Union of two groups.
+ * New group is created. It will contain all entities
+ * which are present in groups theGroup1 and theGroup2.
+ * \param theGroup1, theGroup2 are the initial GEOM groups
+ * to create the united group from.
+ * \return a newly created GEOM group.
+ */
+ GEOM_Object UnionGroups (in GEOM_Object theGroup1, in GEOM_Object theGroup2);
+
+ /*!
+ * \brief Intersection of two groups.
+ * New group is created. It will contain only those entities
+ * which are present in both groups theGroup1 and theGroup2.
+ * \param theGroup1, theGroup2 are the initial GEOM groups to get common part of.
+ * \return a newly created GEOM group.
+ */
+ GEOM_Object IntersectGroups (in GEOM_Object theGroup1, in GEOM_Object theGroup2);
+
+ /*!
+ * \brief Cut of two groups.
+ * New group is created. It will contain entities which are
+ * present in group theGroup1 but are not present in group theGroup2.
+ * \param theGroup1 is a GEOM group to include elements of.
+ * \param theGroup2 is a GEOM group to exclude elements of.
+ * \return a newly created GEOM group.
+ */
+ GEOM_Object CutGroups (in GEOM_Object theGroup1, in GEOM_Object theGroup2);
+
+ /*!
+ * \brief Union of list of groups.
+ * New group is created. It will contain all entities that are
+ * present in groups listed in theGList.
+ * \param theGList is a list of GEOM groups to create the united group from.
+ * \return a newly created GEOM group.
+ */
+ GEOM_Object UnionListOfGroups (in ListOfGO theGList);
+
+ /*!
+ * \brief Intersection of list of groups.
+ * New group is created. It will contain only entities
+ * which are simultaneously present in the groups listed in theGList.
+ * \param theGList is a list of GEOM groups to get common part of.
+ * \return a newly created GEOM group.
+ */
+ GEOM_Object IntersectListOfGroups (in ListOfGO theGList);
+
+ /*!
+ * \brief Cut of lists of groups.
+ * New group is created. It will contain only entities
+ * which are present in groups listed in theGList1 but
+ * are not present in groups from theGList2.
+ * \param theGList1 is a list of GEOM groups to include elements of.
+ * \param theGList2 is a list of GEOM groups to exclude elements of.
+ * \return a newly created GEOM group.
+ */
+ GEOM_Object CutListOfGroups (in ListOfGO theGList1,
+ in ListOfGO theGList2);
+
/*!
* \brief Returns a type of sub-objects stored in the group
* \param theGroup is a GEOM group which type is returned.
in double theR2, in double theW2, in double theL2,
in double theRF, in boolean theHexMesh,
in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
+ /*!
+ * This function allows to create a disk already divided into blocks. It
+ * can be use to create divided pipes for later meshing in hexaedra.
+ * \param theR Radius of the disk
+ * \param theRatio Relative size of the central square diagonal against the disk diameter
+ * \param theOrientation Plane on which the disk will be built
+ * \return New GEOM_Object, containing the created shape.
+ */
+ GEOM_Object MakeDividedDisk (in double theR,
+ in double theRatio,
+ in short theOrientation,
+ in pattern thePattern);
+
+ /*!
+ * \brief Create a Disk prepared for hexa meshing with given center, normal vector and radius.
+ * \param thePnt disk center.
+ * \param theVec Vector, normal to the plane of the disk.
+ * \param theR Disk radius.
+ * \param theRatio Relative size of the central square diagonal against the disk diameter
+ * \return New GEOM_Object, containing the created disk.
+ */
+ GEOM_Object MakeDividedDiskPntVecR ( in GEOM_Object thePnt,
+ in GEOM_Object theVec,
+ in double theR,
+ in double theRatio,
+ in pattern thePattern);
+
+ /*!
+ * Builds a cylinder prepared for hexa meshes
+ * \param theR Radius of the cylinder
+ * \param theH Height of the cylinder
+ * \return New GEOM_Object, containing the created shape.
+ */
+ GEOM_Object MakeDividedCylinder (in double theR,
+ in double theH,
+ in pattern thePattern );
+
/*@@ insert new functions before this line @@ do not remove this line @@*/
};
*
* To be used from GUI and from geompy.addToStudy.
* Work like the above method, but accepts study object theSObject instead of GEOM_Object.
+ * \param theStudy the study, in which theObject is published already,
+ * and in which the arguments will be published
* \param theSObject study object, referencing GEOM_Object, arguments of which will be published
+ * \param theArgs list of GEOM_Object, operation arguments to be published.
+ * If this list is empty, all operation arguments will be published
+ * \param theFindMethod method to search sub-shapes, corresponding to arguments and
+ * their sub-shapes. Value from enumeration GEOM::find_shape_method.
+ * \param theInheritFirstArg set properties of the first argument for \a theObject.
+ * Do not publish sub-shapes in place of arguments, but only
+ * 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
+ * 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.
+ * \param theAddPrefix add prefix "from_" to names of restored sub-shapes,
+ * and prefix "from_subshapes_of_" to names of partially restored sub-shapes.
*/
ListOfGO RestoreSubShapesSO (in SALOMEDS::Study theStudy,
in SALOMEDS::SObject theSObject,