Version: 9.12.0
StdMeshers_Sweeper Struct Reference

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_MesherHelpermyHelper
 
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< TZColumnmyZColumns
 
StdMeshers_ProjectionUtils::DelaunayPtr myTopDelaunay
 
StdMeshers_ProjectionUtils::DelaunayPtr myBotDelaunay
 
TColStd_DataMapOfIntegerInteger myNodeID2ColID
 
std::vector< TopBotTrianglesmyTopBotTriangles
 

Detailed Description

Tool building internal nodes in a prism.

Member Typedef Documentation

◆ TZColumn

typedef std::vector< double > StdMeshers_Sweeper::TZColumn
private

Member Function Documentation

◆ bndPoint()

gp_XYZ StdMeshers_Sweeper::bndPoint ( int  iP,
int  z 
) const
private

References myBndColumns.

◆ CheckSameZ()

bool StdMeshers_Sweeper::CheckSameZ ( )

Check if all nodes of each layers have same logical Z.

Referenced by StdMeshers_Prism_3D::compute().

◆ ComputeNodesByTrsf()

bool StdMeshers_Sweeper::ComputeNodesByTrsf ( const double  tol,
const bool  allowHighBndError 
)

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().

◆ ComputeNodesOnStraight()

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().

◆ ComputeNodesOnStraightSameZ()

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().

◆ fillZColumn()

void StdMeshers_Sweeper::fillZColumn ( TZColumn zColumn,
TNodeColumn nodes 
)
staticprivate

Compute Z of nodes of a straight column.

◆ findDelaunayTriangles()

bool StdMeshers_Sweeper::findDelaunayTriangles ( )
private

◆ intPoint()

gp_XYZ StdMeshers_Sweeper::intPoint ( int  iP,
int  z 
) const
private

References myIntColumns.

◆ prepareTopBotDelaunay()

◆ projectIntPoints()

bool StdMeshers_Sweeper::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 
)
private

Field Documentation

◆ myBndColumns

std::vector< TNodeColumn* > StdMeshers_Sweeper::myBndColumns

◆ myBotDelaunay

StdMeshers_ProjectionUtils::DelaunayPtr StdMeshers_Sweeper::myBotDelaunay
private

◆ myBotFace

TopoDS_Face StdMeshers_Sweeper::myBotFace

◆ myHelper

SMESH_MesherHelper* StdMeshers_Sweeper::myHelper

◆ myIntColumns

std::vector< TNodeColumn* > StdMeshers_Sweeper::myIntColumns

◆ myNodeID2ColID

TColStd_DataMapOfIntegerInteger StdMeshers_Sweeper::myNodeID2ColID
private

◆ myTopBotTriangles

std::vector< TopBotTriangles> StdMeshers_Sweeper::myTopBotTriangles
private

◆ myTopDelaunay

StdMeshers_ProjectionUtils::DelaunayPtr StdMeshers_Sweeper::myTopDelaunay
private

◆ myTopFace

TopoDS_Face StdMeshers_Sweeper::myTopFace

◆ myZColumns

std::vector< TZColumn > StdMeshers_Sweeper::myZColumns
private