/*!
* \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 */
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
- };
-
/*!
* \brief Type of field data
*/
};
- 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 MakeCylinderRH (in double theR, in double theH);
+ /*!
+ * \brief Create a portion of cylinder with given radius, height and angle at
+ * the origin of coordinate system.
+ *
+ * Axis of the cylinder will be collinear to the OZ axis of the coordinate system.
+ * \param theR Cylinder radius.
+ * \param theH Cylinder height.
+ * \param theA Cylinder angle.
+ * \return New GEOM_Object, containing the created cylinder.
+ */
+ GEOM_Object MakeCylinderRHA (in double theR, in double theH, in double theA);
+
/*!
* \brief Create a cylinder with given base point, axis, radius and height.
* \param thePnt Central point of cylinder base.
in GEOM_Object theAxis,
in double theR,
in double theH);
+ /*!
+ * \brief Create a portion of cylinder with given base point, axis, radius, height and angle.
+ * \param thePnt Central point of cylinder base.
+ * \param theAxis Cylinder axis.
+ * \param theR Cylinder radius.
+ * \param theH Cylinder height.
+ * \param theA Cylinder angle.
+ * \return New GEOM_Object, containing the created cylinder.
+ */
+ GEOM_Object MakeCylinderPntVecRHA (in GEOM_Object thePnt,
+ in GEOM_Object theAxis,
+ in double theR,
+ in double theH,
+ in double theA);
/*!
* \brief Create a cone with given height and radiuses at
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);
GEOM_Object MakeCopy (in GEOM_Object theOriginal);
/*!
+ * \brief Deprecated method. Use Export<FormatName> (from the
+ * corresponding plugin) instead; here <FormatName> is a name of format.
+ *
* \brief Export the given shape into a file with given name.
* \param theObject Shape to be stored in the file.
* \param theFileName Name of the file to store the given shape in.
* \param theFormatName Specify format for the shape storage.
- * Available formats can be obtained with <VAR>ImportTranslators()</VAR> method.
*/
void Export (in GEOM_Object theObject, in string theFileName, in string theFormatName);
/*!
- * \brief Import a shape from the BRep or IGES or STEP file
+ * \brief Deprecated method. Use Import<FormatName> (from the
+ * corresponding plugin) instead; here <FormatName> is a name of format.
+ *
+ * \brief Import a shape from the STL, BREP, IGES or STEP file
* (depends on given format) with given name.
* \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 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 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.
+ *
* \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.
- * \param thePatterns Output. List of file patterns, corresponding to available formats.
- * \return Returns available formats and patterns through the arguments.
- */
- void ImportTranslators (out string_array theFormats,
- out string_array thePatterns);
-
- /*!
- * \brief Get the supported export formats and corresponding patterns for File dialog.
- * \param theFormats Output. List of formats, available for export.
- * \param thePatterns Output. List of file patterns, corresponding to available formats.
- * \return Returns available formats and patterns through the arguments.
- */
- 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.
* \return list of all texture IDs avaiable for the current study
*/
ListOfLong GetAllTextures();
-
- /*!
- * Export a shape to XAO format
- * \param shape The shape to export
- * \param groups The list of groups to export
- * \param fields The list of fields to export
- * \param author The author of the export
- * \param fileName The name of the file to export
- * \return boolean indicating if export was successful.
- */
- boolean ExportXAO(in GEOM_Object shape,
- in ListOfGO groups, in ListOfFields fields,
- in string author, in string fileName);
- /*!
- * Import a shape from XAO format
- * \param fileName The name of the file to import
- * \param shape The imported shape
- * \param subShapes The list of imported subShapes
- * \param groups The list of imported groups
- * \param fields The list of imported fields
- * \return boolean indicating if import was successful.
- */
- boolean ImportXAO(in string fileName, out GEOM_Object shape,
- out ListOfGO subShapes, out ListOfGO groups, out ListOfFields fields);
};
// # GEOM_IKindOfShape:
ListOfLong GetObjects (in GEOM_Object theGroup);
};
- // # GEOM_IAdvancedOperations:
- /*!
- * \brief Interface for advanced modeling functions.
- */
- interface GEOM_IAdvancedOperations : GEOM_IOperations
- {
- // T-Shape WITHOUT Thickness reduction
-
- /*!
- * \brief Create a T-shape object with specified caracteristics for the main and
- * the incident pipes (radius, width, half-length).
- *
- * Center of the shape is (0,0,0). The main plane of the T-shape is XOY.
- * \param theR1 Internal radius of main pipe
- * \param theW1 Width of main pipe
- * \param theL1 Half-length of main pipe
- * \param theR2 Internal radius of incident pipe (R2 < R1)
- * \param theW2 Width of incident pipe (R2+W2 < R1+W1)
- * \param theL2 Half-length of incident pipe
- * \param theHexMesh Boolean indicating if shape is prepared for hex mesh (default=true)
- * \return List of GEOM_Object, containing the created shape and propagation groups.
- */
- ListOfGO MakePipeTShape (in double theR1, in double theW1, in double theL1,
- in double theR2, in double theW2, in double theL2,
- in boolean theHexMesh);
- /*!
- * \brief Create a T-shape object with specified caracteristics for the main and
- * the incident pipes (radius, width, half-length).
- *
- * The extremities of the main pipe are located on junctions points P1 and P2.
- * The extremity of the incident pipe is located on junction point P3.
- * \param theR1 Internal radius of main pipe
- * \param theW1 Width of main pipe
- * \param theL1 Half-length of main pipe
- * \param theR2 Internal radius of incident pipe (R2 < R1)
- * \param theW2 Width of incident pipe (R2+W2 < R1+W1)
- * \param theL2 Half-length of incident pipe
- * \param theHexMesh Boolean indicating if shape is prepared for hex mesh (default=true)
- * \param theP1 1st junction point of main pipe
- * \param theP2 2nd junction point of main pipe
- * \param theP3 Junction point of incident pipe
- * \return List of GEOM_Object, containing the created shape and propagation groups.
- */
- ListOfGO MakePipeTShapeWithPosition (in double theR1, in double theW1, in double theL1,
- in double theR2, in double theW2, in double theL2,
- in boolean theHexMesh,
- in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
- /*!
- * \brief Create a T-shape object with specified caracteristics for the main and
- * the incident pipes (radius, width, half-length). A chamfer is created
- * on the junction of the pipes.
- *
- * Center of the shape is (0,0,0). The main plane of the T-shape is XOY.
- * \param theR1 Internal radius of main pipe
- * \param theW1 Width of main pipe
- * \param theL1 Half-length of main pipe
- * \param theR2 Internal radius of incident pipe (R2 < R1)
- * \param theW2 Width of incident pipe (R2+W2 < R1+W1)
- * \param theL2 Half-length of incident pipe
- * \param theH Height of the chamfer.
- * \param theW Width of the chamfer.
- * \param theHexMesh Boolean indicating if shape is prepared for hex mesh (default=true)
- * \return List of GEOM_Object, containing the created shape and propagation groups.
- */
- ListOfGO MakePipeTShapeChamfer (in double theR1, in double theW1, in double theL1,
- in double theR2, in double theW2, in double theL2,
- in double theH, in double theW, in boolean theHexMesh);
- /*!
- * \brief Create a T-shape object with specified caracteristics for the main and
- * the incident pipes (radius, width, half-length).
- *
- * A chamfer is created on the junction of the pipes.
- * The extremities of the main pipe are located on junctions points P1 and P2.
- * The extremity of the incident pipe is located on junction point P3.
- * \param theR1 Internal radius of main pipe
- * \param theW1 Width of main pipe
- * \param theL1 Half-length of main pipe
- * \param theR2 Internal radius of incident pipe (R2 < R1)
- * \param theW2 Width of incident pipe (R2+W2 < R1+W1)
- * \param theL2 Half-length of incident pipe
- * \param theH Height of the chamfer.
- * \param theW Width of the chamfer.
- * \param theHexMesh Boolean indicating if shape is prepared for hex mesh (default=true)
- * \param theP1 1st junction point of main pipe
- * \param theP2 2nd junction point of main pipe
- * \param theP3 Junction point of incident pipe
- * \return List of GEOM_Object, containing the created shape and propagation groups.
- */
- ListOfGO MakePipeTShapeChamferWithPosition (in double theR1, in double theW1, in double theL1,
- in double theR2, in double theW2, in double theL2,
- in double theH, in double theW, in boolean theHexMesh,
- in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
- /*!
- * \brief Create a T-shape object with specified caracteristics for the main and
- * the incident pipes (radius, width, half-length).
- *
- * A fillet is created on the junction of the pipes.
- * Center of the shape is (0,0,0). The main plane of the T-shape is XOY.
- * \param theR1 Internal radius of main pipe
- * \param theW1 Width of main pipe
- * \param theL1 Half-length of main pipe
- * \param theR2 Internal radius of incident pipe (R2 < R1)
- * \param theW2 Width of incident pipe (R2+W2 < R1+W1)
- * \param theL2 Half-length of incident pipe
- * \param theRF Radius of curvature of fillet.
- * \param theHexMesh Boolean indicating if shape is prepared for hex mesh (default=true)
- * \return List of GEOM_Object, containing the created shape and propagation groups.
- */
- ListOfGO MakePipeTShapeFillet (in double theR1, in double theW1, in double theL1,
- in double theR2, in double theW2, in double theL2,
- in double theRF, in boolean theHexMesh);
- /*!
- * \brief Create a T-shape object with specified caracteristics for the main and
- * the incident pipes (radius, width, half-length).
- *
- * A fillet is created on the junction of the pipes.
- * The extremities of the main pipe are located on junctions points P1 and P2.
- * The extremity of the incident pipe is located on junction point P3.
- * \param theR1 Internal radius of main pipe
- * \param theW1 Width of main pipe
- * \param theL1 Half-length of main pipe
- * \param theR2 Internal radius of incident pipe (R2 < R1)
- * \param theW2 Width of incident pipe (R2+W2 < R1+W1)
- * \param theL2 Half-length of incident pipe
- * \param theRF Radius of curvature of fillet.
- * \param theHexMesh Boolean indicating if shape is prepared for hex mesh (default=true)
- * \param theP1 1st junction point of main pipe
- * \param theP2 2nd junction point of main pipe
- * \param theP3 Junction point of incident pipe
- * \return List of GEOM_Object, containing the created shape and propagation groups.
- */
- ListOfGO MakePipeTShapeFilletWithPosition (in double theR1, in double theW1, in double theL1,
- 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);
-
- // T-Shape WITH Thickness reduction
-
- /*!
- * \brief Create a T-shape object with specified caracteristics for the main and
- * the incident pipes (radius, width, half-length).
- *
- * Center of the shape is (0,0,0). The main plane of the T-shape is XOY.
- * \param theR1 Internal radius of main pipe
- * \param theW1 Width of main pipe
- * \param theL1 Half-length of main pipe
- * \param theR2 Internal radius of incident pipe (R2 < R1)
- * \param theW2 Width of incident pipe (R2+W2 < R1+W1)
- * \param theL2 Half-length of incident pipe
- *
- * \param theRL Internal radius of left thickness reduction
- * \param theWL Width of left thickness reduction
- * \param theLtransL Length of left transition part
- * \param theLthinL Length of left thin part
- *
- * \param theRR Internal radius of right thickness reduction
- * \param theWR Width of right thickness reduction
- * \param theLtransR Length of right transition part
- * \param theLthinR Length of right thin part
- *
- * \param theRI Internal radius of incident thickness reduction
- * \param theWI Width of incident thickness reduction
- * \param theLtransI Length of incident transition part
- * \param theLthinI Length of incident thin part
- *
- * \param theHexMesh Boolean indicating if shape is prepared for hex mesh (default=true)
- * \return List of GEOM_Object, containing the created shape and propagation groups.
- */
- ListOfGO MakePipeTShapeTR (in double theR1, in double theW1, in double theL1,
- in double theR2, in double theW2, in double theL2,
- in double theRL, in double theWL, in double theLtransL, in double theLthinL,
- in double theRR, in double theWR, in double theLtransR, in double theLthinR,
- in double theRI, in double theWI, in double theLtransI, in double theLthinI,
- in boolean theHexMesh);
- /*!
- * \brief Create a T-shape object with specified caracteristics for the main and
- * the incident pipes (radius, width, half-length).
- *
- * The extremities of the main pipe are located on junctions points P1 and P2.
- * The extremity of the incident pipe is located on junction point P3.
- * \param theR1 Internal radius of main pipe
- * \param theW1 Width of main pipe
- * \param theL1 Half-length of main pipe
- * \param theR2 Internal radius of incident pipe (R2 < R1)
- * \param theW2 Width of incident pipe (R2+W2 < R1+W1)
- * \param theL2 Half-length of incident pipe
- *
- * \param theRL Internal radius of left thickness reduction
- * \param theWL Width of left thickness reduction
- * \param theLtransL Length of left transition part
- * \param theLthinL Length of left thin part
- *
- * \param theRR Internal radius of right thickness reduction
- * \param theWR Width of right thickness reduction
- * \param theLtransR Length of right transition part
- * \param theLthinR Length of right thin part
- *
- * \param theRI Internal radius of incident thickness reduction
- * \param theWI Width of incident thickness reduction
- * \param theLtransI Length of incident transition part
- * \param theLthinI Length of incident thin part
- *
- * \param theHexMesh Boolean indicating if shape is prepared for hex mesh (default=true)
- * \param theP1 1st junction point of main pipe
- * \param theP2 2nd junction point of main pipe
- * \param theP3 Junction point of incident pipe
- * \return List of GEOM_Object, containing the created shape and propagation groups.
- */
- ListOfGO MakePipeTShapeTRWithPosition
- (in double theR1, in double theW1, in double theL1,
- in double theR2, in double theW2, in double theL2,
- in double theRL, in double theWL, in double theLtransL, in double theLthinL,
- in double theRR, in double theWR, in double theLtransR, in double theLthinR,
- in double theRI, in double theWI, in double theLtransI, in double theLthinI,
- in boolean theHexMesh,
- in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
- /*!
- * \brief Create a T-shape object with specified caracteristics for the main and
- * the incident pipes (radius, width, half-length). A chamfer is created
- * on the junction of the pipes.
- *
- * Center of the shape is (0,0,0). The main plane of the T-shape is XOY.
- * \param theR1 Internal radius of main pipe
- * \param theW1 Width of main pipe
- * \param theL1 Half-length of main pipe
- * \param theR2 Internal radius of incident pipe (R2 < R1)
- * \param theW2 Width of incident pipe (R2+W2 < R1+W1)
- * \param theL2 Half-length of incident pipe
- *
- * \param theRL Internal radius of left thickness reduction
- * \param theWL Width of left thickness reduction
- * \param theLtransL Length of left transition part
- * \param theLthinL Length of left thin part
- *
- * \param theRR Internal radius of right thickness reduction
- * \param theWR Width of right thickness reduction
- * \param theLtransR Length of right transition part
- * \param theLthinR Length of right thin part
- *
- * \param theRI Internal radius of incident thickness reduction
- * \param theWI Width of incident thickness reduction
- * \param theLtransI Length of incident transition part
- * \param theLthinI Length of incident thin part
- *
- * \param theH Height of the chamfer.
- * \param theW Width of the chamfer.
- * \param theHexMesh Boolean indicating if shape is prepared for hex mesh (default=true)
- * \return List of GEOM_Object, containing the created shape and propagation groups.
- */
- ListOfGO MakePipeTShapeTRChamfer
- (in double theR1, in double theW1, in double theL1,
- in double theR2, in double theW2, in double theL2,
- in double theRL, in double theWL, in double theLtransL, in double theLthinL,
- in double theRR, in double theWR, in double theLtransR, in double theLthinR,
- in double theRI, in double theWI, in double theLtransI, in double theLthinI,
- in double theH, in double theW, in boolean theHexMesh);
- /*!
- * \brief Create a T-shape object with specified caracteristics for the main and
- * the incident pipes (radius, width, half-length).
- *
- * A chamfer is created on the junction of the pipes.
- * The extremities of the main pipe are located on junctions points P1 and P2.
- * The extremity of the incident pipe is located on junction point P3.
- * \param theR1 Internal radius of main pipe
- * \param theW1 Width of main pipe
- * \param theL1 Half-length of main pipe
- * \param theR2 Internal radius of incident pipe (R2 < R1)
- * \param theW2 Width of incident pipe (R2+W2 < R1+W1)
- * \param theL2 Half-length of incident pipe
- *
- * \param theRL Internal radius of left thickness reduction
- * \param theWL Width of left thickness reduction
- * \param theLtransL Length of left transition part
- * \param theLthinL Length of left thin part
- *
- * \param theRR Internal radius of right thickness reduction
- * \param theWR Width of right thickness reduction
- * \param theLtransR Length of right transition part
- * \param theLthinR Length of right thin part
- *
- * \param theRI Internal radius of incident thickness reduction
- * \param theWI Width of incident thickness reduction
- * \param theLtransI Length of incident transition part
- * \param theLthinI Length of incident thin part
- *
- * \param theH Height of the chamfer.
- * \param theW Width of the chamfer.
- * \param theHexMesh Boolean indicating if shape is prepared for hex mesh (default=true)
- * \param theP1 1st junction point of main pipe
- * \param theP2 2nd junction point of main pipe
- * \param theP3 Junction point of incident pipe
- * \return List of GEOM_Object, containing the created shape and propagation groups.
- */
- ListOfGO MakePipeTShapeTRChamferWithPosition
- (in double theR1, in double theW1, in double theL1,
- in double theR2, in double theW2, in double theL2,
- in double theRL, in double theWL, in double theLtransL, in double theLthinL,
- in double theRR, in double theWR, in double theLtransR, in double theLthinR,
- in double theRI, in double theWI, in double theLtransI, in double theLthinI,
- in double theH, in double theW, in boolean theHexMesh,
- in GEOM_Object theP1, in GEOM_Object theP2, in GEOM_Object theP3);
- /*!
- * \brief Create a T-shape object with specified caracteristics for the main and
- * the incident pipes (radius, width, half-length).
- *
- * A fillet is created on the junction of the pipes.
- * Center of the shape is (0,0,0). The main plane of the T-shape is XOY.
- * \param theR1 Internal radius of main pipe
- * \param theW1 Width of main pipe
- * \param theL1 Half-length of main pipe
- * \param theR2 Internal radius of incident pipe (R2 < R1)
- * \param theW2 Width of incident pipe (R2+W2 < R1+W1)
- * \param theL2 Half-length of incident pipe
- *
- * \param theRL Internal radius of left thickness reduction
- * \param theWL Width of left thickness reduction
- * \param theLtransL Length of left transition part
- * \param theLthinL Length of left thin part
- *
- * \param theRR Internal radius of right thickness reduction
- * \param theWR Width of right thickness reduction
- * \param theLtransR Length of right transition part
- * \param theLthinR Length of right thin part
- *
- * \param theRI Internal radius of incident thickness reduction
- * \param theWI Width of incident thickness reduction
- * \param theLtransI Length of incident transition part
- * \param theLthinI Length of incident thin part
- *
- * \param theRF Radius of curvature of fillet.
- * \param theHexMesh Boolean indicating if shape is prepared for hex mesh (default=true)
- * \return List of GEOM_Object, containing the created shape and propagation groups.
- */
- ListOfGO MakePipeTShapeTRFillet
- (in double theR1, in double theW1, in double theL1,
- in double theR2, in double theW2, in double theL2,
- in double theRL, in double theWL, in double theLtransL, in double theLthinL,
- in double theRR, in double theWR, in double theLtransR, in double theLthinR,
- in double theRI, in double theWI, in double theLtransI, in double theLthinI,
- in double theRF, in boolean theHexMesh);
- /*!
- * \brief Create a T-shape object with specified caracteristics for the main and
- * the incident pipes (radius, width, half-length).
- *
- * A fillet is created on the junction of the pipes.
- * The extremities of the main pipe are located on junctions points P1 and P2.
- * The extremity of the incident pipe is located on junction point P3.
- * \param theR1 Internal radius of main pipe
- * \param theW1 Width of main pipe
- * \param theL1 Half-length of main pipe
- * \param theR2 Internal radius of incident pipe (R2 < R1)
- * \param theW2 Width of incident pipe (R2+W2 < R1+W1)
- * \param theL2 Half-length of incident pipe
- *
- * \param theRL Internal radius of left thickness reduction
- * \param theWL Width of left thickness reduction
- * \param theLtransL Length of left transition part
- * \param theLthinL Length of left thin part
- *
- * \param theRR Internal radius of right thickness reduction
- * \param theWR Width of right thickness reduction
- * \param theLtransR Length of right transition part
- * \param theLthinR Length of right thin part
- *
- * \param theRI Internal radius of incident thickness reduction
- * \param theWI Width of incident thickness reduction
- * \param theLtransI Length of incident transition part
- * \param theLthinI Length of incident thin part
- *
- * \param theRF Radius of curvature of fillet.
- * \param theHexMesh Boolean indicating if shape is prepared for hex mesh (default=true)
- * \param theP1 1st junction point of main pipe
- * \param theP2 2nd junction point of main pipe
- * \param theP3 Junction point of incident pipe
- * \return List of GEOM_Object, containing the created shape and propagation groups.
- */
- ListOfGO MakePipeTShapeTRFilletWithPosition
- (in double theR1, in double theW1, in double theL1,
- in double theR2, in double theW2, in double theL2,
- in double theRL, in double theWL, in double theLtransL, in double theLthinL,
- in double theRR, in double theWR, in double theLtransR, in double theLthinR,
- in double theRI, in double theWI, in double theLtransI, in double theLthinI,
- 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
- * \param thePattern Division pattern. It can be GEOM.SQUARE or GEOM.HEXAGON
- * \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
- * \param thePattern Division pattern. It can be GEOM.SQUARE or GEOM.HEXAGON
- * \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
- * \param thePattern Division pattern. It can be GEOM.SQUARE or GEOM.HEXAGON
- * \return New GEOM_Object, containing the created shape.
- */
- GEOM_Object MakeDividedCylinder (in double theR,
- in double theH,
- in pattern thePattern );
- /*!
- *
- * Create a smoothing surface from a set of points
- * \param thelPoints list of points. Compounds of points are accepted as well.
- * \param theNbMax maximum number of Bezier pieces in the resulting surface.
- * \param theDegMax maximum degree of the resulting BSpline surface
- * \param theDMax specifies maximum value of the GeomPlate_PlateG0Criterion criterion.
- * \return New GEOM_Object, containing the created shape.
- */
- GEOM_Object MakeSmoothingSurface (in ListOfGO thelPoints,
- in long theNbMax,
- in long theDegMax,
- in double theDMax);
-
- /*@@ insert new functions before this line @@ do not remove this line @@*/
- };
-
- // # GEOM_IFieldOperations:
+ // # GEOM_IFieldOperations:
/*!
* \brief Interface for field operation.
*/
in long row );
/*!
- * \brief Get dependencies of the given object from other objects in study
- * \param list of IORs
- * \return texture byte array
- * Example of using:
- * SALOMEDS::TMPFile_var SeqFile =
- * myGeometryGUI->GetGeomGen()->GetDependencyTree( aListOfIORs );
- * char* buf;
- * buf = (char*) &SeqFile[0];
- */
- SALOMEDS::TMPFile GetDependencyTree(in string_array strValues);
+ * \brief Collects dependencies of the given objects from other ones
+ * \param theStudy The study in which the object is published
+ * \param theListOfEntries List of GEOM object entries in OCAF tree (not in study)
+ * \return Struct of dependent entries and its links as a byte array
+ * \note This method is supposed to be used by GUI only.
+ */
+ SALOMEDS::TMPFile GetDependencyTree(in SALOMEDS::Study theStudy,
+ in string_array theListOfEntries);
+
+ /*!
+ * \brief Fills 3 lists that is used to reduce study of redundant objects:
+ * - dependencies of the given objects from other ones;
+ * - children of the given objects;
+ * - all other objects in study.
+ * \param theStudy The study in which the object was published
+ * \param theSelectedEntries List of GEOM object entries in OCAF tree
+ * \param theParentEntries List of GEOM object entries on which the given objects depend
+ * \param theSubEntries Children entries list of the given objects
+ * \param theOtherEntries List of GEOM object entries which are in the study, but not in parents and children lists
+ * \note This method is supposed to be used by GUI only.
+ */
+ void GetEntriesToReduceStudy(in SALOMEDS::Study theStudy,
+ inout string_array theSelectedEntries,
+ inout string_array theParentEntries,
+ inout string_array theSubEntries,
+ inout string_array theOtherEntries);
};
};