Version: 9.16.0
StdMeshers_PrismAsBlock::TSideFace Class Reference

Class representing a part of a geom face or a union of seleral faces. More...

Inheritance diagram for StdMeshers_PrismAsBlock::TSideFace:

Public Member Functions

 TSideFace (SMESH_Mesh &mesh, const int faceID, const Prism_3D::TQuadList &quadList, const TopoDS_Edge &baseEdge, TParam2ColumnMap *columnsMap, const double first=0.0, const double last=1.0)
 Constructor. More...
 
 TSideFace (SMESH_Mesh &mesh, const std::vector< TSideFace * > &components, const std::vector< std::pair< double, double > > &params)
 
 TSideFace (const TSideFace &other)
 Copy constructor. More...
 
 ~TSideFace ()
 Deletes myComponents. More...
 
bool IsComplex () const
 
int FaceID () const
 
SMESH_MeshGetMesh () const
 
TParam2ColumnMapGetColumns () const
 
gp_XY GetNodeUV (const TopoDS_Face &F, const SMDS_MeshNode *n, const SMDS_MeshNode *n2=0) const
 
const TopoDS_Edge & BaseEdge () const
 
int ColumnHeight () const
 
double GetColumns (const double U, TParam2ColumnIt &col1, TParam2ColumnIt &col2) const
 Find node columns for a parameter. More...
 
void GetNodesAtZ (const int Z, std::map< double, const SMDS_MeshNode * > &nodes) const
 Return all nodes at a given height together with their normalized parameters. More...
 
int NbComponents () const
 
TSideFaceGetComponent (const int i) const
 
void SetComponent (const int i, TSideFace *c)
 
TSideFaceGetComponent (const double U, double &localU) const
 Return a component corresponding to parameter. More...
 
bool IsForward () const
 
Adaptor3d_SurfaceSurface () const
 
bool GetPCurves (Adaptor2d_Curve2d *pcurv[4]) const
 Return pcurves. More...
 
Adaptor2d_Curve2dHorizPCurve (const bool isTop, const TopoDS_Face &horFace) const
 Returns geometry of pcurve on a horizontal face. More...
 
Adaptor3d_CurveHorizCurve (const bool isTop) const
 Return geometry of the top or bottom curve. More...
 
Adaptor3d_CurveVertiCurve (const bool isMax) const
 Return geometry of the vertical curve. More...
 
TopoDS_Edge GetEdge (const int edge) const
 Return boundary edge. More...
 
int InsertSubShapes (TBlockShapes &shapeMap) const
 Fill block sub-shapes. More...
 
gp_Pnt Value (const Standard_Real U, const Standard_Real V) const
 Return coordinates by normalized params. More...
 
void dumpNodes (int nbNodes) const
 Dump ids of nodes of sides. More...
 

Private Types

typedef boost::shared_ptr< BRepAdaptor_Surface > PSurface
 

Private Attributes

int myID
 in-block ID More...
 
TParam2ColumnMapmyParamToColumnMap
 
PSurface mySurface
 
TopoDS_Edge myBaseEdge
 
std::map< int, PSurfacemyShapeID2Surf
 
std::vector< std::pair< double, double > > myParams
 
bool myIsForward
 
std::vector< TSideFace * > myComponents
 
SMESH_MesherHelper myHelper
 

Detailed Description

Class representing a part of a geom face or a union of seleral faces.

Or just an ordinary geom face

It's parametrization is within [0,1] range. It redefines Adaptor3d_Surface::Value(U,V) where U and V are within [0,1]

Member Typedef Documentation

◆ PSurface

typedef boost::shared_ptr<BRepAdaptor_Surface> StdMeshers_PrismAsBlock::TSideFace::PSurface
private

Constructor & Destructor Documentation

◆ TSideFace() [1/3]

StdMeshers_PrismAsBlock::TSideFace::TSideFace ( SMESH_Mesh mesh,
const int  faceID,
const Prism_3D::TQuadList quadList,
const TopoDS_Edge &  baseEdge,
TParam2ColumnMap columnsMap,
const double  first = 0.0,
const double  last = 1.0 
)

Constructor.

Parameters
faceID- in-block ID
face- geom FACE
baseEdge- EDGE proreply oriented in the bottom EDGE !!!
columnsMap- map of node columns
first- first normalized param
last- last normalized param

References SMESH_MesherHelper::GetMeshDS(), StdMeshers_PrismAsBlock::IsForwardEdge(), myBaseEdge, myHelper, myID, myIsForward, myParams, myParamToColumnMap, myShapeID2Surf, mySurface, SMESH_MesherHelper::SetSubShape(), and SMESHDS_Mesh::ShapeToIndex().

Referenced by TSideFace().

◆ TSideFace() [2/3]

StdMeshers_PrismAsBlock::TSideFace::TSideFace ( SMESH_Mesh mesh,
const std::vector< TSideFace * > &  components,
const std::vector< std::pair< double, double > > &  params 
)

◆ TSideFace() [3/3]

StdMeshers_PrismAsBlock::TSideFace::TSideFace ( const TSideFace other)

Copy constructor.

Parameters
other- other side

References myComponents, and TSideFace().

◆ ~TSideFace()

StdMeshers_PrismAsBlock::TSideFace::~TSideFace ( )

Deletes myComponents.

Member Function Documentation

◆ BaseEdge()

const TopoDS_Edge & StdMeshers_PrismAsBlock::TSideFace::BaseEdge ( ) const

◆ ColumnHeight()

◆ dumpNodes()

void StdMeshers_PrismAsBlock::TSideFace::dumpNodes ( int  nbNodes) const

◆ FaceID()

int StdMeshers_PrismAsBlock::TSideFace::FaceID ( ) const

◆ GetColumns() [1/2]

TParam2ColumnMap * StdMeshers_PrismAsBlock::TSideFace::GetColumns ( ) const

◆ GetColumns() [2/2]

double StdMeshers_PrismAsBlock::TSideFace::GetColumns ( const double  U,
TParam2ColumnIt col1,
TParam2ColumnIt col2 
) const

Find node columns for a parameter.

Parameters
U- parameter along a horizontal edge
col1- the 1st found column
col2- the 2nd found column
Return values
r- normalized position of U between the found columns

References GetColumns().

◆ GetComponent() [1/2]

StdMeshers_PrismAsBlock::TSideFace * StdMeshers_PrismAsBlock::TSideFace::GetComponent ( const double  U,
double &  localU 
) const

Return a component corresponding to parameter.

Parameters
U- parameter along a horizontal size
localU- parameter along a horizontal size of a component
Return values
TSideFace*- found component

◆ GetComponent() [2/2]

TSideFace * StdMeshers_PrismAsBlock::TSideFace::GetComponent ( const int  i) const

◆ GetEdge()

TopoDS_Edge StdMeshers_PrismAsBlock::TSideFace::GetEdge ( const int  iEdge) const

◆ GetMesh()

SMESH_Mesh * StdMeshers_PrismAsBlock::TSideFace::GetMesh ( ) const

◆ GetNodesAtZ()

void StdMeshers_PrismAsBlock::TSideFace::GetNodesAtZ ( const int  Z,
std::map< double, const SMDS_MeshNode * > &  nodes 
) const

Return all nodes at a given height together with their normalized parameters.

Parameters
[in]Z- the height of interest
[out]nodes- map of parameter to node

Referenced by StdMeshers_PrismAsBlock::TPCurveOnHorFaceAdaptor::TPCurveOnHorFaceAdaptor().

◆ GetNodeUV()

gp_XY StdMeshers_PrismAsBlock::TSideFace::GetNodeUV ( const TopoDS_Face &  F,
const SMDS_MeshNode n,
const SMDS_MeshNode n2 = 0 
) const

◆ GetPCurves()

bool StdMeshers_PrismAsBlock::TSideFace::GetPCurves ( Adaptor2d_Curve2d pcurv[4]) const

Return pcurves.

Parameters
pcurv- array of 4 pcurves
Return values
bool- is a success

References BOTTOM_EDGE, Handle(), TOP_EDGE, V0_EDGE, and V1_EDGE.

Referenced by StdMeshers_PrismAsBlock::Init().

◆ HorizCurve()

Adaptor3d_Curve * StdMeshers_PrismAsBlock::TSideFace::HorizCurve ( const bool  isTop) const

Return geometry of the top or bottom curve.

Parameters
isTop-
Return values
Adaptor3d_Curve*-

Referenced by StdMeshers_PrismAsBlock::Init().

◆ HorizPCurve()

Adaptor2d_Curve2d * StdMeshers_PrismAsBlock::TSideFace::HorizPCurve ( const bool  isTop,
const TopoDS_Face &  horFace 
) const

Returns geometry of pcurve on a horizontal face.

Parameters
isTop- is top or bottom face
horFace- a horizontal face
Return values
Adaptor2d_Curve2d*- curve adaptor

Referenced by StdMeshers_PrismAsBlock::Init().

◆ InsertSubShapes()

int StdMeshers_PrismAsBlock::TSideFace::InsertSubShapes ( TBlockShapes shapeMap) const

◆ IsComplex()

bool StdMeshers_PrismAsBlock::TSideFace::IsComplex ( ) const

◆ IsForward()

bool StdMeshers_PrismAsBlock::TSideFace::IsForward ( ) const

◆ NbComponents()

int StdMeshers_PrismAsBlock::TSideFace::NbComponents ( ) const

◆ SetComponent()

void StdMeshers_PrismAsBlock::TSideFace::SetComponent ( const int  i,
TSideFace c 
)

◆ Surface()

Adaptor3d_Surface * StdMeshers_PrismAsBlock::TSideFace::Surface ( ) const

◆ Value()

gp_Pnt StdMeshers_PrismAsBlock::TSideFace::Value ( const Standard_Real  U,
const Standard_Real  V 
) const

◆ VertiCurve()

Adaptor3d_Curve * StdMeshers_PrismAsBlock::TSideFace::VertiCurve ( const bool  isMax) const

Return geometry of the vertical curve.

Parameters
isMax- true means curve located closer to (1,1,1) block point
Return values
Adaptor3d_Curve*- curve adaptor

Referenced by StdMeshers_PrismAsBlock::Init().

Field Documentation

◆ myBaseEdge

TopoDS_Edge StdMeshers_PrismAsBlock::TSideFace::myBaseEdge
private

Referenced by TSideFace().

◆ myComponents

std::vector< TSideFace* > StdMeshers_PrismAsBlock::TSideFace::myComponents
private

Referenced by TSideFace().

◆ myHelper

SMESH_MesherHelper StdMeshers_PrismAsBlock::TSideFace::myHelper
private

Referenced by TSideFace().

◆ myID

int StdMeshers_PrismAsBlock::TSideFace::myID
private

in-block ID

Referenced by TSideFace().

◆ myIsForward

bool StdMeshers_PrismAsBlock::TSideFace::myIsForward
private

Referenced by TSideFace().

◆ myParams

std::vector< std::pair< double, double> > StdMeshers_PrismAsBlock::TSideFace::myParams
private

Referenced by TSideFace().

◆ myParamToColumnMap

TParam2ColumnMap* StdMeshers_PrismAsBlock::TSideFace::myParamToColumnMap
private

Referenced by TSideFace().

◆ myShapeID2Surf

std::map< int, PSurface > StdMeshers_PrismAsBlock::TSideFace::myShapeID2Surf
private

Referenced by TSideFace(), and Value().

◆ mySurface

PSurface StdMeshers_PrismAsBlock::TSideFace::mySurface
private

Referenced by TSideFace(), and Value().