-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2021 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
CC_LE ///< Less then or equal to
};
- /*!
+ /*!
* \brief Object creation parameters
*
* Is returned by GEOM_Object::GetCreationInformation()
typedef sequence<long> ListOfLong;
typedef sequence<double> ListOfDouble;
typedef sequence<ListOfDouble> ListOfListOfDouble;
+ typedef sequence<ListOfLong> ListOfListOfLong;
+ interface GEOM_Gen;
interface GEOM_Object;
interface GEOM_BaseObject;
interface GEOM_Field;
* \brief Return name of operation and values of parameters used for object creation
*/
CreationInformationSeq GetCreationInformation();
+
+ /*!
+ * \brief Return the engine creating this object
+ */
+ GEOM_Gen GetGen();
};
//# GEOM_Object
*
* This function is useful for the compounds only; for simple shapes it
* exactly the same value as GetShapeType().
- * Note, that compounds are procesed recursively.
+ * Note, that compounds are processed recursively.
*
* \sa GetShapeType(), GetTopologyType(), GetMaxShapeType()
*/
*
* This function is useful for the compounds only; for simple shapes it
* exactly the same value as GetShapeType().
- * Note, that compounds are procesed recursively.
+ * Note, that compounds are processed recursively.
*
* \sa GetShapeType(), GetTopologyType(), GetMinShapeType()
*/
*/
GEOM_Object GetMainShape();
+ /*
+ * \brief Returns true if the current object has connection to a parametrical model
+ * which can be modified by parameters change.
+ */
+ boolean IsParametrical();
+
};
//# GEOM_Field
GEOM_Object MakeVectorTwoPnt (in GEOM_Object thePnt1, in GEOM_Object thePnt2);
/*!
- * C\brief reate a line, passing through the given point
+ * \brief Create a line, passing through the given point
* 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.
* \brief Create a plane, passing through the three given points
* \param thePnt1 First of three points, defining the plane.
* \param thePnt2 Second of three points, defining the plane.
- * \param thePnt3 Fird of three points, defining the plane.
+ * \param thePnt3 Third of three points, defining the plane.
* \param theTrimSize Half size of a side of quadrangle face, representing the plane.
* \return New GEOM_Object, containing the created plane.
*/
/*!
- * \brief Add / Remove material to / from a solid by extrusion of the base shape on the given distance.
+ * \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.
*
* The path shape can be a wire or an edge.
* the several profiles can be specified in the several locations of path.
- * \param theSeqBases - list of Bases shape to be extruded.
+ * \param theSeqBases - list of Bases shape to be extruded.
* \param theLocations - list of locations on the path corresponding
* specified list of the Bases shapes. Number of locations
* should be equal to number of bases or list of locations can be empty.
*
* The path shape can be a shell or a face.
* the several profiles can be specified in the several locations of path.
- * \param theSeqBases - list of Bases shape to be extruded.
+ * \param theSeqBases - list of Bases shape to be extruded.
* \param theSeqSubBases - list of corresponding sub-shapes of section shapes.
* \param theLocations - list of locations on the path corresponding
* specified list of the Bases shapes. Number of locations
* \param theBase Base shape to be extruded.
* \param thePath Path shape to extrude the base shape along it.
* \param theVec Vector defines a constant binormal direction to keep the
- * same angle beetween the Direction and the sections
+ * same angle between the Direction and the sections
* along the sweep surface.
* \param IsGenerateGroups flag that tells if it is necessary to
* return groups (true) or not (false).
* \param theShape Shape to find sub-shapes of.
* \param theShapeType Type of sub-shapes to be retrieved.
* \param theTopLeftPoint Top left quadrangle corner
- * \param theTopRigthPoint Top right quadrangle corner
+ * \param theTopRightPoint Top right quadrangle corner
* \param theBottomLeftPoint Bottom left quadrangle corner
- * \param theBottomRigthPoint Bottom right quadrangle corner
+ * \param theBottomRightPoint Bottom right quadrangle corner
* \param theState The state of the sub-shapes to find.
* \return List of all found sub-shapes.
*/
ListOfGO GetShapesOnQuadrangle (in GEOM_Object theShape,
in long theShapeType,
in GEOM_Object theTopLeftPoint,
- in GEOM_Object theTopRigthPoint,
+ in GEOM_Object theTopRightPoint,
in GEOM_Object theBottomLeftPoint,
- in GEOM_Object theBottomRigthPoint,
+ in GEOM_Object theBottomRightPoint,
in shape_state theState);
/*!
* \param theShape Shape to find sub-shapes of.
* \param theShapeType Type of sub-shapes to be retrieved.
* \param theTopLeftPoint Top left quadrangle corner
- * \param theTopRigthPoint Top right quadrangle corner
+ * \param theTopRightPoint Top right quadrangle corner
* \param theBottomLeftPoint Bottom left quadrangle corner
- * \param theBottomRigthPoint Bottom right quadrangle corner
+ * \param theBottomRightPoint Bottom right quadrangle corner
* \param theState The state of the sub-shapes to find.
* \return List of IDs of all found sub-shapes.
*/
ListOfLong GetShapesOnQuadrangleIDs (in GEOM_Object theShape,
in long theShapeType,
in GEOM_Object theTopLeftPoint,
- in GEOM_Object theTopRigthPoint,
+ in GEOM_Object theTopRightPoint,
in GEOM_Object theBottomLeftPoint,
- in GEOM_Object theBottomRigthPoint,
+ in GEOM_Object theBottomRightPoint,
in shape_state theState);
/*!
GEOM_Object GetInPlaceByHistory (in GEOM_Object theShapeWhere,
in GEOM_Object theShapeWhat);
+ /*!
+ * \brief A sort of GetInPlace functionality, returning for each sub-shape ID of
+ * \a theShapeWhat a list of corresponding sub-shape IDs of \a theShapeWhere.
+ * For example, if theShapeWhat is a box and theShapeWhere is this box cut into
+ * two parts by a plane, then the result can be as this:
+ * len( result_list ) = 35,
+ * result_list[ 1 ] = [ 2, 36 ], which means that the box turned into two solids
+ * with IDs 2 and 36 within theShapeWhere
+ */
+ ListOfListOfLong GetInPlaceMap (in GEOM_Object theShapeWhere,
+ in GEOM_Object theShapeWhat);
+
/*!
* \brief Get sub-shape of theShapeWhere, which are
* coincident with \a theShapeWhat that can either SOLID, FACE, EDGE or VERTEX.
/*!
* \brief Create a quadrangle face from four edges. Order of Edges is not
- * important. It is not necessary that edges share the same vertex.
+ * important. It is not necessary that edges share the same vertex.
* \param theEdge1,theEdge2,theEdge3,theEdge4 Edges for the face bound.
* \return New GEOM_Object, containing the created face.
*/
* \brief Create a hexahedral solid, bounded by the six given faces. Order of
* faces is not important.
*
- * It is not necessary that Faces share the same edge.
+ * It is not necessary that Faces share the same edge.
* \param theFace1,theFace2,theFace3,theFace4,theFace5,theFace6 Faces for the hexahedral solid.
* \return New GEOM_Object, containing the created solid.
*/
SALOMEDS::TMPFile GetTexture(in long theID, out long theWidth, out long theHeight);
/*!
- * \brief Get list of all avaiable texture IDs
- * \return list of all texture IDs avaiable for the current study
+ * \brief Get list of all available texture IDs
+ * \return list of all texture IDs available for the current study
*/
ListOfLong GetAllTextures();
GEOM_Object GetCentreOfMass (in GEOM_Object theShape);
/*
- * Get the vertex by index for 1D objects depends the edge/wire orientation
+ * Get the vertex by index for 1D objects
* \param theShape Shape (wire or edge) to find the vertex on it
* \param theIndex Index of vertex sub-shape
+ * \param theUseOri To consider edge/wire orientation or not
* \return New GEOM_Object, vertex.
*/
- GEOM_Object GetVertexByIndex( in GEOM_Object theShape, in long index );
+ GEOM_Object GetVertexByIndex( in GEOM_Object theShape, in long theIndex, in boolean theUseOri );
/*!
* \brief Get a vector, representing the normal of theFace.
/*!
* \brief Detect self-intersections of the given shape with algorithm based on mesh intersections.
* \param theShape Shape to check validity of.
- * \param theDeflection Linear deflection coefficient that specifies quality of tesselation.
+ * \param theDeflection Linear deflection coefficient that specifies quality of tessellation.
* \param theTolerance Specifies a distance between sub-shapes used for detecting gaps:
* - if \a theTolerance <= 0, algorithm detects intersections
* - if \a theTolerance > 0, algorithm detects gaps
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
+ * \brief Check boolean and partition operations arguments.
+ * \param theShape the argument of an operation to be checked.
+ * \return TRUE if the argument is valid for a boolean or partition
* operation; FALSE otherwise.
*/
boolean CheckBOPArguments (in GEOM_Object theShape);
* \param theTolerance Specifies a distance between shapes used for detecting gaps:
* - if \a theTolerance <= 0, algorithm detects intersections
* - if \a theTolerance > 0, algorithm detects gaps
- * \param theDeflection Linear deflection coefficient that specifies quality of tesselation:
+ * \param theDeflection Linear deflection coefficient that specifies quality of tessellation:
* - if \a theDeflection <= 0, default deflection 0.001 is used
* \param theIntersections1 Output: contains list of sub-shapes IDs from 1st shape that localize intersection
* \param theIntersections2 Output: contains list of sub-shapes IDs from 2nd shape that localize intersection
interface GEOM_IGroupOperations : GEOM_IOperations
{
/*!
- * \brief Creates a new group which will store sub-shapes of theMainShape
+ * \brief Creates a new group which will store sub-shapes of theMainShape
* \param theMainShape is a GEOM_Object on which the group is selected
* \param theShapeType defines a shape type of the group
* \return a newly created GEOM group
void RemoveObject (in GEOM_Object theGroup, in long theSubShapeId);
/*!
- * \brief Adds to the group all the given shapes. No errors, if some shapes are alredy included.
+ * \brief Adds to the group all the given shapes. No errors, if some shapes are already included.
* \param theGroup is a GEOM group to which the new sub-shapes are added.
* \param theSubShapes is a list of sub-shapes to be added.
*/
void DifferenceList (in GEOM_Object theGroup, in ListOfGO theSubShapes);
/*!
- * \brief Adds to the group all the given shapes. No errors, if some shapes are alredy included.
+ * \brief Adds to the group all the given shapes. No errors, if some shapes are already included.
* \param theGroup is a GEOM group to which the new sub-shapes are added.
* \param theSubShapes is a list of IDs of sub-shapes to be added.
*/
/*!
* \brief Returns a GEOM_Object defined by its IOR
- * \param theIOR a string containg an IOR of the requested GEOM_Object
+ * \param theIOR a string containing an IOR of the requested GEOM_Object
*/
GEOM_Object GetIORFromString (in string theIOR);
inout string_array theSubEntries,
inout string_array theOtherEntries);
+
+ /*
+ * \brief Breaks links to parametrical mode for parametrical shape
+ */
+ void BreakLink(in string theEntry);
};
};