Tool building internal nodes in a prism. More...
#include <StdMeshers_Prism_3D.hxx>
Data Structures | |
| struct | TopBotTriangles |
Public Member Functions | |
| bool | ComputeNodesByTrsf (const double tol, const bool allowHighBndError) |
| Create internal nodes of the prism by computing an affine transformation from layer to layer. More... | |
| bool | CheckSameZ () |
| Check if all nodes of each layers have same logical Z. More... | |
| bool | ComputeNodesOnStraightSameZ () |
| Create internal nodes of the prism all located on straight lines with the same distribution along the lines. More... | |
| bool | ComputeNodesOnStraight () |
| Create internal nodes of the prism all located on straight lines with different distributions along the lines. More... | |
Data Fields | |
| SMESH_MesherHelper * | myHelper |
| TopoDS_Face | myBotFace |
| TopoDS_Face | myTopFace |
| std::vector< TNodeColumn * > | myBndColumns |
| std::vector< TNodeColumn * > | myIntColumns |
Private Types | |
| typedef std::vector< double > | TZColumn |
Private Member Functions | |
| gp_XYZ | bndPoint (int iP, int z) const |
| gp_XYZ | intPoint (int iP, int z) const |
| bool | projectIntPoints (const std::vector< gp_XYZ > &fromBndPoints, const std::vector< gp_XYZ > &toBndPoints, const std::vector< gp_XYZ > &fromIntPoints, std::vector< gp_XYZ > &toIntPoints, const double r, StdMeshers_ProjectionUtils::TrsfFinder3D &trsf, std::vector< gp_XYZ > *bndError) |
| Projects internal nodes using transformation found by boundary nodes. More... | |
| void | prepareTopBotDelaunay () |
| Initialize *Delaunay members. More... | |
| bool | findDelaunayTriangles () |
| For each internal node column, find Delaunay triangles including it and Barycentric Coordinates within the triangles. More... | |
Static Private Member Functions | |
| static void | fillZColumn (TZColumn &zColumn, TNodeColumn &nodes) |
| Compute Z of nodes of a straight column. More... | |
Private Attributes | |
| std::vector< TZColumn > | myZColumns |
| StdMeshers_ProjectionUtils::DelaunayPtr | myTopDelaunay |
| StdMeshers_ProjectionUtils::DelaunayPtr | myBotDelaunay |
| TColStd_DataMapOfIntegerInteger | myNodeID2ColID |
| std::vector< TopBotTriangles > | myTopBotTriangles |
Tool building internal nodes in a prism.
|
private |
|
private |
References myBndColumns.
| bool StdMeshers_Sweeper::CheckSameZ | ( | ) |
Check if all nodes of each layers have same logical Z.
Referenced by StdMeshers_Prism_3D::compute().
Create internal nodes of the prism by computing an affine transformation from layer to layer.
References SMESH_MesherHelper::AddNode(), and StdMeshers_PrismAsBlock::myHelper.
Referenced by StdMeshers_Prism_3D::compute().
| bool StdMeshers_Sweeper::ComputeNodesOnStraight | ( | ) |
Create internal nodes of the prism all located on straight lines with different distributions along the lines.
References SMESH_MesherHelper::AddNode(), SMDS_MeshElement::GetID(), SMESH_MesherHelper::GetNodeUV(), and StdMeshers_PrismAsBlock::myHelper.
Referenced by StdMeshers_Prism_3D::compute().
| bool StdMeshers_Sweeper::ComputeNodesOnStraightSameZ | ( | ) |
Create internal nodes of the prism all located on straight lines with the same distribution along the lines.
References SMESH_MesherHelper::AddNode(), and StdMeshers_PrismAsBlock::myHelper.
Referenced by StdMeshers_Prism_3D::compute().
|
staticprivate |
Compute Z of nodes of a straight column.
|
private |
For each internal node column, find Delaunay triangles including it and Barycentric Coordinates within the triangles.
Fill in myTopBotTriangles
References SMDS_MeshElement::GetID(), SMESH_MesherHelper::GetNodeUV(), StdMeshers_Sweeper::TopBotTriangles::myBotBC, StdMeshers_Sweeper::TopBotTriangles::myBotTriaNodes, StdMeshers_PrismAsBlock::myHelper, StdMeshers_Sweeper::TopBotTriangles::myTopBC, StdMeshers_Sweeper::TopBotTriangles::myTopTriaNodes, and StdMeshers_Sweeper::TopBotTriangles::SetTopByBottom().
|
private |
References myIntColumns.
|
private |
Initialize *Delaunay members.
References SMESHDS_SubMesh::GetElements(), SMDS_MeshElement::GetID(), SMESH_MesherHelper::GetIsQuadratic(), SMESH_MesherHelper::GetMesh(), SMESH_MesherHelper::GetMeshDS(), SMDS_MeshElement::GetNode(), SMESH_MesherHelper::HasDegeneratedEdges(), SMESH_MesherHelper::HasSeam(), SMESHDS_Mesh::MeshElements(), StdMeshers_PrismAsBlock::myHelper, SMDS_MeshElement::NbCornerNodes(), SMDS_MeshElement::NbNodes(), StdMeshers_FaceSide::New(), SMDS_MeshElement::setIsMarked(), and SMESH_MesherHelper::SetSubShape().
|
private |
Projects internal nodes using transformation found by boundary nodes.
References StdMeshers_ProjectionUtils::TrsfFinder3D::IsIdentity(), StdMeshers_Sweeper::TopBotTriangles::myBotBC, StdMeshers_Sweeper::TopBotTriangles::myBotTriaNodes, StdMeshers_Sweeper::TopBotTriangles::myTopBC, StdMeshers_Sweeper::TopBotTriangles::myTopTriaNodes, StdMeshers_ProjectionUtils::TrsfFinder3D::Solve(), and StdMeshers_ProjectionUtils::TrsfFinder3D::Transform().
| std::vector< TNodeColumn* > StdMeshers_Sweeper::myBndColumns |
Referenced by bndPoint(), and StdMeshers_Prism_3D::compute().
|
private |
| TopoDS_Face StdMeshers_Sweeper::myBotFace |
Referenced by StdMeshers_Prism_3D::compute().
| SMESH_MesherHelper* StdMeshers_Sweeper::myHelper |
Referenced by StdMeshers_Prism_3D::compute().
| std::vector< TNodeColumn* > StdMeshers_Sweeper::myIntColumns |
Referenced by StdMeshers_Prism_3D::compute(), and intPoint().
|
private |
|
private |
|
private |
| TopoDS_Face StdMeshers_Sweeper::myTopFace |
Referenced by StdMeshers_Prism_3D::compute().
|
private |