Mantis issue 0021108: EDF 1668 SMESH: ExtrusionAlongPathX on a Mesh group.

This commit is contained in:
jfa 2010-12-29 10:27:23 +00:00
parent 0b0fc19f70
commit 301af5256a
6 changed files with 507 additions and 499 deletions

View File

@ -19,9 +19,8 @@
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
// //
// File : SMESH_MeshEditor.idl // File : SMESH_MeshEditor.idl
//
#ifndef _SMESH_MESHEDITOR_IDL_ #ifndef _SMESH_MESHEDITOR_IDL_
#define _SMESH_MESHEDITOR_IDL_ #define _SMESH_MESHEDITOR_IDL_
@ -30,7 +29,7 @@
module SMESH module SMESH
{ {
enum Bnd_Dimension { BND_2DFROM3D, BND_1DFROM3D, BND_1DFROM2D }; enum Bnd_Dimension { BND_2DFROM3D, BND_1DFROM3D, BND_1DFROM2D };
/*! /*!
* This interface makes modifications on the Mesh - removing elements and nodes etc. * This interface makes modifications on the Mesh - removing elements and nodes etc.
*/ */
@ -57,7 +56,7 @@ module SMESH
* \return \c true if nodes are correctly removed or \c false otherwise * \return \c true if nodes are correctly removed or \c false otherwise
*/ */
boolean RemoveNodes(in long_array IDsOfNodes); boolean RemoveNodes(in long_array IDsOfNodes);
/*! /*!
* \brief Remove all orphan nodes. * \brief Remove all orphan nodes.
* \return number of removed nodes * \return number of removed nodes
@ -187,8 +186,8 @@ module SMESH
* \return TRUE in case of success, FALSE otherwise. * \return TRUE in case of success, FALSE otherwise.
*/ */
boolean TriToQuad (in long_array IDsOfElements, boolean TriToQuad (in long_array IDsOfElements,
in NumericalFunctor Criterion, in NumericalFunctor Criterion,
in double MaxAngle); in double MaxAngle);
/*! /*!
* \brief Fuse neighbour triangles into quadrangles. * \brief Fuse neighbour triangles into quadrangles.
@ -196,8 +195,8 @@ module SMESH
* Behaves like the above method, taking list of elements from \a theObject * Behaves like the above method, taking list of elements from \a theObject
*/ */
boolean TriToQuadObject (in SMESH_IDSource theObject, boolean TriToQuadObject (in SMESH_IDSource theObject,
in NumericalFunctor Criterion, in NumericalFunctor Criterion,
in double MaxAngle); in double MaxAngle);
/*! /*!
* \brief Split quadrangles into triangles. * \brief Split quadrangles into triangles.
@ -206,7 +205,7 @@ module SMESH
* \return TRUE in case of success, FALSE otherwise. * \return TRUE in case of success, FALSE otherwise.
*/ */
boolean QuadToTri (in long_array IDsOfElements, boolean QuadToTri (in long_array IDsOfElements,
in NumericalFunctor Criterion); in NumericalFunctor Criterion);
/*! /*!
* \brief Split quadrangles into triangles. * \brief Split quadrangles into triangles.
@ -214,7 +213,7 @@ module SMESH
* Behaves like the above method, taking list of elements from \a theObject * Behaves like the above method, taking list of elements from \a theObject
*/ */
boolean QuadToTriObject (in SMESH_IDSource theObject, boolean QuadToTriObject (in SMESH_IDSource theObject,
in NumericalFunctor Criterion); in NumericalFunctor Criterion);
/*! /*!
* \brief Split quadrangles into triangles. * \brief Split quadrangles into triangles.
@ -223,7 +222,7 @@ module SMESH
* \return TRUE in case of success, FALSE otherwise. * \return TRUE in case of success, FALSE otherwise.
*/ */
boolean SplitQuad (in long_array IDsOfElements, boolean SplitQuad (in long_array IDsOfElements,
in boolean Diag13); in boolean Diag13);
/*! /*!
* \brief Split quadrangles into triangles. * \brief Split quadrangles into triangles.
@ -231,7 +230,7 @@ module SMESH
* Behaves like the above method, taking list of elements from \a theObject * Behaves like the above method, taking list of elements from \a theObject
*/ */
boolean SplitQuadObject (in SMESH_IDSource theObject, boolean SplitQuadObject (in SMESH_IDSource theObject,
in boolean Diag13); in boolean Diag13);
/*! /*!
* Find better splitting of the given quadrangle. * Find better splitting of the given quadrangle.
@ -241,7 +240,7 @@ module SMESH
* diagonal is better, 0 if error occurs. * diagonal is better, 0 if error occurs.
*/ */
long BestSplit (in long IDOfQuad, long BestSplit (in long IDOfQuad,
in NumericalFunctor Criterion); in NumericalFunctor Criterion);
/*! /*!
* \brief Split volumic elements into tetrahedrons * \brief Split volumic elements into tetrahedrons
@ -264,10 +263,10 @@ module SMESH
in Smooth_Method Method); in Smooth_Method Method);
boolean SmoothObject(in SMESH_IDSource theObject, boolean SmoothObject(in SMESH_IDSource theObject,
in long_array IDsOfFixedNodes, in long_array IDsOfFixedNodes,
in long MaxNbOfIterations, in long MaxNbOfIterations,
in double MaxAspectRatio, in double MaxAspectRatio,
in Smooth_Method Method); in Smooth_Method Method);
boolean SmoothParametric(in long_array IDsOfElements, boolean SmoothParametric(in long_array IDsOfElements,
in long_array IDsOfFixedNodes, in long_array IDsOfFixedNodes,
@ -318,10 +317,10 @@ module SMESH
* \param NbOfSteps - number of elements to generate from one element * \param NbOfSteps - number of elements to generate from one element
*/ */
void RotationSweepObject(in SMESH_IDSource theObject, void RotationSweepObject(in SMESH_IDSource theObject,
in AxisStruct Axix, in AxisStruct Axix,
in double AngleInRadians, in double AngleInRadians,
in long NbOfSteps, in long NbOfSteps,
in double Tolerance); in double Tolerance);
/*! /*!
* \brief Same as previous but additionally create groups of elements * \brief Same as previous but additionally create groups of elements
* generated from elements belonging to preexisting groups * generated from elements belonging to preexisting groups
@ -339,19 +338,19 @@ module SMESH
* \param NbOfSteps - number of elements to generate from one element * \param NbOfSteps - number of elements to generate from one element
*/ */
void RotationSweepObject1D(in SMESH_IDSource theObject, void RotationSweepObject1D(in SMESH_IDSource theObject,
in AxisStruct Axix, in AxisStruct Axix,
in double AngleInRadians, in double AngleInRadians,
in long NbOfSteps, in long NbOfSteps,
in double Tolerance); in double Tolerance);
/*! /*!
* \brief Same as previous but additionally create groups of elements * \brief Same as previous but additionally create groups of elements
* generated from elements belonging to preexisting groups * generated from elements belonging to preexisting groups
*/ */
ListOfGroups RotationSweepObject1DMakeGroups(in SMESH_IDSource theObject, ListOfGroups RotationSweepObject1DMakeGroups(in SMESH_IDSource theObject,
in AxisStruct Axix, in AxisStruct Axix,
in double AngleInRadians, in double AngleInRadians,
in long NbOfSteps, in long NbOfSteps,
in double Tolerance); in double Tolerance);
/*! /*!
* \brief Genarate dim+1 elements by rotation of the object around axis * \brief Genarate dim+1 elements by rotation of the object around axis
* \param theObject - object containing elements to ratate * \param theObject - object containing elements to ratate
@ -360,19 +359,19 @@ module SMESH
* \param NbOfSteps - number of elements to generate from one element * \param NbOfSteps - number of elements to generate from one element
*/ */
void RotationSweepObject2D(in SMESH_IDSource theObject, void RotationSweepObject2D(in SMESH_IDSource theObject,
in AxisStruct Axix, in AxisStruct Axix,
in double AngleInRadians, in double AngleInRadians,
in long NbOfSteps, in long NbOfSteps,
in double Tolerance); in double Tolerance);
/*! /*!
* \brief Same as previous but additionally create groups of elements * \brief Same as previous but additionally create groups of elements
* generated from elements belonging to preexisting groups * generated from elements belonging to preexisting groups
*/ */
ListOfGroups RotationSweepObject2DMakeGroups(in SMESH_IDSource theObject, ListOfGroups RotationSweepObject2DMakeGroups(in SMESH_IDSource theObject,
in AxisStruct Axix, in AxisStruct Axix,
in double AngleInRadians, in double AngleInRadians,
in long NbOfSteps, in long NbOfSteps,
in double Tolerance); in double Tolerance);
/*! /*!
* \brief Genarate dim+1 elements by extrusion of elements along vector * \brief Genarate dim+1 elements by extrusion of elements along vector
* \param IDsOfElements - elements to sweep * \param IDsOfElements - elements to sweep
@ -390,7 +389,7 @@ module SMESH
in DirStruct StepVector, in DirStruct StepVector,
in long NbOfSteps); in long NbOfSteps);
/*! /*!
* Generate new elements by extrusion of theElements * Generate new elements by extrusion of theElements
* by StepVector by NbOfSteps * by StepVector by NbOfSteps
* param ExtrFlags set flags for performing extrusion * param ExtrFlags set flags for performing extrusion
* param SewTolerance - uses for comparing locations of nodes if flag * param SewTolerance - uses for comparing locations of nodes if flag
@ -399,8 +398,8 @@ module SMESH
void AdvancedExtrusion(in long_array IDsOfElements, void AdvancedExtrusion(in long_array IDsOfElements,
in DirStruct StepVector, in DirStruct StepVector,
in long NbOfSteps, in long NbOfSteps,
in long ExtrFlags, in long ExtrFlags,
in double SewTolerance); in double SewTolerance);
/*! /*!
* \brief Same as previous but additionally create groups of elements * \brief Same as previous but additionally create groups of elements
* generated from elements belonging to preexisting groups * generated from elements belonging to preexisting groups
@ -412,22 +411,22 @@ module SMESH
in double SewTolerance); in double SewTolerance);
void ExtrusionSweepObject(in SMESH_IDSource theObject, void ExtrusionSweepObject(in SMESH_IDSource theObject,
in DirStruct StepVector, in DirStruct StepVector,
in long NbOfSteps); in long NbOfSteps);
ListOfGroups ExtrusionSweepObjectMakeGroups(in SMESH_IDSource theObject, ListOfGroups ExtrusionSweepObjectMakeGroups(in SMESH_IDSource theObject,
in DirStruct StepVector, in DirStruct StepVector,
in long NbOfSteps); in long NbOfSteps);
void ExtrusionSweepObject1D(in SMESH_IDSource theObject, void ExtrusionSweepObject1D(in SMESH_IDSource theObject,
in DirStruct StepVector, in DirStruct StepVector,
in long NbOfSteps); in long NbOfSteps);
ListOfGroups ExtrusionSweepObject1DMakeGroups(in SMESH_IDSource theObject, ListOfGroups ExtrusionSweepObject1DMakeGroups(in SMESH_IDSource theObject,
in DirStruct StepVector, in DirStruct StepVector,
in long NbOfSteps); in long NbOfSteps);
void ExtrusionSweepObject2D(in SMESH_IDSource theObject, void ExtrusionSweepObject2D(in SMESH_IDSource theObject,
in DirStruct StepVector, in DirStruct StepVector,
in long NbOfSteps); in long NbOfSteps);
ListOfGroups ExtrusionSweepObject2DMakeGroups(in SMESH_IDSource theObject, ListOfGroups ExtrusionSweepObject2DMakeGroups(in SMESH_IDSource theObject,
in DirStruct StepVector, in DirStruct StepVector,
in long NbOfSteps); in long NbOfSteps);
@ -443,37 +442,37 @@ module SMESH
}; };
ListOfGroups ExtrusionAlongPathX(in long_array IDsOfElements, ListOfGroups ExtrusionAlongPathX(in long_array IDsOfElements,
in SMESH_IDSource Path, in SMESH_IDSource Path,
in long NodeStart, in long NodeStart,
in boolean HasAngles, in boolean HasAngles,
in double_array Angles, in double_array Angles,
in boolean LinearVariation, in boolean LinearVariation,
in boolean HasRefPoint, in boolean HasRefPoint,
in PointStruct RefPoint, in PointStruct RefPoint,
in boolean MakeGroups, in boolean MakeGroups,
in ElementType ElemType, in ElementType ElemType,
out Extrusion_Error Error); out Extrusion_Error Error);
ListOfGroups ExtrusionAlongPathObjX(in SMESH_IDSource theObject, ListOfGroups ExtrusionAlongPathObjX(in SMESH_IDSource theObject,
in SMESH_IDSource Path, in SMESH_IDSource Path,
in long NodeStart, in long NodeStart,
in boolean HasAngles, in boolean HasAngles,
in double_array Angles, in double_array Angles,
in boolean LinearVariation, in boolean LinearVariation,
in boolean HasRefPoint, in boolean HasRefPoint,
in PointStruct RefPoint, in PointStruct RefPoint,
in boolean MakeGroups, in boolean MakeGroups,
in ElementType ElemType, in ElementType ElemType,
out Extrusion_Error Error); out Extrusion_Error Error);
Extrusion_Error ExtrusionAlongPath(in long_array IDsOfElements, Extrusion_Error ExtrusionAlongPath(in long_array IDsOfElements,
in SMESH_Mesh PathMesh, in SMESH_Mesh PathMesh,
in GEOM::GEOM_Object PathShape, in GEOM::GEOM_Object PathShape,
in long NodeStart, in long NodeStart,
in boolean HasAngles, in boolean HasAngles,
in double_array Angles, in double_array Angles,
in boolean HasRefPoint, in boolean HasRefPoint,
in PointStruct RefPoint); in PointStruct RefPoint);
ListOfGroups ExtrusionAlongPathMakeGroups(in long_array IDsOfElements, ListOfGroups ExtrusionAlongPathMakeGroups(in long_array IDsOfElements,
in SMESH_Mesh PathMesh, in SMESH_Mesh PathMesh,
in GEOM::GEOM_Object PathShape, in GEOM::GEOM_Object PathShape,
@ -485,13 +484,13 @@ module SMESH
out Extrusion_Error Error); out Extrusion_Error Error);
Extrusion_Error ExtrusionAlongPathObject(in SMESH_IDSource theObject, Extrusion_Error ExtrusionAlongPathObject(in SMESH_IDSource theObject,
in SMESH_Mesh PathMesh, in SMESH_Mesh PathMesh,
in GEOM::GEOM_Object PathShape, in GEOM::GEOM_Object PathShape,
in long NodeStart, in long NodeStart,
in boolean HasAngles, in boolean HasAngles,
in double_array Angles, in double_array Angles,
in boolean HasRefPoint, in boolean HasRefPoint,
in PointStruct RefPoint); in PointStruct RefPoint);
ListOfGroups ExtrusionAlongPathObjectMakeGroups(in SMESH_IDSource theObject, ListOfGroups ExtrusionAlongPathObjectMakeGroups(in SMESH_IDSource theObject,
in SMESH_Mesh PathMesh, in SMESH_Mesh PathMesh,
in GEOM::GEOM_Object PathShape, in GEOM::GEOM_Object PathShape,
@ -503,47 +502,47 @@ module SMESH
out Extrusion_Error Error); out Extrusion_Error Error);
Extrusion_Error ExtrusionAlongPathObject1D(in SMESH_IDSource theObject, Extrusion_Error ExtrusionAlongPathObject1D(in SMESH_IDSource theObject,
in SMESH_Mesh PathMesh, in SMESH_Mesh PathMesh,
in GEOM::GEOM_Object PathShape, in GEOM::GEOM_Object PathShape,
in long NodeStart, in long NodeStart,
in boolean HasAngles, in boolean HasAngles,
in double_array Angles, in double_array Angles,
in boolean HasRefPoint, in boolean HasRefPoint,
in PointStruct RefPoint); in PointStruct RefPoint);
ListOfGroups ExtrusionAlongPathObject1DMakeGroups(in SMESH_IDSource theObject, ListOfGroups ExtrusionAlongPathObject1DMakeGroups(in SMESH_IDSource theObject,
in SMESH_Mesh PathMesh, in SMESH_Mesh PathMesh,
in GEOM::GEOM_Object PathShape, in GEOM::GEOM_Object PathShape,
in long NodeStart, in long NodeStart,
in boolean HasAngles, in boolean HasAngles,
in double_array Angles, in double_array Angles,
in boolean HasRefPoint, in boolean HasRefPoint,
in PointStruct RefPoint, in PointStruct RefPoint,
out Extrusion_Error Error); out Extrusion_Error Error);
Extrusion_Error ExtrusionAlongPathObject2D(in SMESH_IDSource theObject, Extrusion_Error ExtrusionAlongPathObject2D(in SMESH_IDSource theObject,
in SMESH_Mesh PathMesh, in SMESH_Mesh PathMesh,
in GEOM::GEOM_Object PathShape, in GEOM::GEOM_Object PathShape,
in long NodeStart, in long NodeStart,
in boolean HasAngles, in boolean HasAngles,
in double_array Angles, in double_array Angles,
in boolean HasRefPoint, in boolean HasRefPoint,
in PointStruct RefPoint); in PointStruct RefPoint);
ListOfGroups ExtrusionAlongPathObject2DMakeGroups(in SMESH_IDSource theObject, ListOfGroups ExtrusionAlongPathObject2DMakeGroups(in SMESH_IDSource theObject,
in SMESH_Mesh PathMesh, in SMESH_Mesh PathMesh,
in GEOM::GEOM_Object PathShape, in GEOM::GEOM_Object PathShape,
in long NodeStart, in long NodeStart,
in boolean HasAngles, in boolean HasAngles,
in double_array Angles, in double_array Angles,
in boolean HasRefPoint, in boolean HasRefPoint,
in PointStruct RefPoint, in PointStruct RefPoint,
out Extrusion_Error Error); out Extrusion_Error Error);
/*! /*!
* Compute rotation angles for ExtrusionAlongPath as linear variation * Compute rotation angles for ExtrusionAlongPath as linear variation
* of given angles along path steps * of given angles along path steps
* param PathMesh mesh containing a 1D sub-mesh on the edge, along * param PathMesh mesh containing a 1D sub-mesh on the edge, along
* which proceeds the extrusion * which proceeds the extrusion
* param PathShape is shape(edge); as the mesh can be complex, the edge * param PathShape is shape(edge); as the mesh can be complex, the edge
* is used to define the sub-mesh for the path * is used to define the sub-mesh for the path
*/ */
double_array LinearAnglesVariation(in SMESH_Mesh PathMesh, double_array LinearAnglesVariation(in SMESH_Mesh PathMesh,
@ -566,9 +565,9 @@ module SMESH
in string MeshName); in string MeshName);
void MirrorObject (in SMESH_IDSource theObject, void MirrorObject (in SMESH_IDSource theObject,
in AxisStruct Mirror, in AxisStruct Mirror,
in MirrorType Type, in MirrorType Type,
in boolean Copy); in boolean Copy);
ListOfGroups MirrorObjectMakeGroups (in SMESH_IDSource theObject, ListOfGroups MirrorObjectMakeGroups (in SMESH_IDSource theObject,
in AxisStruct Mirror, in AxisStruct Mirror,
in MirrorType Type); in MirrorType Type);
@ -589,8 +588,8 @@ module SMESH
in string MeshName); in string MeshName);
void TranslateObject (in SMESH_IDSource theObject, void TranslateObject (in SMESH_IDSource theObject,
in DirStruct Vector, in DirStruct Vector,
in boolean Copy); in boolean Copy);
ListOfGroups TranslateObjectMakeGroups (in SMESH_IDSource theObject, ListOfGroups TranslateObjectMakeGroups (in SMESH_IDSource theObject,
in DirStruct Vector); in DirStruct Vector);
SMESH_Mesh TranslateObjectMakeMesh (in SMESH_IDSource theObject, SMESH_Mesh TranslateObjectMakeMesh (in SMESH_IDSource theObject,
@ -625,9 +624,9 @@ module SMESH
in string MeshName); in string MeshName);
void RotateObject (in SMESH_IDSource theObject, void RotateObject (in SMESH_IDSource theObject,
in AxisStruct Axis, in AxisStruct Axis,
in double AngleInRadians, in double AngleInRadians,
in boolean Copy); in boolean Copy);
ListOfGroups RotateObjectMakeGroups (in SMESH_IDSource theObject, ListOfGroups RotateObjectMakeGroups (in SMESH_IDSource theObject,
in AxisStruct Axis, in AxisStruct Axis,
in double AngleInRadians); in double AngleInRadians);
@ -641,8 +640,8 @@ module SMESH
out array_of_long_array GroupsOfNodes); out array_of_long_array GroupsOfNodes);
void FindCoincidentNodesOnPart (in SMESH_IDSource SubMeshOrGroup, void FindCoincidentNodesOnPart (in SMESH_IDSource SubMeshOrGroup,
in double Tolerance, in double Tolerance,
out array_of_long_array GroupsOfNodes); out array_of_long_array GroupsOfNodes);
void FindCoincidentNodesOnPartBut (in SMESH_IDSource SubMeshOrGroup, void FindCoincidentNodesOnPartBut (in SMESH_IDSource SubMeshOrGroup,
in double Tolerance, in double Tolerance,
@ -657,7 +656,7 @@ module SMESH
* \return List of groups of equal elements. * \return List of groups of equal elements.
*/ */
void FindEqualElements (in SMESH_IDSource MeshOrSubMeshOrGroup, void FindEqualElements (in SMESH_IDSource MeshOrSubMeshOrGroup,
out array_of_long_array GroupsOfElementsID); out array_of_long_array GroupsOfElementsID);
/*! /*!
* \brief Merge elements in each given group. * \brief Merge elements in each given group.
@ -669,7 +668,7 @@ module SMESH
* \brief Merge equal elements in the whole mesh. * \brief Merge equal elements in the whole mesh.
*/ */
void MergeEqualElements(); void MergeEqualElements();
/*! /*!
* If the given ID is a valid node ID (nodeID > 0), just move this node, else * If the given ID is a valid node ID (nodeID > 0), just move this node, else
* move the node closest to the point to point's location and return ID of the node * move the node closest to the point to point's location and return ID of the node
@ -714,8 +713,8 @@ module SMESH
in long FirstNodeID2, in long FirstNodeID2,
in long SecondNodeID2, in long SecondNodeID2,
in long LastNodeID2, in long LastNodeID2,
in boolean CreatePolygons, in boolean CreatePolygons,
in boolean CreatePolyedrs); in boolean CreatePolyedrs);
Sew_Error SewConformFreeBorders (in long FirstNodeID1, Sew_Error SewConformFreeBorders (in long FirstNodeID1,
in long SecondNodeID1, in long SecondNodeID1,
@ -728,8 +727,8 @@ module SMESH
in long LastNodeIDOnFreeBorder, in long LastNodeIDOnFreeBorder,
in long FirstNodeIDOnSide, in long FirstNodeIDOnSide,
in long LastNodeIDOnSide, in long LastNodeIDOnSide,
in boolean CreatePolygons, in boolean CreatePolygons,
in boolean CreatePolyedrs); in boolean CreatePolyedrs);
Sew_Error SewSideElements (in long_array IDsOfSide1Elements, Sew_Error SewSideElements (in long_array IDsOfSide1Elements,
in long_array IDsOfSide2Elements, in long_array IDsOfSide2Elements,
@ -746,7 +745,7 @@ module SMESH
boolean ChangeElemNodes(in long ide, in long_array newIDs); boolean ChangeElemNodes(in long ide, in long_array newIDs);
/*! /*!
* Return data of mesh edition preview which is computed provided * Return data of mesh edition preview which is computed provided
* that the editor was obtained trough SMESH_Mesh::GetMeshEditPreviewer() * that the editor was obtained trough SMESH_Mesh::GetMeshEditPreviewer()
*/ */
MeshPreviewStruct GetPreviewData(); MeshPreviewStruct GetPreviewData();
@ -768,13 +767,13 @@ module SMESH
/*! /*!
* \brief Creates a hole in a mesh by doubling the nodes of some particular elements * \brief Creates a hole in a mesh by doubling the nodes of some particular elements
* \param theNodes - identifiers of nodes to be doubled * \param theNodes - identifiers of nodes to be doubled
* \param theModifiedElems - identifiers of elements to be updated by the new (doubled) * \param theModifiedElems - identifiers of elements to be updated by the new (doubled)
* nodes. If list of element identifiers is empty then nodes are doubled but * nodes. If list of element identifiers is empty then nodes are doubled but
* they not assigned to elements * they not assigned to elements
* \return TRUE if operation has been completed successfully, FALSE otherwise * \return TRUE if operation has been completed successfully, FALSE otherwise
* \sa DoubleNode(), DoubleNodeGroup(), DoubleNodeGroups() * \sa DoubleNode(), DoubleNodeGroup(), DoubleNodeGroups()
*/ */
boolean DoubleNodes( in long_array theNodes, in long_array theModifiedElems ); boolean DoubleNodes( in long_array theNodes, in long_array theModifiedElems );
/*! /*!
* \brief Creates a hole in a mesh by doubling the nodes of some particular elements * \brief Creates a hole in a mesh by doubling the nodes of some particular elements
@ -784,7 +783,7 @@ module SMESH
* \return TRUE if operation has been completed successfully, FALSE otherwise * \return TRUE if operation has been completed successfully, FALSE otherwise
* \sa DoubleNodes(), DoubleNodeGroup(), DoubleNodeGroups() * \sa DoubleNodes(), DoubleNodeGroup(), DoubleNodeGroups()
*/ */
boolean DoubleNode( in long theNodeId, in long_array theModifiedElems ); boolean DoubleNode( in long theNodeId, in long_array theModifiedElems );
/*! /*!
* \brief Creates a hole in a mesh by doubling the nodes of some particular elements * \brief Creates a hole in a mesh by doubling the nodes of some particular elements
@ -794,20 +793,20 @@ module SMESH
* \return TRUE if operation has been completed successfully, FALSE otherwise * \return TRUE if operation has been completed successfully, FALSE otherwise
* \sa DoubleNode(), DoubleNodes(), DoubleNodeGroups(), DoubleNodeGroupNew() * \sa DoubleNode(), DoubleNodes(), DoubleNodeGroups(), DoubleNodeGroupNew()
*/ */
boolean DoubleNodeGroup( in SMESH_GroupBase theNodes, boolean DoubleNodeGroup( in SMESH_GroupBase theNodes,
in SMESH_GroupBase theModifiedElems ); in SMESH_GroupBase theModifiedElems );
/*! /*!
* \brief Creates a hole in a mesh by doubling the nodes of some particular elements. * \brief Creates a hole in a mesh by doubling the nodes of some particular elements.
* Works as DoubleNodeGroup() described above, but returns a new group with * Works as DoubleNodeGroup() described above, but returns a new group with
* newly created nodes. * newly created nodes.
* \param theNodes - group of nodes to be doubled. * \param theNodes - group of nodes to be doubled.
* \param theModifiedElems - group of elements to be updated. * \param theModifiedElems - group of elements to be updated.
* \return a new group with newly created nodes * \return a new group with newly created nodes
* \sa DoubleNodeGroup() * \sa DoubleNodeGroup()
*/ */
SMESH_Group DoubleNodeGroupNew( in SMESH_GroupBase theNodes, SMESH_Group DoubleNodeGroupNew( in SMESH_GroupBase theNodes,
in SMESH_GroupBase theModifiedElems ); in SMESH_GroupBase theModifiedElems );
/*! /*!
\brief Creates a hole in a mesh by doubling the nodes of some particular elements \brief Creates a hole in a mesh by doubling the nodes of some particular elements
@ -817,22 +816,22 @@ module SMESH
\return TRUE if operation has been completed successfully, FALSE otherwise \return TRUE if operation has been completed successfully, FALSE otherwise
\sa DoubleNode(), DoubleNodeGroup(), DoubleNodes() \sa DoubleNode(), DoubleNodeGroup(), DoubleNodes()
*/ */
boolean DoubleNodeGroups( in ListOfGroups theNodes, boolean DoubleNodeGroups( in ListOfGroups theNodes,
in ListOfGroups theModifiedElems ); in ListOfGroups theModifiedElems );
/*! /*!
* \brief Creates a hole in a mesh by doubling the nodes of some particular elements * \brief Creates a hole in a mesh by doubling the nodes of some particular elements
* \param theElems - the list of elements (edges or faces) to be replicated * \param theElems - the list of elements (edges or faces) to be replicated
* The nodes for duplication could be found from these elements * The nodes for duplication could be found from these elements
* \param theNodesNot - list of nodes to NOT replicate * \param theNodesNot - list of nodes to NOT replicate
* \param theAffectedElems - the list of elements (cells and edges) to which the * \param theAffectedElems - the list of elements (cells and edges) to which the
* replicated nodes should be associated to. * replicated nodes should be associated to.
* \return TRUE if operation has been completed successfully, FALSE otherwise * \return TRUE if operation has been completed successfully, FALSE otherwise
* \sa DoubleNodeGroup(), DoubleNodeGroups() * \sa DoubleNodeGroup(), DoubleNodeGroups()
*/ */
boolean DoubleNodeElem( in long_array theElems, boolean DoubleNodeElem( in long_array theElems,
in long_array theNodesNot, in long_array theNodesNot,
in long_array theAffectedElems ); in long_array theAffectedElems );
/*! /*!
* \brief Creates a hole in a mesh by doubling the nodes of some particular elements * \brief Creates a hole in a mesh by doubling the nodes of some particular elements
@ -859,13 +858,13 @@ module SMESH
* \return TRUE if operation has been completed successfully, FALSE otherwise * \return TRUE if operation has been completed successfully, FALSE otherwise
* \sa DoubleNodes(), DoubleNodeGroups(), DoubleNodeElemGroupNew() * \sa DoubleNodes(), DoubleNodeGroups(), DoubleNodeElemGroupNew()
*/ */
boolean DoubleNodeElemGroup( in SMESH_GroupBase theElems, boolean DoubleNodeElemGroup( in SMESH_GroupBase theElems,
in SMESH_GroupBase theNodesNot, in SMESH_GroupBase theNodesNot,
in SMESH_GroupBase theAffectedElems ); in SMESH_GroupBase theAffectedElems );
/*! /*!
* \brief Creates a hole in a mesh by doubling the nodes of some particular elements. * \brief Creates a hole in a mesh by doubling the nodes of some particular elements.
* Works as DoubleNodeElemGroup() described above, but returns a new group with * Works as DoubleNodeElemGroup() described above, but returns a new group with
* newly created elements. * newly created elements.
* \param theElems - group of of elements (edges or faces) to be replicated * \param theElems - group of of elements (edges or faces) to be replicated
* \param theNodesNot - group of nodes not to replicated * \param theNodesNot - group of nodes not to replicated
@ -874,10 +873,10 @@ module SMESH
* \return a new group with newly created elements * \return a new group with newly created elements
* \sa DoubleNodeElemGroup() * \sa DoubleNodeElemGroup()
*/ */
SMESH_Group DoubleNodeElemGroupNew( in SMESH_GroupBase theElems, SMESH_Group DoubleNodeElemGroupNew( in SMESH_GroupBase theElems,
in SMESH_GroupBase theNodesNot, in SMESH_GroupBase theNodesNot,
in SMESH_GroupBase theAffectedElems ); in SMESH_GroupBase theAffectedElems );
/*! /*!
* \brief Creates a hole in a mesh by doubling the nodes of some particular elements * \brief Creates a hole in a mesh by doubling the nodes of some particular elements
* This method provided for convenience works as DoubleNodes() described above. * This method provided for convenience works as DoubleNodes() described above.
@ -889,7 +888,7 @@ module SMESH
* \return TRUE if operation has been completed successfully, FALSE otherwise * \return TRUE if operation has been completed successfully, FALSE otherwise
* \sa DoubleNodesInRegion(), DoubleNodeGroupsInRegion() * \sa DoubleNodesInRegion(), DoubleNodeGroupsInRegion()
*/ */
boolean DoubleNodeElemGroupInRegion( in SMESH_GroupBase theElems, boolean DoubleNodeElemGroupInRegion( in SMESH_GroupBase theElems,
in SMESH_GroupBase theNodesNot, in SMESH_GroupBase theNodesNot,
in GEOM::GEOM_Object theShape ); in GEOM::GEOM_Object theShape );
@ -951,13 +950,13 @@ module SMESH
* \param meshName - a name of new mesh to store created boundary elements in, * \param meshName - a name of new mesh to store created boundary elements in,
* "" means not to create the new mesh * "" means not to create the new mesh
* \param toCopyElements - if true, the checked elements will be copied into the new mesh * \param toCopyElements - if true, the checked elements will be copied into the new mesh
* \param toCopyExistingBondary - if true, not only new but also pre-existing * \param toCopyExistingBondary - if true, not only new but also pre-existing
* boundary elements will be copied into the new mesh * boundary elements will be copied into the new mesh
* \param group - returns the create group, if any * \param group - returns the create group, if any
* \retval SMESH::SMESH_Mesh - the mesh where elements were added to * \retval SMESH::SMESH_Mesh - the mesh where elements were added to
*/ */
SMESH::SMESH_Mesh MakeBoundaryMesh(in SMESH_IDSource elements, SMESH::SMESH_Mesh MakeBoundaryMesh(in SMESH_IDSource elements,
in Bnd_Dimension dimension, in Bnd_Dimension dimension,
in string groupName, in string groupName,
in string meshName, in string meshName,
in boolean toCopyElements, in boolean toCopyElements,

View File

@ -19,13 +19,11 @@
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
// //
// File : SMESH_DumpPython.cxx
// Created : Thu Mar 24 17:17:59 2005
// Author : Julia DOROVSKIKH
// Module : SMESH
// File : SMESH_Gen_i_DumpPython.cxx
// Created : Thu Mar 24 17:17:59 2005
// Author : Julia DOROVSKIKH
// Module : SMESH
// $Header : $
//
#include "SMESH_PythonDump.hxx" #include "SMESH_PythonDump.hxx"
#include "SMESH_Gen_i.hxx" #include "SMESH_Gen_i.hxx"
#include "SMESH_Filter_i.hxx" #include "SMESH_Filter_i.hxx"
@ -73,42 +71,42 @@ namespace SMESH
} }
} }
TPythonDump& TPythonDump&
TPythonDump:: TPythonDump::
operator<<(long int theArg){ operator<<(long int theArg){
myStream<<theArg; myStream<<theArg;
return *this; return *this;
} }
TPythonDump& TPythonDump&
TPythonDump:: TPythonDump::
operator<<(int theArg){ operator<<(int theArg){
myStream<<theArg; myStream<<theArg;
return *this; return *this;
} }
TPythonDump& TPythonDump&
TPythonDump:: TPythonDump::
operator<<(double theArg){ operator<<(double theArg){
myStream<<theArg; myStream<<theArg;
return *this; return *this;
} }
TPythonDump& TPythonDump&
TPythonDump:: TPythonDump::
operator<<(float theArg){ operator<<(float theArg){
myStream<<theArg; myStream<<theArg;
return *this; return *this;
} }
TPythonDump& TPythonDump&
TPythonDump:: TPythonDump::
operator<<(const void* theArg){ operator<<(const void* theArg){
myStream<<theArg; myStream<<theArg;
return *this; return *this;
} }
TPythonDump& TPythonDump&
TPythonDump:: TPythonDump::
operator<<(const char* theArg){ operator<<(const char* theArg){
if ( theArg ) if ( theArg )
@ -116,7 +114,7 @@ namespace SMESH
return *this; return *this;
} }
TPythonDump& TPythonDump&
TPythonDump:: TPythonDump::
operator<<(const SMESH::ElementType& theArg) operator<<(const SMESH::ElementType& theArg)
{ {
@ -163,21 +161,21 @@ namespace SMESH
theStream << " ]"; theStream << " ]";
} }
TPythonDump& TPythonDump&
TPythonDump::operator<<(const SMESH::long_array& theArg) TPythonDump::operator<<(const SMESH::long_array& theArg)
{ {
DumpArray( theArg, *this ); DumpArray( theArg, *this );
return *this; return *this;
} }
TPythonDump& TPythonDump&
TPythonDump::operator<<(const SMESH::double_array& theArg) TPythonDump::operator<<(const SMESH::double_array& theArg)
{ {
DumpArray( theArg, *this ); DumpArray( theArg, *this );
return *this; return *this;
} }
TPythonDump& TPythonDump&
TPythonDump:: TPythonDump::
operator<<(SALOMEDS::SObject_ptr aSObject) operator<<(SALOMEDS::SObject_ptr aSObject)
{ {
@ -188,7 +186,7 @@ namespace SMESH
return *this; return *this;
} }
TPythonDump& TPythonDump&
TPythonDump:: TPythonDump::
operator<<(CORBA::Object_ptr theArg) operator<<(CORBA::Object_ptr theArg)
{ {
@ -209,7 +207,7 @@ namespace SMESH
return *this; return *this;
} }
TPythonDump& TPythonDump&
TPythonDump:: TPythonDump::
operator<<(SMESH::SMESH_Hypothesis_ptr theArg) operator<<(SMESH::SMESH_Hypothesis_ptr theArg)
{ {
@ -222,7 +220,7 @@ namespace SMESH
return *this; return *this;
} }
TPythonDump& TPythonDump&
TPythonDump:: TPythonDump::
operator<<(SMESH::SMESH_IDSource_ptr theArg) operator<<(SMESH::SMESH_IDSource_ptr theArg)
{ {
@ -238,7 +236,7 @@ namespace SMESH
return *this << mesh << ".GetIDSource(" << anElementsId << ", " << type << ")"; return *this << mesh << ".GetIDSource(" << anElementsId << ", " << type << ")";
} }
TPythonDump& TPythonDump&
TPythonDump:: TPythonDump::
operator<<(SMESH::FilterLibrary_i* theArg) operator<<(SMESH::FilterLibrary_i* theArg)
{ {
@ -246,7 +244,7 @@ namespace SMESH
return *this; return *this;
} }
TPythonDump& TPythonDump&
TPythonDump:: TPythonDump::
operator<<(SMESH::FilterManager_i* theArg) operator<<(SMESH::FilterManager_i* theArg)
{ {
@ -254,7 +252,7 @@ namespace SMESH
return *this; return *this;
} }
TPythonDump& TPythonDump&
TPythonDump:: TPythonDump::
operator<<(SMESH::Filter_i* theArg) operator<<(SMESH::Filter_i* theArg)
{ {
@ -262,7 +260,7 @@ namespace SMESH
return *this; return *this;
} }
TPythonDump& TPythonDump&
TPythonDump:: TPythonDump::
operator<<(SMESH::Functor_i* theArg) operator<<(SMESH::Functor_i* theArg)
{ {
@ -316,7 +314,7 @@ namespace SMESH
return *this; return *this;
} }
TPythonDump& TPythonDump&
TPythonDump:: TPythonDump::
operator<<(SMESH::Measurements_i* theArg) operator<<(SMESH::Measurements_i* theArg)
{ {
@ -378,6 +376,11 @@ namespace SMESH
DumpArray( theList, *this ); DumpArray( theList, *this );
return *this; return *this;
} }
TPythonDump& TPythonDump::operator<<(const SMESH::ListOfGroups * theList)
{
DumpArray( *theList, *this );
return *this;
}
TPythonDump& TPythonDump::operator<<(const SMESH::ListOfIDSources& theList) TPythonDump& TPythonDump::operator<<(const SMESH::ListOfIDSources& theList)
{ {
DumpArray( theList, *this ); DumpArray( theList, *this );
@ -390,7 +393,7 @@ namespace SMESH
//================================================================================ //================================================================================
/*! /*!
* \brief Return marker of long string literal beginning * \brief Return marker of long string literal beginning
* \param type - a name of functionality producing the string literal * \param type - a name of functionality producing the string literal
* \retval TCollection_AsciiString - the marker string to be written into * \retval TCollection_AsciiString - the marker string to be written into
* a raw python script * a raw python script
*/ */
@ -426,7 +429,7 @@ namespace SMESH
* \param theLongString - the retrieved literal * \param theLongString - the retrieved literal
* \param theStringType - a name of functionality produced the literal * \param theStringType - a name of functionality produced the literal
* \retval bool - true if a string literal found * \retval bool - true if a string literal found
* *
* The literal is removed from theText; theFrom points position right after * The literal is removed from theText; theFrom points position right after
* the removed literal * the removed literal
*/ */
@ -481,7 +484,7 @@ namespace SMESH
//======================================================================= //=======================================================================
//function : DumpPython //function : DumpPython
//purpose : //purpose :
//======================================================================= //=======================================================================
Engines::TMPFile* SMESH_Gen_i::DumpPython (CORBA::Object_ptr theStudy, Engines::TMPFile* SMESH_Gen_i::DumpPython (CORBA::Object_ptr theStudy,
CORBA::Boolean isPublished, CORBA::Boolean isPublished,
@ -527,17 +530,17 @@ Engines::TMPFile* SMESH_Gen_i::DumpPython (CORBA::Object_ptr theStudy,
aScript += DumpPython_impl(aStudy, aMap, aMapNames, aScript += DumpPython_impl(aStudy, aMap, aMapNames,
isPublished, isValidScript, aSavedTrace); isPublished, isValidScript, aSavedTrace);
int aLen = aScript.Length(); int aLen = aScript.Length();
unsigned char* aBuffer = new unsigned char[aLen+1]; unsigned char* aBuffer = new unsigned char[aLen+1];
strcpy((char*)aBuffer, aScript.ToCString()); strcpy((char*)aBuffer, aScript.ToCString());
CORBA::Octet* anOctetBuf = (CORBA::Octet*)aBuffer; CORBA::Octet* anOctetBuf = (CORBA::Octet*)aBuffer;
Engines::TMPFile_var aStreamFile = new Engines::TMPFile(aLen+1, aLen+1, anOctetBuf, 1); Engines::TMPFile_var aStreamFile = new Engines::TMPFile(aLen+1, aLen+1, anOctetBuf, 1);
bool hasNotPublishedObjects = aScript.Location( NotPublishedObjectName(), 1, aLen); bool hasNotPublishedObjects = aScript.Location( NotPublishedObjectName(), 1, aLen);
isValidScript = isValidScript && !hasNotPublishedObjects; isValidScript = isValidScript && !hasNotPublishedObjects;
return aStreamFile._retn(); return aStreamFile._retn();
} }
//============================================================================= //=============================================================================
@ -568,7 +571,7 @@ void SMESH_Gen_i::RemoveLastFromPythonScript (int theStudyID)
//======================================================================= //=======================================================================
//function : SavePython //function : SavePython
//purpose : //purpose :
//======================================================================= //=======================================================================
void SMESH_Gen_i::SavePython (SALOMEDS::Study_ptr theStudy) void SMESH_Gen_i::SavePython (SALOMEDS::Study_ptr theStudy)
{ {
@ -621,10 +624,10 @@ Handle(TColStd_HSequenceOfInteger) FindEntries (TCollection_AsciiString& theStri
int c = (int)arr[i]; int c = (int)arr[i];
j = i+1; j = i+1;
if ( isdigit( c )) { //Is digit? if ( isdigit( c )) { //Is digit?
isFound = Standard_False; isFound = Standard_False;
while((j < aLen) && ( isdigit(c) || c == ':' )) { //Check if it is an entry while((j < aLen) && ( isdigit(c) || c == ':' )) { //Check if it is an entry
c = (int)arr[j++]; c = (int)arr[j++];
if(c == ':') isFound = Standard_True; if(c == ':') isFound = Standard_True;
} }
@ -685,10 +688,10 @@ namespace {
*/ */
//============================================================================= //=============================================================================
TCollection_AsciiString SMESH_Gen_i::DumpPython_impl TCollection_AsciiString SMESH_Gen_i::DumpPython_impl
(SALOMEDS::Study_ptr theStudy, (SALOMEDS::Study_ptr theStudy,
Resource_DataMapOfAsciiStringAsciiString& theObjectNames, Resource_DataMapOfAsciiStringAsciiString& theObjectNames,
Resource_DataMapOfAsciiStringAsciiString& theNames, Resource_DataMapOfAsciiStringAsciiString& theNames,
bool isPublished, bool isPublished,
bool& aValidScript, bool& aValidScript,
const TCollection_AsciiString& theSavedTrace) const TCollection_AsciiString& theSavedTrace)
{ {

View File

@ -19,12 +19,11 @@
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
// //
// SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses // SMESH SMESH_I : idl implementation based on 'SMESH' unit's calsses
// File : SMESH_Gen_i.hxx // File : SMESH_Gen_i.hxx
// Author : Paul RASCLE, EDF // Author : Paul RASCLE, EDF
// Module : SMESH // Module : SMESH
//
#ifndef _SMESH_GEN_I_HXX_ #ifndef _SMESH_GEN_I_HXX_
#define _SMESH_GEN_I_HXX_ #define _SMESH_GEN_I_HXX_
@ -65,8 +64,8 @@ public:
// constructor // constructor
StudyContext() {} StudyContext() {}
// destructor // destructor
~StudyContext() ~StudyContext()
{ {
mapIdToIOR.clear(); mapIdToIOR.clear();
mapIdToId.clear(); mapIdToId.clear();
} }
@ -114,7 +113,7 @@ public:
} }
return 0; return 0;
} }
private: private:
// get next free object identifier // get next free object identifier
int getNextId() int getNextId()
@ -134,7 +133,7 @@ private:
// ========================================================== // ==========================================================
class SMESH_I_EXPORT SMESH_Gen_i: class SMESH_I_EXPORT SMESH_Gen_i:
public virtual POA_SMESH::SMESH_Gen, public virtual POA_SMESH::SMESH_Gen,
public virtual Engines_Component_i public virtual Engines_Component_i
{ {
public: public:
// Get last created instance of the class // Get last created instance of the class
@ -160,14 +159,14 @@ public:
GEOM::GEOM_Object_ptr ShapeToGeomObject (const TopoDS_Shape& theShape ); GEOM::GEOM_Object_ptr ShapeToGeomObject (const TopoDS_Shape& theShape );
// Get TopoDS_Shape correspoding to GEOM_Object // Get TopoDS_Shape correspoding to GEOM_Object
TopoDS_Shape GeomObjectToShape(GEOM::GEOM_Object_ptr theGeomObject); TopoDS_Shape GeomObjectToShape(GEOM::GEOM_Object_ptr theGeomObject);
// Default constructor // Default constructor
SMESH_Gen_i(); SMESH_Gen_i();
// Standard constructor // Standard constructor
SMESH_Gen_i( CORBA::ORB_ptr orb, SMESH_Gen_i( CORBA::ORB_ptr orb,
PortableServer::POA_ptr poa, PortableServer::POA_ptr poa,
PortableServer::ObjectId* contId, PortableServer::ObjectId* contId,
const char* instanceName, const char* instanceName,
const char* interfaceName ); const char* interfaceName );
// Destructor // Destructor
virtual ~SMESH_Gen_i(); virtual ~SMESH_Gen_i();
@ -196,7 +195,7 @@ public:
SMESH::SMESH_Hypothesis_ptr CreateHypothesis (const char* theHypType, SMESH::SMESH_Hypothesis_ptr CreateHypothesis (const char* theHypType,
const char* theLibName) const char* theLibName)
throw ( SALOME::SALOME_Exception ); throw ( SALOME::SALOME_Exception );
// Return hypothesis of given type holding parameter values of the existing mesh // Return hypothesis of given type holding parameter values of the existing mesh
SMESH::SMESH_Hypothesis_ptr GetHypothesisParameterValues (const char* theHypType, SMESH::SMESH_Hypothesis_ptr GetHypothesisParameterValues (const char* theHypType,
const char* theLibName, const char* theLibName,
@ -204,7 +203,7 @@ public:
GEOM::GEOM_Object_ptr theGeom, GEOM::GEOM_Object_ptr theGeom,
CORBA::Boolean byMesh) CORBA::Boolean byMesh)
throw ( SALOME::SALOME_Exception ); throw ( SALOME::SALOME_Exception );
/*! /*!
* Sets number of segments per diagonal of boundary box of geometry by which * Sets number of segments per diagonal of boundary box of geometry by which
* default segment length of appropriate 1D hypotheses is defined * default segment length of appropriate 1D hypotheses is defined
@ -266,7 +265,7 @@ public:
CORBA::Boolean IsReadyToCompute( SMESH::SMESH_Mesh_ptr theMesh, CORBA::Boolean IsReadyToCompute( SMESH::SMESH_Mesh_ptr theMesh,
GEOM::GEOM_Object_ptr theShapeObject ) GEOM::GEOM_Object_ptr theShapeObject )
throw ( SALOME::SALOME_Exception ); throw ( SALOME::SALOME_Exception );
/*! /*!
* Calculate Mesh as preview till indicated dimension on shape * Calculate Mesh as preview till indicated dimension on shape
* First, verify list of hypothesis associated with the subShape. * First, verify list of hypothesis associated with the subShape.
@ -279,7 +278,7 @@ public:
throw ( SALOME::SALOME_Exception ); throw ( SALOME::SALOME_Exception );
// Returns errors of hypotheses definintion // Returns errors of hypotheses definintion
SMESH::algo_error_array* GetAlgoState( SMESH::SMESH_Mesh_ptr theMesh, SMESH::algo_error_array* GetAlgoState( SMESH::SMESH_Mesh_ptr theMesh,
GEOM::GEOM_Object_ptr theSubObject ) GEOM::GEOM_Object_ptr theSubObject )
throw ( SALOME::SALOME_Exception ); throw ( SALOME::SALOME_Exception );
@ -305,25 +304,25 @@ public:
throw ( SALOME::SALOME_Exception ); throw ( SALOME::SALOME_Exception );
// Concatenate the given meshes into one mesh // Concatenate the given meshes into one mesh
SMESH::SMESH_Mesh_ptr ConcatenateCommon(const SMESH::mesh_array& theMeshesArray, SMESH::SMESH_Mesh_ptr ConcatenateCommon(const SMESH::mesh_array& theMeshesArray,
CORBA::Boolean theUniteIdenticalGroups, CORBA::Boolean theUniteIdenticalGroups,
CORBA::Boolean theMergeNodesAndElements, CORBA::Boolean theMergeNodesAndElements,
CORBA::Double theMergeTolerance, CORBA::Double theMergeTolerance,
CORBA::Boolean theCommonGroups) CORBA::Boolean theCommonGroups)
throw ( SALOME::SALOME_Exception ); throw ( SALOME::SALOME_Exception );
// Concatenate the given meshes into one mesh // Concatenate the given meshes into one mesh
SMESH::SMESH_Mesh_ptr Concatenate(const SMESH::mesh_array& theMeshesArray, SMESH::SMESH_Mesh_ptr Concatenate(const SMESH::mesh_array& theMeshesArray,
CORBA::Boolean theUniteIdenticalGroups, CORBA::Boolean theUniteIdenticalGroups,
CORBA::Boolean theMergeNodesAndElements, CORBA::Boolean theMergeNodesAndElements,
CORBA::Double theMergeTolerance) CORBA::Double theMergeTolerance)
throw ( SALOME::SALOME_Exception ); throw ( SALOME::SALOME_Exception );
// Concatenate the given meshes into one mesh // Concatenate the given meshes into one mesh
// Create the groups of all elements from initial meshes // Create the groups of all elements from initial meshes
SMESH::SMESH_Mesh_ptr ConcatenateWithGroups(const SMESH::mesh_array& theMeshesArray, SMESH::SMESH_Mesh_ptr ConcatenateWithGroups(const SMESH::mesh_array& theMeshesArray,
CORBA::Boolean theUniteIdenticalGroups, CORBA::Boolean theUniteIdenticalGroups,
CORBA::Boolean theMergeNodesAndElements, CORBA::Boolean theMergeNodesAndElements,
CORBA::Double theMergeTolerance) CORBA::Double theMergeTolerance)
throw ( SALOME::SALOME_Exception ); throw ( SALOME::SALOME_Exception );
@ -368,10 +367,10 @@ public:
// Clears study-connected data when it is closed // Clears study-connected data when it is closed
void Close( SALOMEDS::SComponent_ptr theComponent ); void Close( SALOMEDS::SComponent_ptr theComponent );
// Get component data type // Get component data type
char* ComponentDataType(); char* ComponentDataType();
// Transform data from transient form to persistent // Transform data from transient form to persistent
char* IORToLocalPersistentID( SALOMEDS::SObject_ptr theSObject, char* IORToLocalPersistentID( SALOMEDS::SObject_ptr theSObject,
const char* IORString, const char* IORString,
@ -389,7 +388,7 @@ public:
SALOMEDS::SObject_ptr PublishInStudy( SALOMEDS::Study_ptr theStudy, SALOMEDS::SObject_ptr PublishInStudy( SALOMEDS::Study_ptr theStudy,
SALOMEDS::SObject_ptr theSObject, SALOMEDS::SObject_ptr theSObject,
CORBA::Object_ptr theObject, CORBA::Object_ptr theObject,
const char* theName ) const char* theName )
throw ( SALOME::SALOME_Exception ); throw ( SALOME::SALOME_Exception );
// Copy-paste methods - returns true if object can be copied to the clipboard // Copy-paste methods - returns true if object can be copied to the clipboard
@ -410,8 +409,8 @@ public:
// Dump python // Dump python
// ============ // ============
virtual Engines::TMPFile* DumpPython(CORBA::Object_ptr theStudy, virtual Engines::TMPFile* DumpPython(CORBA::Object_ptr theStudy,
CORBA::Boolean isPublished, CORBA::Boolean isPublished,
CORBA::Boolean& isValidScript); CORBA::Boolean& isValidScript);
void AddToPythonScript (int theStudyID, const TCollection_AsciiString& theString); void AddToPythonScript (int theStudyID, const TCollection_AsciiString& theString);
@ -420,10 +419,10 @@ public:
void SavePython (SALOMEDS::Study_ptr theStudy); void SavePython (SALOMEDS::Study_ptr theStudy);
TCollection_AsciiString DumpPython_impl (SALOMEDS::Study_ptr theStudy, TCollection_AsciiString DumpPython_impl (SALOMEDS::Study_ptr theStudy,
Resource_DataMapOfAsciiStringAsciiString& theObjectNames, Resource_DataMapOfAsciiStringAsciiString& theObjectNames,
Resource_DataMapOfAsciiStringAsciiString& theNames, Resource_DataMapOfAsciiStringAsciiString& theNames,
bool isPublished, bool isPublished,
bool& aValidScript, bool& aValidScript,
const TCollection_AsciiString& theSavedTrace); const TCollection_AsciiString& theSavedTrace);
@ -439,7 +438,7 @@ public:
// Get shape reader // Get shape reader
GEOM_Client* GetShapeReader(); GEOM_Client* GetShapeReader();
// Tags definition // Tags definition
static long GetHypothesisRootTag(); static long GetHypothesisRootTag();
static long GetAlgorithmsRootTag(); static long GetAlgorithmsRootTag();
static long GetRefOnShapeTag(); static long GetRefOnShapeTag();
@ -503,7 +502,7 @@ public:
CORBA::Long GetObjectId(CORBA::Object_ptr theObject); CORBA::Long GetObjectId(CORBA::Object_ptr theObject);
// Return an object that previously had an oldID // Return an object that previously had an oldID
template<class TInterface> template<class TInterface>
typename TInterface::_var_type GetObjectByOldId( const int oldID ) typename TInterface::_var_type GetObjectByOldId( const int oldID )
{ {
if ( StudyContext* myStudyContext = GetCurrentStudyContext() ) { if ( StudyContext* myStudyContext = GetCurrentStudyContext() ) {
@ -525,20 +524,20 @@ public:
void UpdateParameters(CORBA::Object_ptr theObject, const char* theParameters); void UpdateParameters(CORBA::Object_ptr theObject, const char* theParameters);
char* GetParameters(CORBA::Object_ptr theObject); char* GetParameters(CORBA::Object_ptr theObject);
char* ParseParameters(const char* theParameters); char* ParseParameters(const char* theParameters);
private: private:
// Create hypothesis of given type // Create hypothesis of given type
SMESH::SMESH_Hypothesis_ptr createHypothesis( const char* theHypName, SMESH::SMESH_Hypothesis_ptr createHypothesis( const char* theHypName,
const char* theLibName) const char* theLibName)
throw ( SALOME::SALOME_Exception ); throw ( SALOME::SALOME_Exception );
// Create empty mesh on shape // Create empty mesh on shape
SMESH::SMESH_Mesh_ptr createMesh() SMESH::SMESH_Mesh_ptr createMesh()
throw ( SALOME::SALOME_Exception ); throw ( SALOME::SALOME_Exception );
static void loadGeomData( SALOMEDS::SComponent_ptr theCompRoot ); static void loadGeomData( SALOMEDS::SComponent_ptr theCompRoot );
private: private:
static GEOM::GEOM_Gen_var myGeomGen; static GEOM::GEOM_Gen_var myGeomGen;
static CORBA::ORB_var myOrb; // ORB reference static CORBA::ORB_var myOrb; // ORB reference

File diff suppressed because it is too large Load Diff

View File

@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
// //
// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
#ifndef _SMESH_PYTHONDUMP_HXX_ #ifndef _SMESH_PYTHONDUMP_HXX_
#define _SMESH_PYTHONDUMP_HXX_ #define _SMESH_PYTHONDUMP_HXX_
@ -88,71 +87,71 @@ namespace SMESH
public: public:
TPythonDump(); TPythonDump();
virtual ~TPythonDump(); virtual ~TPythonDump();
TPythonDump& TPythonDump&
operator<<(long int theArg); operator<<(long int theArg);
TPythonDump& TPythonDump&
operator<<(int theArg); operator<<(int theArg);
TPythonDump& TPythonDump&
operator<<(double theArg); operator<<(double theArg);
TPythonDump& TPythonDump&
operator<<(float theArg); operator<<(float theArg);
TPythonDump& TPythonDump&
operator<<(const void* theArg); operator<<(const void* theArg);
TPythonDump& TPythonDump&
operator<<(const char* theArg); operator<<(const char* theArg);
TPythonDump& TPythonDump&
operator<<(const SMESH::ElementType& theArg); operator<<(const SMESH::ElementType& theArg);
TPythonDump& TPythonDump&
operator<<(const SMESH::GeometryType& theArg); operator<<(const SMESH::GeometryType& theArg);
TPythonDump& TPythonDump&
operator<<(const SMESH::long_array& theArg); operator<<(const SMESH::long_array& theArg);
TPythonDump& TPythonDump&
operator<<(const SMESH::double_array& theArg); operator<<(const SMESH::double_array& theArg);
TPythonDump& TPythonDump&
operator<<(SMESH::SMESH_Hypothesis_ptr theArg); operator<<(SMESH::SMESH_Hypothesis_ptr theArg);
TPythonDump& TPythonDump&
operator<<(SMESH::SMESH_IDSource_ptr theArg); operator<<(SMESH::SMESH_IDSource_ptr theArg);
TPythonDump& TPythonDump&
operator<<(SALOMEDS::SObject_ptr theArg); operator<<(SALOMEDS::SObject_ptr theArg);
TPythonDump& TPythonDump&
operator<<(CORBA::Object_ptr theArg); operator<<(CORBA::Object_ptr theArg);
TPythonDump& TPythonDump&
operator<<(SMESH::FilterLibrary_i* theArg); operator<<(SMESH::FilterLibrary_i* theArg);
TPythonDump& TPythonDump&
operator<<(SMESH::FilterManager_i* theArg); operator<<(SMESH::FilterManager_i* theArg);
TPythonDump& TPythonDump&
operator<<(SMESH::Filter_i* theArg); operator<<(SMESH::Filter_i* theArg);
TPythonDump& TPythonDump&
operator<<(SMESH::Functor_i* theArg); operator<<(SMESH::Functor_i* theArg);
TPythonDump& TPythonDump&
operator<<(SMESH::Measurements_i* theArg); operator<<(SMESH::Measurements_i* theArg);
TPythonDump& TPythonDump&
operator<<(SMESH_Gen_i* theArg); operator<<(SMESH_Gen_i* theArg);
TPythonDump& TPythonDump&
operator<<(SMESH_MeshEditor_i* theArg); operator<<(SMESH_MeshEditor_i* theArg);
TPythonDump& TPythonDump&
operator<<(SMESH::MED_VERSION theArg); operator<<(SMESH::MED_VERSION theArg);
TPythonDump& TPythonDump&
@ -167,6 +166,9 @@ namespace SMESH
TPythonDump& TPythonDump&
operator<<(const SMESH::ListOfGroups& theList); operator<<(const SMESH::ListOfGroups& theList);
TPythonDump&
operator<<(const SMESH::ListOfGroups * theList);
TPythonDump& TPythonDump&
operator<<(const SMESH::ListOfIDSources& theList); operator<<(const SMESH::ListOfIDSources& theList);
@ -175,7 +177,7 @@ namespace SMESH
/*! /*!
* \brief Return marker of long string literal beginning * \brief Return marker of long string literal beginning
* \param type - a name of functionality producing the string literal * \param type - a name of functionality producing the string literal
* \retval TCollection_AsciiString - the marker string to be written into * \retval TCollection_AsciiString - the marker string to be written into
* a raw python script * a raw python script
*/ */
@ -193,7 +195,7 @@ namespace SMESH
* \param theLongString - the retrieved literal * \param theLongString - the retrieved literal
* \param theStringType - a name of functionality produced the literal * \param theStringType - a name of functionality produced the literal
* \retval bool - true if a string literal found * \retval bool - true if a string literal found
* *
* The literal is removed from theText; theFrom points position right after * The literal is removed from theText; theFrom points position right after
* the removed literal * the removed literal
*/ */

View File

@ -3139,7 +3139,8 @@ class Mesh:
return [] return []
## Generates new elements by rotation of the elements of object around the axis ## Generates new elements by rotation of the elements of object around the axis
# @param theObject object which elements should be sweeped # @param theObject object which elements should be sweeped.
# It can be a mesh, a sub mesh or a group.
# @param Axis the axis of rotation, AxisStruct or line(geom object) # @param Axis the axis of rotation, AxisStruct or line(geom object)
# @param AngleInRadians the angle of Rotation # @param AngleInRadians the angle of Rotation
# @param NbOfSteps number of steps # @param NbOfSteps number of steps
@ -3174,7 +3175,8 @@ class Mesh:
return [] return []
## Generates new elements by rotation of the elements of object around the axis ## Generates new elements by rotation of the elements of object around the axis
# @param theObject object which elements should be sweeped # @param theObject object which elements should be sweeped.
# It can be a mesh, a sub mesh or a group.
# @param Axis the axis of rotation, AxisStruct or line(geom object) # @param Axis the axis of rotation, AxisStruct or line(geom object)
# @param AngleInRadians the angle of Rotation # @param AngleInRadians the angle of Rotation
# @param NbOfSteps number of steps # @param NbOfSteps number of steps
@ -3209,7 +3211,8 @@ class Mesh:
return [] return []
## Generates new elements by rotation of the elements of object around the axis ## Generates new elements by rotation of the elements of object around the axis
# @param theObject object which elements should be sweeped # @param theObject object which elements should be sweeped.
# It can be a mesh, a sub mesh or a group.
# @param Axis the axis of rotation, AxisStruct or line(geom object) # @param Axis the axis of rotation, AxisStruct or line(geom object)
# @param AngleInRadians the angle of Rotation # @param AngleInRadians the angle of Rotation
# @param NbOfSteps number of steps # @param NbOfSteps number of steps
@ -3286,7 +3289,8 @@ class Mesh:
return [] return []
## Generates new elements by extrusion of the elements which belong to the object ## Generates new elements by extrusion of the elements which belong to the object
# @param theObject the object which elements should be processed # @param theObject the object which elements should be processed.
# It can be a mesh, a sub mesh or a group.
# @param StepVector vector, defining the direction and value of extrusion # @param StepVector vector, defining the direction and value of extrusion
# @param NbOfSteps the number of steps # @param NbOfSteps the number of steps
# @param MakeGroups forces the generation of new groups from existing ones # @param MakeGroups forces the generation of new groups from existing ones
@ -3307,7 +3311,8 @@ class Mesh:
return [] return []
## Generates new elements by extrusion of the elements which belong to the object ## Generates new elements by extrusion of the elements which belong to the object
# @param theObject object which elements should be processed # @param theObject object which elements should be processed.
# It can be a mesh, a sub mesh or a group.
# @param StepVector vector, defining the direction and value of extrusion # @param StepVector vector, defining the direction and value of extrusion
# @param NbOfSteps the number of steps # @param NbOfSteps the number of steps
# @param MakeGroups to generate new groups from existing ones # @param MakeGroups to generate new groups from existing ones
@ -3328,7 +3333,8 @@ class Mesh:
return [] return []
## Generates new elements by extrusion of the elements which belong to the object ## Generates new elements by extrusion of the elements which belong to the object
# @param theObject object which elements should be processed # @param theObject object which elements should be processed.
# It can be a mesh, a sub mesh or a group.
# @param StepVector vector, defining the direction and value of extrusion # @param StepVector vector, defining the direction and value of extrusion
# @param NbOfSteps the number of steps # @param NbOfSteps the number of steps
# @param MakeGroups forces the generation of new groups from existing ones # @param MakeGroups forces the generation of new groups from existing ones
@ -3352,7 +3358,7 @@ class Mesh:
## Generates new elements by extrusion of the given elements ## Generates new elements by extrusion of the given elements
# The path of extrusion must be a meshed edge. # The path of extrusion must be a meshed edge.
# @param Base mesh or list of ids of elements for extrusion # @param Base mesh or group, or submesh, or list of ids of elements for extrusion
# @param Path - 1D mesh or 1D sub-mesh, along which proceeds the extrusion # @param Path - 1D mesh or 1D sub-mesh, along which proceeds the extrusion
# @param NodeStart the start node from Path. Defines the direction of extrusion # @param NodeStart the start node from Path. Defines the direction of extrusion
# @param HasAngles allows the shape to be rotated around the path # @param HasAngles allows the shape to be rotated around the path
@ -3379,8 +3385,7 @@ class Mesh:
Parameters = AnglesParameters + var_separator + RefPointParameters Parameters = AnglesParameters + var_separator + RefPointParameters
self.mesh.SetParameters(Parameters) self.mesh.SetParameters(Parameters)
if (isinstance(Path, Mesh)): if (isinstance(Path, Mesh)): Path = Path.GetMesh()
Path = Path.GetMesh()
if isinstance(Base, list): if isinstance(Base, list):
IDsOfElements = [] IDsOfElements = []
@ -3443,7 +3448,8 @@ class Mesh:
## Generates new elements by extrusion of the elements which belong to the object ## Generates new elements by extrusion of the elements which belong to the object
# The path of extrusion must be a meshed edge. # The path of extrusion must be a meshed edge.
# @param theObject the object which elements should be processed # @param theObject the object which elements should be processed.
# It can be a mesh, a sub mesh or a group.
# @param PathMesh mesh containing a 1D sub-mesh on the edge, along which the extrusion proceeds # @param PathMesh mesh containing a 1D sub-mesh on the edge, along which the extrusion proceeds
# @param PathShape shape(edge) defines the sub-mesh for the path # @param PathShape shape(edge) defines the sub-mesh for the path
# @param NodeStart the first or the last node on the edge. Defines the direction of extrusion # @param NodeStart the first or the last node on the edge. Defines the direction of extrusion
@ -3485,7 +3491,8 @@ class Mesh:
## Generates new elements by extrusion of the elements which belong to the object ## Generates new elements by extrusion of the elements which belong to the object
# The path of extrusion must be a meshed edge. # The path of extrusion must be a meshed edge.
# @param theObject the object which elements should be processed # @param theObject the object which elements should be processed.
# It can be a mesh, a sub mesh or a group.
# @param PathMesh mesh containing a 1D sub-mesh on the edge, along which the extrusion proceeds # @param PathMesh mesh containing a 1D sub-mesh on the edge, along which the extrusion proceeds
# @param PathShape shape(edge) defines the sub-mesh for the path # @param PathShape shape(edge) defines the sub-mesh for the path
# @param NodeStart the first or the last node on the edge. Defines the direction of extrusion # @param NodeStart the first or the last node on the edge. Defines the direction of extrusion
@ -3527,7 +3534,8 @@ class Mesh:
## Generates new elements by extrusion of the elements which belong to the object ## Generates new elements by extrusion of the elements which belong to the object
# The path of extrusion must be a meshed edge. # The path of extrusion must be a meshed edge.
# @param theObject the object which elements should be processed # @param theObject the object which elements should be processed.
# It can be a mesh, a sub mesh or a group.
# @param PathMesh mesh containing a 1D sub-mesh on the edge, along which the extrusion proceeds # @param PathMesh mesh containing a 1D sub-mesh on the edge, along which the extrusion proceeds
# @param PathShape shape(edge) defines the sub-mesh for the path # @param PathShape shape(edge) defines the sub-mesh for the path
# @param NodeStart the first or the last node on the edge. Defines the direction of extrusion # @param NodeStart the first or the last node on the edge. Defines the direction of extrusion