-// Copyright (C) 2003 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
-//
-// This library is free software; you can redistribute it and/or
-// modify it under the terms of the GNU Lesser General Public
-// License as published by the Free Software Foundation; either
-// version 2.1 of the License.
-//
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// Lesser General Public License for more details.
-//
-// You should have received a copy of the GNU Lesser General Public
-// License along with this library; if not, write to the Free Software
-// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
-//
-// See http://www.opencascade.org/SALOME/ or email : webmaster.salome@opencascade.org
+// Copyright (C) 2007-2008 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
//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
//
// File : SMESH_Pattern.idl
// Created : Mon Aug 2 10:48:36 2004
// Author : Edward AGAPOV (eap)
// $Header:
-
+//
#ifndef _SMESH_PATTERN_IDL_
#define _SMESH_PATTERN_IDL_
in GEOM::GEOM_Object theVertex000,
in GEOM::GEOM_Object theVertex001);
+ /*!
+ * Compute nodes coordinates applying
+ * the loaded pattern to mesh faces. The first key-point
+ * will be mapped into <theNodeIndexOnKeyPoint1>-th node of each face
+ */
+ point_array ApplyToMeshFaces(in SMESH_Mesh theMesh,
+ in long_array theFacesIDs,
+ in long theNodeIndexOnKeyPoint1,
+ in boolean theReverse);
+
+ /*!
+ * Compute nodes coordinates applying
+ * the loaded pattern to hexahedrons. The (0,0,0) key-point
+ * will be mapped into <theNode000Index>-th node of each volume.
+ * The (0,0,1) key-point will be mapped into <theNode001Index>-th
+ * node of each volume.
+ */
+ point_array ApplyToHexahedrons(in SMESH_Mesh theMesh,
+ in long_array theVolumesIDs,
+ in long theNode000Index,
+ in long theNode001Index);
+
/*!
* Create nodes and elements in <theMesh> using nodes
- * coordinates computed by either of Apply...() methods
+ * coordinates computed by either of Apply...() methods.
+ * If CreatePolygons is TRUE, replace adjacent faces by polygons
+ * to keep mesh conformity.
+ * If CreatePolyedrs is TRUE, replace adjacent volumes by polyedrs
+ * to keep mesh conformity.
*/
- boolean MakeMesh(in SMESH_Mesh theMesh);
+ boolean MakeMesh (in SMESH_Mesh theMesh,
+ in boolean CreatePolygons,
+ in boolean CreatePolyedrs);
/*!
* Return the loaded pattern in the string form to be saved in file
// Load(face)
ERR_LOADF_NARROW_FACE, // too narrow face
ERR_LOADF_CLOSED_FACE, // closed face
+ ERR_LOADF_CANT_PROJECT, // impossible to project nodes
// Load(volume)
ERR_LOADV_BAD_SHAPE, // volume is not a brick of 6 faces
ERR_LOADV_COMPUTE_PARAMS, // cant compute point parameters
/*!
* Return nodal connectivity of the elements of the pattern
+ * or of all elements to be crated
*/
- array_of_long_array GetElementPoints();
+ array_of_long_array GetElementPoints(in boolean all);
};
};