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
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,
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,
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
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);