SALOME - SMESH
StdMeshers_FaceSide Class Reference

Represents a side of a quasi quadrilateral face. It can be composed of several edges. Gives access to geometry and 1D mesh of a side. More...

#include <StdMeshers_FaceSide.hxx>

Collaboration diagram for StdMeshers_FaceSide:
Collaboration graph

Public Member Functions

 StdMeshers_FaceSide (const TopoDS_Face &theFace, const TopoDS_Edge &theEdge, SMESH_Mesh *theMesh, const bool theIsForward, const bool theIgnoreMediumNodes)
 Wrap one edge. More...
 
 StdMeshers_FaceSide (const TopoDS_Face &theFace, std::list< TopoDS_Edge > &theEdges, SMESH_Mesh *theMesh, const bool theIsForward, const bool theIgnoreMediumNodes)
 Wrap several edges. Edges must be properly ordered and oriented. More...
 
 StdMeshers_FaceSide (const SMDS_MeshNode *theNode, const gp_Pnt2d thePnt2d, const StdMeshers_FaceSide *theSide)
 Wrap for vertex using data from other FaceSide. More...
 
void Reverse ()
 Change orientation of side geometry. More...
 
int NbPoints () const
 Return nb nodes on edges and vertices (+1 to be == GetUVPtStruct().size() ) More...
 
int NbSegments () const
 Return nb edges. More...
 
SMESH_MeshGetMesh () const
 Return mesh. More...
 
bool MissVertexNode () const
 Return true if there vertices without nodes. More...
 
const std::vector< UVPtStruct > & GetUVPtStruct (bool isXConst=0, double constValue=0) const
 Return detailed data on nodes. More...
 
const std::vector< UVPtStruct > & SimulateUVPtStruct (int nbSeg, bool isXConst=0, double constValue=0) const
 Simulates detailed data on nodes. More...
 
double Parameter (double U, TopoDS_Edge &edge) const
 Return edge and parameter on edge by normalized parameter. More...
 
gp_Pnt2d Value2d (double U) const
 Return UV by normalized parameter. More...
 
Adaptor2d_Curve2dGetCurve2d () const
 Creates a Adaptor2d_Curve2d to be used in SMESH_Block. More...
 
BRepAdaptor_CompCurve * GetCurve3d () const
 Creates a fully functional Adaptor_Curve. More...
 
int NbEdges () const
 Return nb of wrapped edges. More...
 
const TopoDS_Edge & Edge (int i) const
 Return i-th wrapped edge (count starts from zero) More...
 
TopoDS_Vertex FirstVertex (int i=0) const
 Return 1st vertex of the i-the edge (count starts from zero) More...
 
TopoDS_Vertex LastVertex (int i=-1) const
 Return last vertex of the i-the edge (count starts from zero) More...
 
double FirstParameter (int i) const
 Return first normalized parameter of the i-the edge (count starts from zero) More...
 
double LastParameter (int i) const
 Return ast normalized parameter of the i-the edge (count starts from zero) More...
 
double Length () const
 Return side length. More...
 
int EdgeIndex (double U) const
 Return edge index corresponding to normalized parameter. More...
 
void dump (const char *msg=0) const
 

Static Public Member Functions

static TSideVector GetFaceWires (const TopoDS_Face &theFace, SMESH_Mesh &theMesh, const bool theIgnoreMediumNodes, TError &theError)
 Return wires of a face as StdMeshers_FaceSide's. More...
 

Protected Attributes

std::vector< uvPtStructmyPoints
 
std::vector< uvPtStructmyFalsePoints
 
std::vector< TopoDS_Edge > myEdge
 
std::vector< Handle(Geom2d_Curve)> myC2d
 
std::vector< double > myFirst
 
std::vector< double > myLast
 
std::vector< double > myNormPar
 
double myLength
 
int myNbPonits
 
int myNbSegments
 
SMESH_MeshmyMesh
 
bool myMissingVertexNodes
 
bool myIgnoreMediumNodes
 
gp_Pnt2d myDefaultPnt2d
 

Detailed Description

Represents a side of a quasi quadrilateral face. It can be composed of several edges. Gives access to geometry and 1D mesh of a side.

Definition at line 77 of file StdMeshers_FaceSide.hxx.

Constructor & Destructor Documentation

◆ StdMeshers_FaceSide() [1/3]

StdMeshers_FaceSide::StdMeshers_FaceSide ( const TopoDS_Face &  theFace,
const TopoDS_Edge &  theEdge,
SMESH_Mesh theMesh,
const bool  theIsForward,
const bool  theIgnoreMediumNodes 
)

Wrap one edge.

◆ StdMeshers_FaceSide() [2/3]

StdMeshers_FaceSide::StdMeshers_FaceSide ( const TopoDS_Face &  theFace,
std::list< TopoDS_Edge > &  theEdges,
SMESH_Mesh theMesh,
const bool  theIsForward,
const bool  theIgnoreMediumNodes 
)

Wrap several edges. Edges must be properly ordered and oriented.

◆ StdMeshers_FaceSide() [3/3]

StdMeshers_FaceSide::StdMeshers_FaceSide ( const SMDS_MeshNode theNode,
const gp_Pnt2d  thePnt2d,
const StdMeshers_FaceSide theSide 
)

Wrap for vertex using data from other FaceSide.

Member Function Documentation

◆ GetFaceWires()

static TSideVector StdMeshers_FaceSide::GetFaceWires ( const TopoDS_Face &  theFace,
SMESH_Mesh theMesh,
const bool  theIgnoreMediumNodes,
TError theError 
)
static

Return wires of a face as StdMeshers_FaceSide's.

◆ Reverse()

void StdMeshers_FaceSide::Reverse ( )

Change orientation of side geometry.

◆ NbPoints()

int StdMeshers_FaceSide::NbPoints ( ) const

Return nb nodes on edges and vertices (+1 to be == GetUVPtStruct().size() )

Definition at line 117 of file StdMeshers_FaceSide.hxx.

◆ NbSegments()

int StdMeshers_FaceSide::NbSegments ( ) const

Return nb edges.

Definition at line 121 of file StdMeshers_FaceSide.hxx.

◆ GetMesh()

SMESH_Mesh* StdMeshers_FaceSide::GetMesh ( ) const

Return mesh.

Definition at line 125 of file StdMeshers_FaceSide.hxx.

◆ MissVertexNode()

bool StdMeshers_FaceSide::MissVertexNode ( ) const

Return true if there vertices without nodes.

Definition at line 129 of file StdMeshers_FaceSide.hxx.

◆ GetUVPtStruct()

const std::vector<UVPtStruct>& StdMeshers_FaceSide::GetUVPtStruct ( bool  isXConst = 0,
double  constValue = 0 
) const

Return detailed data on nodes.

Parameters
isXConst- true if normalized parameter X is constant
constValue- constant parameter value

Missing nodes are allowed only on internal vertices

◆ SimulateUVPtStruct()

const std::vector<UVPtStruct>& StdMeshers_FaceSide::SimulateUVPtStruct ( int  nbSeg,
bool  isXConst = 0,
double  constValue = 0 
) const

Simulates detailed data on nodes.

Parameters
isXConst- true if normalized parameter X is constant
constValue- constant parameter value

◆ Parameter()

double StdMeshers_FaceSide::Parameter ( double  U,
TopoDS_Edge &  edge 
) const

Return edge and parameter on edge by normalized parameter.

Parameters
U- the parameter
Return values
double- pameter on a curve

Definition at line 237 of file StdMeshers_FaceSide.hxx.

◆ Value2d()

gp_Pnt2d StdMeshers_FaceSide::Value2d ( double  U) const

Return UV by normalized parameter.

◆ GetCurve2d()

Adaptor2d_Curve2d* StdMeshers_FaceSide::GetCurve2d ( ) const

Creates a Adaptor2d_Curve2d to be used in SMESH_Block.

◆ GetCurve3d()

BRepAdaptor_CompCurve* StdMeshers_FaceSide::GetCurve3d ( ) const

Creates a fully functional Adaptor_Curve.

◆ NbEdges()

int StdMeshers_FaceSide::NbEdges ( ) const

Return nb of wrapped edges.

Definition at line 165 of file StdMeshers_FaceSide.hxx.

◆ Edge()

const TopoDS_Edge& StdMeshers_FaceSide::Edge ( int  i) const

Return i-th wrapped edge (count starts from zero)

Definition at line 169 of file StdMeshers_FaceSide.hxx.

◆ FirstVertex()

TopoDS_Vertex StdMeshers_FaceSide::FirstVertex ( int  i = 0) const

Return 1st vertex of the i-the edge (count starts from zero)

Return 1st vertex of the i-the edge.

Definition at line 252 of file StdMeshers_FaceSide.hxx.

◆ LastVertex()

TopoDS_Vertex StdMeshers_FaceSide::LastVertex ( int  i = -1) const

Return last vertex of the i-the edge (count starts from zero)

Return last vertex of the i-the edge.

Definition at line 263 of file StdMeshers_FaceSide.hxx.

◆ FirstParameter()

double StdMeshers_FaceSide::FirstParameter ( int  i) const

Return first normalized parameter of the i-the edge (count starts from zero)

Return first normalized parameter of the i-the edge.

Definition at line 274 of file StdMeshers_FaceSide.hxx.

◆ LastParameter()

double StdMeshers_FaceSide::LastParameter ( int  i) const

Return ast normalized parameter of the i-the edge (count starts from zero)

Return ast normalized parameter of the i-the edge.

Definition at line 285 of file StdMeshers_FaceSide.hxx.

◆ Length()

double StdMeshers_FaceSide::Length ( void  ) const

Return side length.

Definition at line 189 of file StdMeshers_FaceSide.hxx.

◆ EdgeIndex()

int StdMeshers_FaceSide::EdgeIndex ( double  U) const

Return edge index corresponding to normalized parameter.

Parameters
U- the parameter
Return values
int- index

Definition at line 222 of file StdMeshers_FaceSide.hxx.

◆ dump()

void StdMeshers_FaceSide::dump ( const char *  msg = 0) const

Field Documentation

◆ myPoints

std::vector<uvPtStruct> StdMeshers_FaceSide::myPoints
protected

Definition at line 201 of file StdMeshers_FaceSide.hxx.

◆ myFalsePoints

std::vector<uvPtStruct> StdMeshers_FaceSide::myFalsePoints
protected

Definition at line 201 of file StdMeshers_FaceSide.hxx.

◆ myEdge

std::vector<TopoDS_Edge> StdMeshers_FaceSide::myEdge
protected

Definition at line 202 of file StdMeshers_FaceSide.hxx.

◆ myC2d

std::vector<Handle(Geom2d_Curve)> StdMeshers_FaceSide::myC2d
protected

Definition at line 203 of file StdMeshers_FaceSide.hxx.

◆ myFirst

std::vector<double> StdMeshers_FaceSide::myFirst
protected

Definition at line 204 of file StdMeshers_FaceSide.hxx.

◆ myLast

std::vector<double> StdMeshers_FaceSide::myLast
protected

Definition at line 204 of file StdMeshers_FaceSide.hxx.

◆ myNormPar

std::vector<double> StdMeshers_FaceSide::myNormPar
protected

Definition at line 205 of file StdMeshers_FaceSide.hxx.

◆ myLength

double StdMeshers_FaceSide::myLength
protected

Definition at line 206 of file StdMeshers_FaceSide.hxx.

◆ myNbPonits

int StdMeshers_FaceSide::myNbPonits
protected

Definition at line 207 of file StdMeshers_FaceSide.hxx.

◆ myNbSegments

int StdMeshers_FaceSide::myNbSegments
protected

Definition at line 207 of file StdMeshers_FaceSide.hxx.

◆ myMesh

SMESH_Mesh* StdMeshers_FaceSide::myMesh
protected

Definition at line 208 of file StdMeshers_FaceSide.hxx.

◆ myMissingVertexNodes

bool StdMeshers_FaceSide::myMissingVertexNodes
protected

Definition at line 209 of file StdMeshers_FaceSide.hxx.

◆ myIgnoreMediumNodes

bool StdMeshers_FaceSide::myIgnoreMediumNodes
protected

Definition at line 209 of file StdMeshers_FaceSide.hxx.

◆ myDefaultPnt2d

gp_Pnt2d StdMeshers_FaceSide::myDefaultPnt2d
protected

Definition at line 210 of file StdMeshers_FaceSide.hxx.