SMESH::Controls::NumericalFunctorPtr theCriterion);
- enum SplitVolumToTetraFlags { HEXA_TO_5 = 1, HEXA_TO_6 = 2 };//!<arg of SplitVolumesIntoTetra()
+ enum SplitVolumToTetraFlags { HEXA_TO_5 = 1, HEXA_TO_6 = 2, HEXA_TO_24 = 3 };//!<arg of SplitVolumesIntoTetra()
/*!
* \brief Split volumic elements into tetrahedra.
*/
// Move or copy theElements applying theTrsf to their nodes
- /*!
- * Generate new elements by extrusion of theElements
- * param theElems - list of elements for scale
- * param thePoint - base point for scale
- * param theScaleFact - scale factors for axises
- * param theCopy - allows copying the translated elements
- * param theMakeGroups - forces the generation of new groups from existing ones
- * param theTargetMesh - the name of the newly created mesh
- * return instance of Mesh class
- */
- PGroupIDs Scale (TIDSortedElemSet& theElements,
- const gp_Pnt& thePoint,
- const std::list<double>& theScaleFact,
- const bool theCopy,
- const bool theMakeGroups,
- SMESH_Mesh* theTargetMesh=0);
-
typedef std::list< std::list< const SMDS_MeshNode* > > TListOfListOfNodes;
void FindCoincidentNodes (TIDSortedNodeSet & theNodes,
// theBetweenNode1 - theBetweenNode2, between theBetweenNode1 and theBetweenNode2.
void ConvertToQuadratic(const bool theForce3d);
- //converts all mesh to quadratic one, deletes old elements, replacing
- //them with quadratic ones with the same id.
+ // Converts all mesh to quadratic one, deletes old elements, replacing
+ // them with quadratic ones with the same id.
+ // If theForce3d = 1; this results in the medium node lying at the
+ // middle of the line segments connecting start and end node of a mesh
+ // element
+ // If theForce3d = 0; this results in the medium node lying at the
+ // geometrical edge from which the mesh element is built
bool ConvertFromQuadratic();
- //converts all mesh from quadratic to ordinary ones, deletes old quadratic elements, replacing
- //them with ordinary mesh elements with the same id.
+ // Converts all mesh from quadratic to ordinary ones, deletes old quadratic elements, replacing
+ // them with ordinary mesh elements with the same id.
+ // Returns true in case of success, false otherwise.
static void AddToSameGroups (const SMDS_MeshElement* elemToAdd,
const SMDS_MeshElement* elemInGroups,
const TIDSortedElemSet& theNodesNot,
const TopoDS_Shape& theShape );
- /*!
- * \brief Generated skin mesh (containing 2D cells) from 3D mesh
- * The created 2D mesh elements based on nodes of free faces of boundary volumes
- * \return TRUE if operation has been completed successfully, FALSE otherwise
- */
bool Make2DMeshFrom3D();
-
+
+ enum Bnd_Dimension { BND_2DFROM3D, BND_1DFROM3D, BND_1DFROM2D };
+
+ void MakeBoundaryMesh(const TIDSortedElemSet& elements,
+ Bnd_Dimension dimension,
+ SMESH_Group* group = 0,
+ SMESH_Mesh* targetMesh = 0,
+ bool toCopyElements = false,
+ bool toCopyExistingBondary = false);
+
private:
/*!