SALOME - SMESH
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
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.

Change orientation of side geometry.

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

Definition at line 117 of file StdMeshers_FaceSide.hxx.

Return nb edges.

Definition at line 121 of file StdMeshers_FaceSide.hxx.

Return mesh.

Definition at line 125 of file StdMeshers_FaceSide.hxx.

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.

BRepAdaptor_CompCurve* StdMeshers_FaceSide::GetCurve3d ( ) const

Creates a fully functional Adaptor_Curve.

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.

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.

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.

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.

Definition at line 207 of file StdMeshers_FaceSide.hxx.

Definition at line 207 of file StdMeshers_FaceSide.hxx.

Definition at line 208 of file StdMeshers_FaceSide.hxx.

Definition at line 209 of file StdMeshers_FaceSide.hxx.

Definition at line 209 of file StdMeshers_FaceSide.hxx.

Definition at line 210 of file StdMeshers_FaceSide.hxx.