Salome HOME
projects
/
modules
/
smesh.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
bos #29212 [CEA 29181] Body fitter on compounds incomplete mesh
[modules/smesh.git]
/
src
/
SMESH
/
SMESH_MesherHelper.hxx
diff --git
a/src/SMESH/SMESH_MesherHelper.hxx
b/src/SMESH/SMESH_MesherHelper.hxx
index 3493bd5380a49fdbfc4ccec435ac97ec91706264..0a4bd8b0dcfa2039fcaa39c4d8bd86948904dd2e 100644
(file)
--- a/
src/SMESH/SMESH_MesherHelper.hxx
+++ b/
src/SMESH/SMESH_MesherHelper.hxx
@@
-100,7
+100,7
@@
class SMESH_EXPORT SMESH_MesherHelper
* \brief Load nodes bound to face into a map of node columns
* \param theParam2ColumnMap - map of node columns to fill
* \param theFace - the face on which nodes are searched for
* \brief Load nodes bound to face into a map of node columns
* \param theParam2ColumnMap - map of node columns to fill
* \param theFace - the face on which nodes are searched for
- * \param theBaseSide - the edges holding nodes on which columns
' bases
+ * \param theBaseSide - the edges holding nodes on which columns
base
* \param theMesh - the mesh containing nodes
* \retval bool - false if something is wrong
*
* \param theMesh - the mesh containing nodes
* \retval bool - false if something is wrong
*
@@
-127,6
+127,13
@@
class SMESH_EXPORT SMESH_MesherHelper
*/
static bool IsStructured( SMESH_subMesh* faceSM );
*/
static bool IsStructured( SMESH_subMesh* faceSM );
+ /*!
+ * \brief Return true if a node is at a corner of a 2D structured mesh of FACE
+ */
+ static bool IsCornerOfStructure( const SMDS_MeshNode* n,
+ const SMESHDS_SubMesh* faceSM,
+ SMESH_MesherHelper& faceAnalyser );
+
/*!
* \brief Return true if 2D mesh on FACE is distored
*/
/*!
* \brief Return true if 2D mesh on FACE is distored
*/
@@
-343,13
+350,13
@@
public:
/*!
* Creates a node (!Note ID before u=0.,v0.)
*/
/*!
* Creates a node (!Note ID before u=0.,v0.)
*/
- SMDS_MeshNode* AddNode(double x, double y, double z,
int
ID = 0, double u=0., double v=0.);
+ SMDS_MeshNode* AddNode(double x, double y, double z,
smIdType
ID = 0, double u=0., double v=0.);
/*!
* Creates quadratic or linear edge
*/
SMDS_MeshEdge* AddEdge(const SMDS_MeshNode* n1,
const SMDS_MeshNode* n2,
/*!
* Creates quadratic or linear edge
*/
SMDS_MeshEdge* AddEdge(const SMDS_MeshNode* n1,
const SMDS_MeshNode* n2,
- const
int
id = 0,
+ const
smIdType
id = 0,
const bool force3d = true);
/*!
* Creates quadratic or linear triangle
const bool force3d = true);
/*!
* Creates quadratic or linear triangle
@@
-357,7
+364,7
@@
public:
SMDS_MeshFace* AddFace(const SMDS_MeshNode* n1,
const SMDS_MeshNode* n2,
const SMDS_MeshNode* n3,
SMDS_MeshFace* AddFace(const SMDS_MeshNode* n1,
const SMDS_MeshNode* n2,
const SMDS_MeshNode* n3,
- const
int
id=0,
+ const
smIdType
id=0,
const bool force3d = false);
/*!
* Creates bi-quadratic, quadratic or linear quadrangle
const bool force3d = false);
/*!
* Creates bi-quadratic, quadratic or linear quadrangle
@@
-366,13
+373,13
@@
public:
const SMDS_MeshNode* n2,
const SMDS_MeshNode* n3,
const SMDS_MeshNode* n4,
const SMDS_MeshNode* n2,
const SMDS_MeshNode* n3,
const SMDS_MeshNode* n4,
- const
int
id = 0,
+ const
smIdType
id = 0,
const bool force3d = false);
/*!
* Creates polygon, with additional nodes in quadratic mesh
*/
SMDS_MeshFace* AddPolygonalFace (const std::vector<const SMDS_MeshNode*>& nodes,
const bool force3d = false);
/*!
* Creates polygon, with additional nodes in quadratic mesh
*/
SMDS_MeshFace* AddPolygonalFace (const std::vector<const SMDS_MeshNode*>& nodes,
- const
int
id = 0,
+ const
smIdType
id = 0,
const bool force3d = false);
/*!
* Creates quadratic or linear tetrahedron
const bool force3d = false);
/*!
* Creates quadratic or linear tetrahedron
@@
-381,7
+388,7
@@
public:
const SMDS_MeshNode* n2,
const SMDS_MeshNode* n3,
const SMDS_MeshNode* n4,
const SMDS_MeshNode* n2,
const SMDS_MeshNode* n3,
const SMDS_MeshNode* n4,
- const
int
id = 0,
+ const
smIdType
id = 0,
const bool force3d = true);
/*!
* Creates quadratic or linear pyramid
const bool force3d = true);
/*!
* Creates quadratic or linear pyramid
@@
-391,7
+398,7
@@
public:
const SMDS_MeshNode* n3,
const SMDS_MeshNode* n4,
const SMDS_MeshNode* n5,
const SMDS_MeshNode* n3,
const SMDS_MeshNode* n4,
const SMDS_MeshNode* n5,
- const
int
id = 0,
+ const
smIdType
id = 0,
const bool force3d = true);
/*!
* Creates quadratic or linear pentahedron
const bool force3d = true);
/*!
* Creates quadratic or linear pentahedron
@@
-402,7
+409,7
@@
public:
const SMDS_MeshNode* n4,
const SMDS_MeshNode* n5,
const SMDS_MeshNode* n6,
const SMDS_MeshNode* n4,
const SMDS_MeshNode* n5,
const SMDS_MeshNode* n6,
- const
int
id = 0,
+ const
smIdType
id = 0,
const bool force3d = true);
/*!
* Creates bi-quadratic, quadratic or linear hexahedron
const bool force3d = true);
/*!
* Creates bi-quadratic, quadratic or linear hexahedron
@@
-415,7
+422,7
@@
public:
const SMDS_MeshNode* n6,
const SMDS_MeshNode* n7,
const SMDS_MeshNode* n8,
const SMDS_MeshNode* n6,
const SMDS_MeshNode* n7,
const SMDS_MeshNode* n8,
- const
int
id = 0,
+ const
smIdType
id = 0,
bool force3d = true);
/*!
bool force3d = true);
/*!
@@
-433,7
+440,7
@@
public:
const SMDS_MeshNode* n10,
const SMDS_MeshNode* n11,
const SMDS_MeshNode* n12,
const SMDS_MeshNode* n10,
const SMDS_MeshNode* n11,
const SMDS_MeshNode* n12,
- const
int
id = 0,
+ const
smIdType
id = 0,
bool force3d = true);
/*!
bool force3d = true);
/*!
@@
-441,7
+448,7
@@
public:
*/
SMDS_MeshVolume* AddPolyhedralVolume (const std::vector<const SMDS_MeshNode*>& nodes,
const std::vector<int>& quantities,
*/
SMDS_MeshVolume* AddPolyhedralVolume (const std::vector<const SMDS_MeshNode*>& nodes,
const std::vector<int>& quantities,
- const
int
ID=0,
+ const
smIdType
ID=0,
const bool force3d = true);
/*!
* \brief Enables fixing node parameters on EDGEs and FACEs by
const bool force3d = true);
/*!
* \brief Enables fixing node parameters on EDGEs and FACEs by
@@
-547,11
+554,20
@@
public:
bool GetNodeUVneedInFaceNode(const TopoDS_Face& F = TopoDS_Face()) const;
/*!
bool GetNodeUVneedInFaceNode(const TopoDS_Face& F = TopoDS_Face()) const;
/*!
- * \brief Return projector initialized by given face without location
, which is returned
+ * \brief Return projector initialized by given face without location
*/
GeomAPI_ProjectPointOnSurf& GetProjector(const TopoDS_Face& F,
TopLoc_Location& loc,
*/
GeomAPI_ProjectPointOnSurf& GetProjector(const TopoDS_Face& F,
TopLoc_Location& loc,
- double tol=0 ) const;
+ double tol=0 ) const;
+ /*!
+ * \brief Return projector initialized by given face
+ */
+ GeomAPI_ProjectPointOnSurf& GetProjector(const TopoDS_Face& F,
+ double tol=0 ) const;
+ /*!
+ * \brief Return projector initialized by given EDGE
+ */
+ GeomAPI_ProjectPointOnCurve& GetPCProjector(const TopoDS_Edge& E ) const;
/*!
* \brief Return a cached ShapeAnalysis_Surface of a FACE
*/
/*!
* \brief Return a cached ShapeAnalysis_Surface of a FACE
*/
@@
-753,7
+769,7
@@
public:
SMESH_MesherHelper (const SMESH_MesherHelper& theOther);
// key of a map of bi-quadratic face to it's central node
SMESH_MesherHelper (const SMESH_MesherHelper& theOther);
// key of a map of bi-quadratic face to it's central node
- struct TBiQuad: public std::pair<
int, std::pair<int, int
> >
+ struct TBiQuad: public std::pair<
smIdType, std::pair<smIdType, smIdType
> >
{
TBiQuad(const SMDS_MeshNode* n1,
const SMDS_MeshNode* n2,
{
TBiQuad(const SMDS_MeshNode* n1,
const SMDS_MeshNode* n2,