From 05ebfe85d9599602aa910ba503f2521976a075cb Mon Sep 17 00:00:00 2001 From: eap Date: Mon, 12 Nov 2007 09:55:03 +0000 Subject: [PATCH] PAL16842 (Genertion of groups when a mesh is transformed) add *MakeGroups() methods --- idl/SMESH_MeshEditor.idl | 154 +++++++++++++++++++++++++++++++-------- 1 file changed, 124 insertions(+), 30 deletions(-) diff --git a/idl/SMESH_MeshEditor.idl b/idl/SMESH_MeshEditor.idl index a4dfb1d32..a080e19d5 100644 --- a/idl/SMESH_MeshEditor.idl +++ b/idl/SMESH_MeshEditor.idl @@ -215,22 +215,64 @@ module SMESH void RenumberElements(); + /*! + * \brief Genarate dim+1 elements by rotation of given elements around axis + * \param IDsOfElements - elements to ratate + * \param Axix - rotation axis + * \param AngleInRadians - rotation angle + * \param NbOfSteps - number of elements to generate from one element + */ void RotationSweep(in long_array IDsOfElements, in AxisStruct Axix, in double AngleInRadians, in long NbOfSteps, in double Tolerance); - + /*! + * \brief Same as previous but additionally create groups of elements + * generated from elements belonging to preexisting groups + */ + ListOfGroups RotationSweepMakeGroups(in long_array IDsOfElements, + in AxisStruct Axix, + in double AngleInRadians, + in long NbOfSteps, + in double Tolerance); + /*! + * \brief Genarate dim+1 elements by rotation of the object around axis + * \param theObject - object containing elements to ratate + * \param Axix - rotation axis + * \param AngleInRadians - rotation angle + * \param NbOfSteps - number of elements to generate from one element + */ void RotationSweepObject(in SMESH_IDSource theObject, in AxisStruct Axix, in double AngleInRadians, in long NbOfSteps, in double Tolerance); - + /*! + * \brief Same as previous but additionally create groups of elements + * generated from elements belonging to preexisting groups + */ + ListOfGroups RotationSweepObjectMakeGroups(in SMESH_IDSource theObject, + in AxisStruct Axix, + in double AngleInRadians, + in long NbOfSteps, + in double Tolerance); + /*! + * \brief Genarate dim+1 elements by extrusion of elements along vector + * \param IDsOfElements - elements to sweep + * \param StepVector - vector giving direction and distance of an extrusion step + * \param NbOfSteps - number of elements to generate from one element + */ void ExtrusionSweep(in long_array IDsOfElements, in DirStruct StepVector, in long NbOfSteps); - + /*! + * \brief Same as previous but additionally create groups of elements + * generated from elements belonging to preexisting groups + */ + ListOfGroups ExtrusionSweepMakeGroups(in long_array IDsOfElements, + in DirStruct StepVector, + in long NbOfSteps); /*! * Generate new elements by extrusion of theElements * by StepVector by NbOfSteps @@ -243,18 +285,36 @@ module SMESH in long NbOfSteps, in long ExtrFlags, in double SewTolerance); + /*! + * \brief Same as previous but additionally create groups of elements + * generated from elements belonging to preexisting groups + */ + ListOfGroups AdvancedExtrusionMakeGroups(in long_array IDsOfElements, + in DirStruct StepVector, + in long NbOfSteps, + in long ExtrFlags, + in double SewTolerance); void ExtrusionSweepObject(in SMESH_IDSource theObject, in DirStruct StepVector, in long NbOfSteps); + ListOfGroups ExtrusionSweepObjectMakeGroups(in SMESH_IDSource theObject, + in DirStruct StepVector, + in long NbOfSteps); void ExtrusionSweepObject1D(in SMESH_IDSource theObject, in DirStruct StepVector, in long NbOfSteps); + ListOfGroups ExtrusionSweepObject1DMakeGroups(in SMESH_IDSource theObject, + in DirStruct StepVector, + in long NbOfSteps); void ExtrusionSweepObject2D(in SMESH_IDSource theObject, in DirStruct StepVector, in long NbOfSteps); + ListOfGroups ExtrusionSweepObject2DMakeGroups(in SMESH_IDSource theObject, + in DirStruct StepVector, + in long NbOfSteps); enum Extrusion_Error { EXTR_OK, @@ -274,6 +334,15 @@ module SMESH in double_array Angles, in boolean HasRefPoint, in PointStruct RefPoint); + ListOfGroups ExtrusionAlongPathMakeGroups(in long_array IDsOfElements, + in SMESH_Mesh PathMesh, + in GEOM::GEOM_Object PathShape, + in long NodeStart, + in boolean HasAngles, + in double_array Angles, + in boolean HasRefPoint, + in PointStruct RefPoint, + out Extrusion_Error Error); Extrusion_Error ExtrusionAlongPathObject(in SMESH_IDSource theObject, in SMESH_Mesh PathMesh, @@ -283,6 +352,15 @@ module SMESH in double_array Angles, in boolean HasRefPoint, in PointStruct RefPoint); + ListOfGroups ExtrusionAlongPathObjectMakeGroups(in SMESH_IDSource theObject, + in SMESH_Mesh PathMesh, + in GEOM::GEOM_Object PathShape, + in long NodeStart, + in boolean HasAngles, + in double_array Angles, + in boolean HasRefPoint, + in PointStruct RefPoint, + out Extrusion_Error Error); /*! * Compute rotation angles for ExtrusionAlongPath as linear variation @@ -298,33 +376,49 @@ module SMESH enum MirrorType { POINT, AXIS, PLANE }; - void Mirror (in long_array IDsOfElements, - in AxisStruct Mirror, - in MirrorType theMirrorType, - in boolean Copy); - - void MirrorObject (in SMESH_IDSource theObject, - in AxisStruct Mirror, - in MirrorType theMirrorType, - in boolean Copy); - - void Translate (in long_array IDsOfElements, - in DirStruct Vector, - in boolean Copy); - - void TranslateObject (in SMESH_IDSource theObject, - in DirStruct Vector, - in boolean Copy); - - void Rotate (in long_array IDsOfElements, - in AxisStruct Axis, - in double AngleInRadians, - in boolean Copy); - - void RotateObject (in SMESH_IDSource theObject, - in AxisStruct Axis, - in double AngleInRadians, - in boolean Copy); + void Mirror (in long_array IDsOfElements, + in AxisStruct Mirror, + in MirrorType theMirrorType, + in boolean Copy); + ListOfGroups MirrorMakeGroups (in long_array IDsOfElements, + in AxisStruct Mirror, + in MirrorType theMirrorType); + + void MirrorObject (in SMESH_IDSource theObject, + in AxisStruct Mirror, + in MirrorType theMirrorType, + in boolean Copy); + ListOfGroups MirrorObjectMakeGroups (in SMESH_IDSource theObject, + in AxisStruct Mirror, + in MirrorType theMirrorType); + + void Translate (in long_array IDsOfElements, + in DirStruct Vector, + in boolean Copy); + ListOfGroups TranslateMakeGroups (in long_array IDsOfElements, + in DirStruct Vector); + + void TranslateObject (in SMESH_IDSource theObject, + in DirStruct Vector, + in boolean Copy); + ListOfGroups TranslateObjectMakeGroups (in SMESH_IDSource theObject, + in DirStruct Vector); + + void Rotate (in long_array IDsOfElements, + in AxisStruct Axis, + in double AngleInRadians, + in boolean Copy); + ListOfGroups RotateMakeGroups (in long_array IDsOfElements, + in AxisStruct Axis, + in double AngleInRadians); + + void RotateObject (in SMESH_IDSource theObject, + in AxisStruct Axis, + in double AngleInRadians, + in boolean Copy); + ListOfGroups RotateObjectMakeGroups (in SMESH_IDSource theObject, + in AxisStruct Axis, + in double AngleInRadians); void FindCoincidentNodes (in double Tolerance, out array_of_long_array GroupsOfNodes); -- 2.39.2