SALOME - SMESH
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
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.
 
 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 (const SMDS_MeshNode *theNode, const gp_Pnt2d thePnt2d, const StdMeshers_FaceSide *theSide)
 Wrap for vertex using data from other FaceSide.
 
void Reverse ()
 Change orientation of side geometry.
 
int NbPoints () const
 Return nb nodes on edges and vertices (+1 to be == GetUVPtStruct().size() )
 
int NbSegments () const
 Return nb edges.
 
SMESH_MeshGetMesh () const
 Return mesh.
 
bool MissVertexNode () const
 Return true if there vertices without nodes.
 
const std::vector< UVPtStruct > & GetUVPtStruct (bool isXConst=0, double constValue=0) const
 Return detailed data on nodes.
 
const std::vector< UVPtStruct > & SimulateUVPtStruct (int nbSeg, bool isXConst=0, double constValue=0) const
 Simulates detailed data on nodes.
 
double Parameter (double U, TopoDS_Edge &edge) const
 Return edge and parameter on edge by normalized parameter.
 
gp_Pnt2d Value2d (double U) const
 Return UV by normalized parameter.
 
Adaptor2d_Curve2dGetCurve2d () const
 Creates a Adaptor2d_Curve2d to be used in SMESH_Block.
 
BRepAdaptor_CompCurve * GetCurve3d () const
 Creates a fully functional Adaptor_Curve.
 
int NbEdges () const
 Return nb of wrapped edges.
 
const TopoDS_Edge & Edge (int i) const
 Return i-th wrapped edge (count starts from zero)
 
TopoDS_Vertex FirstVertex (int i=0) const
 Return 1st vertex of the i-the edge (count starts from zero)
 
TopoDS_Vertex LastVertex (int i=-1) const
 Return last vertex of the i-the edge (count starts from zero)
 
double FirstParameter (int i) const
 Return first normalized parameter of the i-the edge (count starts from zero)
 
double LastParameter (int i) const
 Return ast normalized parameter of the i-the edge (count starts from zero)
 
double Length () const
 Return side length.
 
int EdgeIndex (double U) const
 Return edge index corresponding to normalized parameter.
 
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.
 

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::StdMeshers_FaceSide ( const TopoDS_Face &  theFace,
const TopoDS_Edge &  theEdge,
SMESH_Mesh theMesh,
const bool  theIsForward,
const bool  theIgnoreMediumNodes 
)

Wrap one edge.

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::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

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.

void StdMeshers_FaceSide::Reverse ( )

Change orientation of side geometry.

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.

int StdMeshers_FaceSide::NbSegments ( ) const

Return nb edges.

Definition at line 121 of file StdMeshers_FaceSide.hxx.

SMESH_Mesh* StdMeshers_FaceSide::GetMesh ( ) const

Return mesh.

Definition at line 125 of file StdMeshers_FaceSide.hxx.

bool StdMeshers_FaceSide::MissVertexNode ( ) const

Return true if there vertices without nodes.

Definition at line 129 of file StdMeshers_FaceSide.hxx.

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

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

References EdgeIndex(), myEdge, myFirst, myLast, and myNormPar.

Here is the call graph for this function:

gp_Pnt2d StdMeshers_FaceSide::Value2d ( double  U) const

Return UV by normalized parameter.

Adaptor2d_Curve2d* StdMeshers_FaceSide::GetCurve2d ( ) const

Creates a Adaptor2d_Curve2d to be used in SMESH_Block.

BRepAdaptor_CompCurve* StdMeshers_FaceSide::GetCurve3d ( ) const

Creates a fully functional Adaptor_Curve.

int StdMeshers_FaceSide::NbEdges ( ) const

Return nb of wrapped edges.

Definition at line 165 of file StdMeshers_FaceSide.hxx.

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.

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.

References myEdge.

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.

References myEdge.

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.

References myNormPar.

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.

References myNormPar.

double StdMeshers_FaceSide::Length ( void  ) const

Return side length.

Definition at line 189 of file StdMeshers_FaceSide.hxx.

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.

References myNormPar.

Referenced by Parameter().

Here is the caller graph for this function:

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

Field Documentation

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

Definition at line 201 of file StdMeshers_FaceSide.hxx.

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

Definition at line 201 of file StdMeshers_FaceSide.hxx.

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

Definition at line 202 of file StdMeshers_FaceSide.hxx.

Referenced by FirstVertex(), LastVertex(), and Parameter().

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

Definition at line 203 of file StdMeshers_FaceSide.hxx.

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

Definition at line 204 of file StdMeshers_FaceSide.hxx.

Referenced by Parameter().

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

Definition at line 204 of file StdMeshers_FaceSide.hxx.

Referenced by Parameter().

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

Definition at line 205 of file StdMeshers_FaceSide.hxx.

Referenced by EdgeIndex(), FirstParameter(), LastParameter(), and Parameter().

double StdMeshers_FaceSide::myLength
protected

Definition at line 206 of file StdMeshers_FaceSide.hxx.

int StdMeshers_FaceSide::myNbPonits
protected

Definition at line 207 of file StdMeshers_FaceSide.hxx.

int StdMeshers_FaceSide::myNbSegments
protected

Definition at line 207 of file StdMeshers_FaceSide.hxx.

SMESH_Mesh* StdMeshers_FaceSide::myMesh
protected

Definition at line 208 of file StdMeshers_FaceSide.hxx.

bool StdMeshers_FaceSide::myMissingVertexNodes
protected

Definition at line 209 of file StdMeshers_FaceSide.hxx.

bool StdMeshers_FaceSide::myIgnoreMediumNodes
protected

Definition at line 209 of file StdMeshers_FaceSide.hxx.

gp_Pnt2d StdMeshers_FaceSide::myDefaultPnt2d
protected

Definition at line 210 of file StdMeshers_FaceSide.hxx.