Version: 8.3.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

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

Constructor & Destructor Documentation

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

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

Copy constructor.

Parameters
other- other side

References myComponents, and TSideFace().

StdMeshers_PrismAsBlock::TSideFace::~TSideFace ( )

Deletes myComponents.

Member Function Documentation

const TopoDS_Edge& StdMeshers_PrismAsBlock::TSideFace::BaseEdge ( ) const
void StdMeshers_PrismAsBlock::TSideFace::dumpNodes ( int  nbNodes) const
int StdMeshers_PrismAsBlock::TSideFace::FaceID ( ) const
TParam2ColumnMap* StdMeshers_PrismAsBlock::TSideFace::GetColumns ( ) const
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().

TSideFace* StdMeshers_PrismAsBlock::TSideFace::GetComponent ( const int  i) const
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

References second.

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

Return boundary edge.

Parameters
edge- edge index
Return values
TopoDS_Edge- found edge

References BOTTOM_EDGE, Edge, SMESH_MesherHelper::GetCommonAncestor(), SMESH_MesherHelper::GetMesh(), SMESH_MesherHelper::GetSubShapeByNode(), StdMeshers_PrismAsBlock::myHelper, second, TOP_EDGE, V0_EDGE, and V1_EDGE.

SMESH_Mesh* StdMeshers_PrismAsBlock::TSideFace::GetMesh ( ) const
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

References Abs().

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

gp_XY StdMeshers_PrismAsBlock::TSideFace::GetNodeUV ( const TopoDS_Face &  F,
const SMDS_MeshNode n,
const SMDS_MeshNode n2 = 0 
) const
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().

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

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

int StdMeshers_PrismAsBlock::TSideFace::InsertSubShapes ( TBlockShapes shapeMap) const
bool StdMeshers_PrismAsBlock::TSideFace::IsComplex ( ) const
bool StdMeshers_PrismAsBlock::TSideFace::IsForward ( ) const
int StdMeshers_PrismAsBlock::TSideFace::NbComponents ( ) const
void StdMeshers_PrismAsBlock::TSideFace::SetComponent ( const int  i,
TSideFace c 
)
Adaptor3d_Surface* StdMeshers_PrismAsBlock::TSideFace::Surface ( ) const
gp_Pnt StdMeshers_PrismAsBlock::TSideFace::Value ( const Standard_Real  U,
const Standard_Real  V 
) const
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

TopoDS_Edge StdMeshers_PrismAsBlock::TSideFace::myBaseEdge
private

Referenced by TSideFace().

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

Referenced by TSideFace().

SMESH_MesherHelper StdMeshers_PrismAsBlock::TSideFace::myHelper
private

Referenced by TSideFace().

int StdMeshers_PrismAsBlock::TSideFace::myID
private

in-block ID

Referenced by TSideFace().

bool StdMeshers_PrismAsBlock::TSideFace::myIsForward
private

Referenced by TSideFace().

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

Referenced by TSideFace().

TParam2ColumnMap* StdMeshers_PrismAsBlock::TSideFace::myParamToColumnMap
private

Referenced by TSideFace().

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

Referenced by TSideFace(), and Value().

PSurface StdMeshers_PrismAsBlock::TSideFace::mySurface
private

Referenced by TSideFace(), and Value().