27#ifndef StdMeshers_Penta_3D_HeaderFile
28#define StdMeshers_Penta_3D_HeaderFile
39#include <TColStd_MapOfInteger.hxx>
40#include <TopTools_IndexedMapOfOrientedShape.hxx>
41#include <TopoDS_Shell.hxx>
42#include <TopoDS_Vertex.hxx>
59 void Load (
const TopoDS_Shell& theShell);
61 void Load (
const TopoDS_Shell& theShell,
62 const TopoDS_Vertex& theV000,
63 const TopoDS_Vertex& theV001);
65 void ComputeParameters(
const gp_Pnt& thePnt,
68 void ComputeParameters(
const gp_Pnt& thePnt,
69 const TopoDS_Shape& theShape,
72 void ComputeParameters(
const double& theU,
73 const TopoDS_Shape& theShape,
76 void Point(
const gp_XYZ& theParams,
79 void Point(
const gp_XYZ& theParams,
80 const TopoDS_Shape& theShape,
83 int ShapeID(
const TopoDS_Shape& theShape);
85 const TopoDS_Shape& Shape(
const int theID);
89 bool IsForwardEdge(
const int theEdgeID);
91 int ErrorStatus()
const;
119 myXYZ.SetCoord(99., 99., 99.);
133 myShapeSupportID=theID;
137 return myShapeSupportID;
169#include <TopoDS_Shape.hxx>
178 bool Compute(
SMESH_Mesh& ,
const TopoDS_Shape& );
181 if (myErrorStatus->IsOK())
183 return myErrorStatus->myName;
187 return myErrorStatus;
199 const TopoDS_Face& theFace,
200 const TopoDS_Edge& theBaseEdge,
209 bool Evaluate(
SMESH_Mesh & aMesh,
const TopoDS_Shape & aShape,
221 double SetHorizEdgeXYZ(
const gp_XYZ& aBNXYZ,
223 std::vector<const SMDS_MeshNode*>*& aCol1,
224 std::vector<const SMDS_MeshNode*>*& aCol2);
226 void ShapeSupportID(
const bool theIsUpperLayer,
230 void FindNodeOnShape(
const TopoDS_Shape& aS,
231 const gp_XYZ& aParams,
235 void CreateNode(
const bool theIsUpperLayer,
236 const gp_XYZ& aParams,
239 void ClearMeshOnFxy1();
241 void MakeMeshOnFxy1();
243 void MakeConnectingMap();
245 int GetIndexOnLayer(
const int aID);
247 void MakeVolumeMesh();
250 myMesh=(
void *)&theMesh;
std::map< SMESH_subMesh *, std::vector< smIdType > > MapShapeNbElems
Definition: SMESH_Algo.hxx:63
boost::shared_ptr< SMESH_ComputeError > SMESH_ComputeErrorPtr
Definition: SMESH_ComputeError.hxx:38
#define STDMESHERS_EXPORT
Definition: SMESH_StdMeshers.hxx:38
std::map< double, std::vector< const SMDS_MeshNode * > > StdMeshers_IJNodeMap
Definition: StdMeshers_Penta_3D.hxx:51
Definition: SMDS_MeshNode.hxx:36
Definition: SMESHDS_Mesh.hxx:98
Definition: SMESH_Block.hxx:63
TShapeID
Definition: SMESH_Block.hxx:65
Definition: SMESH_Mesh.hxx:80
It helps meshers to add elements and provides other utilities.
Definition: SMESH_MesherHelper.hxx:84
Definition: StdMeshers_Penta_3D.hxx:171
void SetMesh(SMESH_Mesh &theMesh)
Definition: StdMeshers_Penta_3D.hxx:249
SMESH_MesherHelper * myTool
Definition: StdMeshers_Penta_3D.hxx:273
std::map< int, int > myConnectingMap
Definition: StdMeshers_Penta_3D.hxx:267
std::vector< StdMeshers_IJNodeMap > myWallNodesMaps
Definition: StdMeshers_Penta_3D.hxx:269
void * myMesh
Definition: StdMeshers_Penta_3D.hxx:260
int myJSize
Definition: StdMeshers_Penta_3D.hxx:265
std::vector< StdMeshers_TNode > myTNodes
Definition: StdMeshers_Penta_3D.hxx:263
SMESH_Mesh * GetMesh() const
Definition: StdMeshers_Penta_3D.hxx:253
double Tolerance() const
Definition: StdMeshers_Penta_3D.hxx:194
bool myCreateQuadratic
Definition: StdMeshers_Penta_3D.hxx:272
double myTol3D
Definition: StdMeshers_Penta_3D.hxx:266
SMESH_ComputeErrorPtr GetComputeError() const
Definition: StdMeshers_Penta_3D.hxx:186
StdMeshers_SMESHBlock myBlock
Definition: StdMeshers_Penta_3D.hxx:259
void SetTolerance(const double theTol3D)
Definition: StdMeshers_Penta_3D.hxx:190
int myISize
Definition: StdMeshers_Penta_3D.hxx:264
std::vector< gp_XYZ > myShapeXYZ
Definition: StdMeshers_Penta_3D.hxx:270
TopoDS_Shape myShape
Definition: StdMeshers_Penta_3D.hxx:258
int ErrorStatus() const
Definition: StdMeshers_Penta_3D.hxx:180
SMESH_ComputeErrorPtr myErrorStatus
Definition: StdMeshers_Penta_3D.hxx:261
Definition: StdMeshers_Penta_3D.hxx:53
SMESH_Block & Block()
Definition: StdMeshers_Penta_3D.hxx:87
TopoDS_Shell myShell
Definition: StdMeshers_Penta_3D.hxx:97
SMESH_Block myTBlock
Definition: StdMeshers_Penta_3D.hxx:99
TopoDS_Shape myEmptyShape
Definition: StdMeshers_Penta_3D.hxx:100
TopTools_IndexedMapOfOrientedShape myShapeIDMap
Definition: StdMeshers_Penta_3D.hxx:98
std::vector< int > myIsEdgeForward
Definition: StdMeshers_Penta_3D.hxx:101
int myErrorStatus
Definition: StdMeshers_Penta_3D.hxx:103
Definition: StdMeshers_Penta_3D.hxx:113
int myBaseNodeID
Definition: StdMeshers_Penta_3D.hxx:160
int BaseNodeID() const
Definition: StdMeshers_Penta_3D.hxx:152
StdMeshers_TNode()
Definition: StdMeshers_Penta_3D.hxx:117
int myShapeSupportID
Definition: StdMeshers_Penta_3D.hxx:158
int ShapeSupportID() const
Definition: StdMeshers_Penta_3D.hxx:136
void SetBaseNodeID(const int theID)
Definition: StdMeshers_Penta_3D.hxx:148
void SetNormCoord(const gp_XYZ &theXYZ)
Definition: StdMeshers_Penta_3D.hxx:140
gp_XYZ myXYZ
Definition: StdMeshers_Penta_3D.hxx:159
void SetNode(const SMDS_MeshNode *theNode)
Definition: StdMeshers_Penta_3D.hxx:124
const SMDS_MeshNode * Node() const
Definition: StdMeshers_Penta_3D.hxx:128
SMDS_MeshNode * myNode
Definition: StdMeshers_Penta_3D.hxx:157
void SetShapeSupportID(const int theID)
Definition: StdMeshers_Penta_3D.hxx:132
const gp_XYZ & NormCoord() const
Definition: StdMeshers_Penta_3D.hxx:144