mirror of
https://git.salome-platform.org/gitpub/modules/smesh.git
synced 2025-01-31 06:10:33 +05:00
0021893: EDF 2133 SMESH : Improvement of 3D extrusion algorithm
+ static bool IsSameElemGeometry(const SMESHDS_SubMesh* smDS, + SMDSAbs_GeometryType shape, + const bool nullSubMeshRes = true); + static bool IsStructured( SMESH_subMesh* faceSM ); + static int Count(const TopoDS_Shape& shape, + const TopAbs_ShapeEnum type, + const bool ignoreSame); - void SetElementsOnShape(bool toSet) { mySetElemOnShape = toSet; } + bool SetElementsOnShape(bool toSet) + { bool res = mySetElemOnShape; mySetElemOnShape = toSet; return res; }
This commit is contained in:
parent
6390e82888
commit
6cc402aa1b
@ -58,12 +58,15 @@ typedef gp_XY (*xyFunPtr)(const gp_XY& uv1, const gp_XY& uv2);
|
|||||||
|
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
/*!
|
/*!
|
||||||
* \brief It helps meshers to add elements
|
* \brief It helps meshers to add elements and provides other utilities
|
||||||
*
|
*
|
||||||
* It allow meshers not to care about creation of medium nodes
|
* - It allows meshers not to care about creation of medium nodes
|
||||||
* when filling a quadratic mesh. Helper does it itself.
|
* when filling a quadratic mesh. Helper does it itself.
|
||||||
* It defines degree of elements to create when IsQuadraticSubMesh()
|
* It defines order of elements to create when IsQuadraticSubMesh()
|
||||||
* is called.
|
* is called.
|
||||||
|
* - It provides information on a shape it is initialized with:
|
||||||
|
* periodicity, presence of singularities etc.
|
||||||
|
* - ...
|
||||||
*/
|
*/
|
||||||
//=======================================================================
|
//=======================================================================
|
||||||
|
|
||||||
@ -73,13 +76,15 @@ public:
|
|||||||
// ---------- PUBLIC UTILITIES ----------
|
// ---------- PUBLIC UTILITIES ----------
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Returns true if given node is medium
|
* \brief Returns true if all elements of a sub-mesh are of same shape
|
||||||
* \param n - node to check
|
* \param smDS - sub-mesh to check elements of
|
||||||
* \param typeToCheck - type of elements containing the node to ask about node status
|
* \param shape - expected shape of elements
|
||||||
|
* \param nullSubMeshRes - result value for the case of smDS == NULL
|
||||||
* \retval bool - check result
|
* \retval bool - check result
|
||||||
*/
|
*/
|
||||||
static bool IsMedium(const SMDS_MeshNode* node,
|
static bool IsSameElemGeometry(const SMESHDS_SubMesh* smDS,
|
||||||
const SMDSAbs_ElementType typeToCheck = SMDSAbs_All);
|
SMDSAbs_GeometryType shape,
|
||||||
|
const bool nullSubMeshRes = true);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Load nodes bound to face into a map of node columns
|
* \brief Load nodes bound to face into a map of node columns
|
||||||
@ -107,6 +112,19 @@ public:
|
|||||||
const TopoDS_Edge& theBaseEdge,
|
const TopoDS_Edge& theBaseEdge,
|
||||||
SMESHDS_Mesh* theMesh,
|
SMESHDS_Mesh* theMesh,
|
||||||
SMESH_ProxyMesh* theProxyMesh=0);
|
SMESH_ProxyMesh* theProxyMesh=0);
|
||||||
|
/*!
|
||||||
|
* \brief Return true if 2D mesh on FACE is structured
|
||||||
|
*/
|
||||||
|
static bool IsStructured( SMESH_subMesh* faceSM );
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Returns true if given node is medium
|
||||||
|
* \param n - node to check
|
||||||
|
* \param typeToCheck - type of elements containing the node to ask about node status
|
||||||
|
* \retval bool - check result
|
||||||
|
*/
|
||||||
|
static bool IsMedium(const SMDS_MeshNode* node,
|
||||||
|
const SMDSAbs_ElementType typeToCheck = SMDSAbs_All);
|
||||||
/*!
|
/*!
|
||||||
* \brief Return support shape of a node
|
* \brief Return support shape of a node
|
||||||
* \param node - the node
|
* \param node - the node
|
||||||
@ -128,6 +146,17 @@ public:
|
|||||||
return ind;
|
return ind;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Count nb of sub-shapes
|
||||||
|
* \param shape - the shape
|
||||||
|
* \param type - the type of sub-shapes to count
|
||||||
|
* \param ignoreSame - if true, use map not to count same shapes, esle use explorer
|
||||||
|
* \retval int - the calculated number
|
||||||
|
*/
|
||||||
|
static int Count(const TopoDS_Shape& shape,
|
||||||
|
const TopAbs_ShapeEnum type,
|
||||||
|
const bool ignoreSame);
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Return number of unique ancestors of the shape
|
* \brief Return number of unique ancestors of the shape
|
||||||
*/
|
*/
|
||||||
@ -204,7 +233,8 @@ public:
|
|||||||
* or the next methods. By defaul elements are set on the shape if
|
* or the next methods. By defaul elements are set on the shape if
|
||||||
* a mesh has no shape to be meshed
|
* a mesh has no shape to be meshed
|
||||||
*/
|
*/
|
||||||
void SetElementsOnShape(bool toSet) { mySetElemOnShape = toSet; }
|
bool SetElementsOnShape(bool toSet)
|
||||||
|
{ bool res = mySetElemOnShape; mySetElemOnShape = toSet; return res; }
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* \brief Set shape to make elements on without calling IsQuadraticSubMesh()
|
* \brief Set shape to make elements on without calling IsQuadraticSubMesh()
|
||||||
|
Loading…
Reference in New Issue
Block a user