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
Fix
[modules/smesh.git]
/
src
/
StdMeshers
/
StdMeshers_Quadrangle_2D.hxx
diff --git
a/src/StdMeshers/StdMeshers_Quadrangle_2D.hxx
b/src/StdMeshers/StdMeshers_Quadrangle_2D.hxx
index e200bc5af1b26554b27cb421fef6bfa220731499..a50a84b6dbab65160291245cdaf31c05a46dabe7 100644
(file)
--- a/
src/StdMeshers/StdMeshers_Quadrangle_2D.hxx
+++ b/
src/StdMeshers/StdMeshers_Quadrangle_2D.hxx
@@
-1,4
+1,4
@@
-// Copyright (C) 2007-201
2
CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-201
3
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
//
// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@
-27,32
+27,33
@@
#ifndef _SMESH_QUADRANGLE_2D_HXX_
#define _SMESH_QUADRANGLE_2D_HXX_
#ifndef _SMESH_QUADRANGLE_2D_HXX_
#define _SMESH_QUADRANGLE_2D_HXX_
+#include "SMESH_Algo.hxx"
+#include "SMESH_ProxyMesh.hxx"
#include "SMESH_StdMeshers.hxx"
#include "SMESH_StdMeshers.hxx"
-
#include "StdMeshers_QuadrangleParams.hxx"
#include "StdMeshers_QuadrangleParams.hxx"
-#include "SMESH_Algo.hxx"
-#include "Utils_SALOME_Exception.hxx"
-
#include <TopoDS_Face.hxx>
#include <TopoDS_Face.hxx>
+class SMDS_MeshNode;
class SMESH_Mesh;
class SMESH_MesherHelper;
class SMESH_Mesh;
class SMESH_MesherHelper;
+class SMESH_ProxyMesh;
class StdMeshers_FaceSide;
class StdMeshers_FaceSide;
-class SMDS_MeshNode;
struct uvPtStruct;
struct uvPtStruct;
-enum TSideID {
BOTTOM_SIDE=0, RIGHT_SIDE, TOP_SIDE, LEFT_SIDE, NB
_SIDES };
+enum TSideID {
QUAD_BOTTOM_SIDE=0, QUAD_RIGHT_SIDE, QUAD_TOP_SIDE, QUAD_LEFT_SIDE, NB_QUAD
_SIDES };
typedef uvPtStruct UVPtStruct;
typedef struct faceQuadStruct
{
std::vector< StdMeshers_FaceSide*> side;
typedef uvPtStruct UVPtStruct;
typedef struct faceQuadStruct
{
std::vector< StdMeshers_FaceSide*> side;
- bool isEdgeOut[4]; // true, if an
edge has more nodes, than the opposit
e
+ bool isEdgeOut[4]; // true, if an
EDGE has more nodes, than an opposite on
e
UVPtStruct* uv_grid;
TopoDS_Face face;
~faceQuadStruct();
UVPtStruct* uv_grid;
TopoDS_Face face;
~faceQuadStruct();
+ void shift( size_t nb, bool keepUnitOri );
+ typedef boost::shared_ptr<faceQuadStruct> Ptr;
} FaceQuadStruct;
class STDMESHERS_EXPORT StdMeshers_Quadrangle_2D: public SMESH_2D_Algo
} FaceQuadStruct;
class STDMESHERS_EXPORT StdMeshers_Quadrangle_2D: public SMESH_2D_Algo
@@
-61,22
+62,23
@@
public:
StdMeshers_Quadrangle_2D(int hypId, int studyId, SMESH_Gen* gen);
virtual ~StdMeshers_Quadrangle_2D();
StdMeshers_Quadrangle_2D(int hypId, int studyId, SMESH_Gen* gen);
virtual ~StdMeshers_Quadrangle_2D();
- virtual bool CheckHypothesis(SMESH_Mesh& aMesh,
+ virtual bool CheckHypothesis(SMESH_Mesh&
aMesh,
const TopoDS_Shape& aShape,
const TopoDS_Shape& aShape,
-
SMESH_Hypothesis::Hypothesis_Status&
aStatus);
+
Hypothesis_Status&
aStatus);
- virtual bool Compute(SMESH_Mesh& aMesh,
+ virtual bool Compute(SMESH_Mesh&
aMesh,
const TopoDS_Shape& aShape);
const TopoDS_Shape& aShape);
- virtual bool Evaluate(SMESH_Mesh & aMesh, const TopoDS_Shape & aShape,
- MapShapeNbElems& aResMap);
+ virtual bool Evaluate(SMESH_Mesh & aMesh,
+ const TopoDS_Shape & aShape,
+ MapShapeNbElems& aResMap);
- FaceQuadStruct
* CheckAnd2Dcompute(SMESH_Mesh&
aMesh,
- const TopoDS_Shape& aShape,
-
const bool
CreateQuadratic);
+ FaceQuadStruct
::Ptr CheckAnd2Dcompute(SMESH_Mesh&
aMesh,
+
const TopoDS_Shape& aShape,
+
const bool
CreateQuadratic);
- FaceQuadStruct
* CheckNbEdges(SMESH_Mesh&
aMesh,
- const TopoDS_Shape& aShape);
+ FaceQuadStruct
::Ptr CheckNbEdges(SMESH_Mesh&
aMesh,
+
const TopoDS_Shape& aShape);
protected:
protected:
@@
-86,9
+88,9
@@
protected:
std::vector<int>& aNbNodes,
bool& IsQuadratic);
std::vector<int>& aNbNodes,
bool& IsQuadratic);
- bool SetNormalizedGrid(SMESH_Mesh& aMesh,
- const TopoDS_Shape& aShape,
- FaceQuadStruct
*
& quad);
+ bool SetNormalizedGrid(SMESH_Mesh&
aMesh,
+ const TopoDS_Shape&
aShape,
+ FaceQuadStruct
::Ptr
& quad);
void SplitQuad(SMESHDS_Mesh *theMeshDS,
const int theFaceID,
void SplitQuad(SMESHDS_Mesh *theMeshDS,
const int theFaceID,
@@
-97,23
+99,23
@@
protected:
const SMDS_MeshNode* theNode3,
const SMDS_MeshNode* theNode4);
const SMDS_MeshNode* theNode3,
const SMDS_MeshNode* theNode4);
- bool ComputeQuadPref(SMESH_Mesh& aMesh,
+ bool ComputeQuadPref(SMESH_Mesh&
aMesh,
const TopoDS_Shape& aShape,
const TopoDS_Shape& aShape,
- FaceQuadStruct
*
quad);
+ FaceQuadStruct
::Ptr
quad);
- bool EvaluateQuadPref(SMESH_Mesh& aMesh,
+ bool EvaluateQuadPref(SMESH_Mesh&
aMesh,
const TopoDS_Shape& aShape,
const TopoDS_Shape& aShape,
- std::vector<int>& aNbNodes,
- MapShapeNbElems& aResMap,
- bool
I
sQuadratic);
+ std::vector<int>&
aNbNodes,
+ MapShapeNbElems&
aResMap,
+ bool
i
sQuadratic);
- bool ComputeReduced (SMESH_Mesh& aMesh,
+ bool ComputeReduced (SMESH_Mesh&
aMesh,
const TopoDS_Shape& aShape,
const TopoDS_Shape& aShape,
- FaceQuadStruct
*
quad);
+ FaceQuadStruct
::Ptr
quad);
- void UpdateDegenUV(FaceQuadStruct
*
quad);
+ void UpdateDegenUV(FaceQuadStruct
::Ptr
quad);
- void Smooth (FaceQuadStruct
*
quad);
+ void Smooth (FaceQuadStruct
::Ptr
quad);
// true if QuadranglePreference hypothesis is assigned that forces
// true if QuadranglePreference hypothesis is assigned that forces
@@
-124,13
+126,17
@@
protected:
bool myTrianglePreference;
bool myTrianglePreference;
- int myTriaVertexID;
+ int
myTriaVertexID;
-
StdMeshers_QuadType myQuadType
;
+
bool myNeedSmooth
;
- S
MESH_MesherHelper* myHelper; // tool for working with quadratic elements
+ S
tdMeshers_QuadType myQuadType;
- bool myNeedSmooth;
+ SMESH_MesherHelper* myHelper; // tool for working with quadratic elements
+
+ SMESH_ProxyMesh::Ptr myProxyMesh;
+
+ FaceQuadStruct::Ptr myQuadStruct;
};
#endif
};
#endif