Version: 8.3.0
StdMeshers_PrismAsBlock Class Reference

Tool analyzing and giving access to a prism geometry treating it like a block, i.e. More...

#include <StdMeshers_Prism_3D.hxx>

Inheritance diagram for StdMeshers_PrismAsBlock:

Data Structures

class  THorizontalEdgeAdaptor
 Class emulating geometry of a hirizontal edge. More...
 
class  TPCurveOnHorFaceAdaptor
 Class emulating pcurve on a hirizontal face. More...
 
class  TSideFace
 Class representing a part of a geom face or a union of seleral faces. More...
 
class  TVerticalEdgeAdaptor
 Class emulating geometry of a vertical edge. More...
 

Public Types

enum  TShapeID {
  ID_NONE = 0, ID_V000 = 1, ID_V100, ID_V010,
  ID_V110, ID_V001, ID_V101, ID_V011,
  ID_V111, ID_Ex00, ID_Ex10, ID_Ex01,
  ID_Ex11, ID_E0y0, ID_E1y0, ID_E0y1,
  ID_E1y1, ID_E00z, ID_E10z, ID_E01z,
  ID_E11z, ID_Fxy0, ID_Fxy1, ID_Fx0z,
  ID_Fx1z, ID_F0yz, ID_F1yz, ID_Shell,
  ID_FirstV = ID_V000, ID_FirstE = ID_Ex00, ID_FirstF = ID_Fxy0
}
 

Public Member Functions

 StdMeshers_PrismAsBlock ()
 Constructor. More...
 
 ~StdMeshers_PrismAsBlock ()
 
bool Init (SMESH_MesherHelper *helper, const Prism_3D::TPrismTopo &prism)
 Initialization. More...
 
SMESH_ComputeErrorPtr GetError () const
 Return problem description. More...
 
void Clear ()
 Free allocated memory. More...
 
int VerticalSize () const
 Return number of nodes on every vertical edge. More...
 
bool HasNotQuadElemOnTop () const
 
const TNodeColumnGetNodeColumn (const SMDS_MeshNode *node) const
 Return pointer to column of nodes. More...
 
const TParam2ColumnMapGetParam2ColumnMap (const int baseEdgeID, bool &isReverse) const
 Return TParam2ColumnMap for a base edge. More...
 
bool HasNodeColumn (const SMDS_MeshNode *node) const
 Return pointer to column of nodes. More...
 
bool GetLayersTransformation (std::vector< gp_Trsf > &trsf, const Prism_3D::TPrismTopo &prism) const
 Return transformations to get coordinates of nodes of each internal layer by nodes of the bottom. More...
 
SMESH_MeshMesh () const
 Return pointer to mesh. More...
 
SMESHDS_MeshMeshDS () const
 Return pointer to mesh DS. More...
 
SMESH_subMeshSubMesh (const int shapeID) const
 Return submesh of a shape. More...
 
SMESHDS_SubMeshSubMeshDS (const int shapeID) const
 Return submesh DS of a shape. More...
 
const TopoDS_Shape & Shape (const int shapeID) const
 Return a in-block shape. More...
 
int ShapeID (const TopoDS_Shape &shape) const
 Return in-block ID of a shape. More...
 
bool LoadBlockShapes (const TopoDS_Shell &theShell, const TopoDS_Vertex &theVertex000, const TopoDS_Vertex &theVertex001, TopTools_IndexedMapOfOrientedShape &theShapeIDMap)
 
bool LoadBlockShapes (const TopTools_IndexedMapOfOrientedShape &theShapeIDMap)
 Initialize block geometry with shapes from theShapeIDMap. More...
 
bool LoadMeshBlock (const SMDS_MeshVolume *theVolume, const int theNode000Index, const int theNode001Index, std::vector< const SMDS_MeshNode * > &theOrderedNodes)
 
bool LoadFace (const TopoDS_Face &theFace, const int theFaceID, const TopTools_IndexedMapOfOrientedShape &theShapeIDMap)
 Load face geometry. More...
 
bool VertexPoint (const int theVertexID, gp_XYZ &thePoint) const
 
bool EdgePoint (const int theEdgeID, const gp_XYZ &theParams, gp_XYZ &thePoint) const
 
bool EdgeU (const int theEdgeID, const gp_XYZ &theParams, double &theU) const
 
bool FacePoint (const int theFaceID, const gp_XYZ &theParams, gp_XYZ &thePoint) const
 
bool FaceUV (const int theFaceID, const gp_XYZ &theParams, gp_XY &theUV) const
 
bool ShellPoint (const gp_XYZ &theParams, gp_XYZ &thePoint) const
 
bool ComputeParameters (const gp_Pnt &thePoint, gp_XYZ &theParams, const int theShapeID=ID_Shell, const gp_XYZ &theParamsHint=gp_XYZ(-1,-1,-1))
 
bool VertexParameters (const int theVertexID, gp_XYZ &theParams)
 
bool EdgeParameters (const int theEdgeID, const double theU, gp_XYZ &theParams)
 
void SetTolerance (const double tol)
 
double GetTolerance () const
 
bool IsToleranceReached () const
 
double DistanceReached () const
 
Standard_Integer NbVariables () const
 
Standard_Integer NbEquations () const
 
Standard_Boolean Value (const math_Vector &X, math_Vector &F)
 
Standard_Boolean Derivatives (const math_Vector &X, math_Matrix &D)
 
Standard_Boolean Values (const math_Vector &X, math_Vector &F, math_Matrix &D)
 
Standard_Integer GetStateNumber ()
 

Static Public Member Functions

static bool IsForwardEdge (SMESHDS_Mesh *meshDS, const TParam2ColumnMap &columnsMap, const TopoDS_Edge &bottomEdge, const int sideFaceID)
 Check curve orientation of a bootom edge. More...
 
static int NbVertices ()
 
static int NbEdges ()
 
static int NbFaces ()
 
static int NbSubShapes ()
 
static bool IsVertexID (int theShapeID)
 
static bool IsEdgeID (int theShapeID)
 
static bool IsFaceID (int theShapeID)
 
static int ShapeIndex (int theShapeID)
 
static void GetFaceEdgesIDs (const int faceID, std::vector< int > &edgeVec)
 
static void GetEdgeVertexIDs (const int edgeID, std::vector< int > &vertexVec)
 
static int GetCoordIndOnEdge (const int theEdgeID)
 
static double * GetShapeCoef (const int theShapeID)
 
static int GetShapeIDByParams (const gp_XYZ &theParams)
 
static std::ostream & DumpShapeID (const int theBlockShapeID, std::ostream &stream)
 
static bool Insert (const TopoDS_Shape &theShape, const int theShapeID, TopTools_IndexedMapOfOrientedShape &theShapeIDMap)
 / Insert theShape into theShapeIDMap with theShapeID More...
 
static bool FindBlockShapes (const TopoDS_Shell &theShell, const TopoDS_Vertex &theVertex000, const TopoDS_Vertex &theVertex001, TopTools_IndexedMapOfOrientedShape &theShapeIDMap)
 
static bool ShellPoint (const gp_XYZ &theParams, const std::vector< gp_XYZ > &thePointOnShape, gp_XYZ &thePoint)
 
static bool IsForwardEdge (const TopoDS_Edge &theEdge, const TopTools_IndexedMapOfOrientedShape &theShapeIDMap)
 
static int GetOrderedEdges (const TopoDS_Face &theFace, std::list< TopoDS_Edge > &theEdges, std::list< int > &theNbEdgesInWires, TopoDS_Vertex theFirstVertex=TopoDS_Vertex(), const bool theShapeAnalysisAlgo=false)
 Return number of wires and a list of oredered edges. More...
 

Protected Types

enum  { SQUARE_DIST = 0, DRV_1, DRV_2, DRV_3 }
 
typedef std::pair< gp_XYZ, gp_XYZ > TxyzPair
 

Protected Member Functions

void init ()
 Call it after geometry initialisation. More...
 
double distance () const
 
double funcValue (double sqDist) const
 
bool computeParameters (const gp_Pnt &thePoint, gp_XYZ &theParams, const gp_XYZ &theParamsHint, int)
 
void refineParametersOnFace (const gp_Pnt &thePoint, gp_XYZ &theParams, int theFaceID)
 Find more precise solution. More...
 
bool findUVByHalfDivision (const gp_Pnt &thePoint, const gp_XY &theUV, const TFace &tface, gp_XYZ &theParams)
 Finds parameters corresponding to a given UV of a given face using half-division. More...
 
bool findUVAround (const gp_Pnt &thePoint, const gp_XY &theUV, const TFace &tface, gp_XYZ &theParams, int nbGetWorstLimit)
 Finds parameters corresponding to a given UV of a given face by searching around the starting solution. More...
 
bool saveBetterSolution (const gp_XYZ &theNewParams, gp_XYZ &theParams, double sqDistance)
 Store a solution if it's better than a previous one. More...
 

Protected Attributes

gp_XYZ myPnt [8]
 
TEdge myEdge [12]
 
TFace myFace [6]
 
int myFaceIndex
 
double myFaceParam
 
int myNbIterations
 
double mySumDist
 
double myTolerance
 
bool mySquareFunc
 
gp_XYZ myPoint
 
gp_XYZ myParam
 
double myValues [4]
 
TxyzPair my3x3x3GridNodes [1000]
 
bool myGridComputed
 

Private Member Functions

bool error (int error, const SMESH_Comment &comment="")
 store error and comment and then return ( error == COMPERR_OK ) More...
 
void faceGridToPythonDump (const SMESH_Block::TShapeID face, const int nb=10)
 Prints a script creating a normal grid on the prism side. More...
 

Private Attributes

bool myNotQuadOnTop
 
SMESH_MesherHelpermyHelper
 
TBlockShapes myShapeIDMap
 
SMESH_ComputeErrorPtr myError
 
TSideFacemySide
 
std::vector< TParam2ColumnMapmyParam2ColumnMaps
 
std::map< int, std::pair
< TParam2ColumnMap *, bool > > 
myShapeIndex2ColumnMap
 

Detailed Description

Tool analyzing and giving access to a prism geometry treating it like a block, i.e.

the four side faces are emulated by division/uniting of missing/excess faces. It also manage associations between block sub-shapes and a mesh.

Member Typedef Documentation

typedef std::pair<gp_XYZ,gp_XYZ> SMESH_Block::TxyzPair
protectedinherited

Member Enumeration Documentation

anonymous enum
protectedinherited
Enumerator
SQUARE_DIST 
DRV_1 
DRV_2 
DRV_3 
enum SMESH_Block::TShapeID
inherited
Enumerator
ID_NONE 
ID_V000 
ID_V100 
ID_V010 
ID_V110 
ID_V001 
ID_V101 
ID_V011 
ID_V111 
ID_Ex00 
ID_Ex10 
ID_Ex01 
ID_Ex11 
ID_E0y0 
ID_E1y0 
ID_E0y1 
ID_E1y1 
ID_E00z 
ID_E10z 
ID_E01z 
ID_E11z 
ID_Fxy0 
ID_Fxy1 
ID_Fx0z 
ID_Fx1z 
ID_F0yz 
ID_F1yz 
ID_Shell 
ID_FirstV 
ID_FirstE 
ID_FirstF 

Constructor & Destructor Documentation

StdMeshers_PrismAsBlock::StdMeshers_PrismAsBlock ( )

Constructor.

Initialization is needed

References mySide.

StdMeshers_PrismAsBlock::~StdMeshers_PrismAsBlock ( )

References Clear().

Member Function Documentation

void StdMeshers_PrismAsBlock::Clear ( )

Free allocated memory.

References myError, myHelper, myParam2ColumnMaps, myShapeIDMap, myShapeIndex2ColumnMap, and mySide.

Referenced by ~StdMeshers_PrismAsBlock().

Standard_Boolean SMESH_Block::Derivatives ( const math_Vector &  X,
math_Matrix &  D 
)
inherited

References SMESH_Block::Values().

double SMESH_Block::DistanceReached ( ) const
inherited
bool SMESH_Block::EdgePoint ( const int  theEdgeID,
const gp_XYZ &  theParams,
gp_XYZ &  thePoint 
) const
inherited
bool SMESH_Block::EdgeU ( const int  theEdgeID,
const gp_XYZ &  theParams,
double &  theU 
) const
inherited
bool StdMeshers_PrismAsBlock::error ( int  error,
const SMESH_Comment comment = "" 
)
private

store error and comment and then return ( error == COMPERR_OK )

References SMESH_ComputeError::New().

Referenced by Init().

void StdMeshers_PrismAsBlock::faceGridToPythonDump ( const SMESH_Block::TShapeID  face,
const int  nb = 10 
)
private
bool SMESH_Block::FacePoint ( const int  theFaceID,
const gp_XYZ &  theParams,
gp_XYZ &  thePoint 
) const
inherited
bool SMESH_Block::FaceUV ( const int  theFaceID,
const gp_XYZ &  theParams,
gp_XY &  theUV 
) const
inherited
bool SMESH_Block::FindBlockShapes ( const TopoDS_Shell &  theShell,
const TopoDS_Vertex &  theVertex000,
const TopoDS_Vertex &  theVertex001,
TopTools_IndexedMapOfOrientedShape &  theShapeIDMap 
)
staticinherited
bool SMESH_Block::findUVAround ( const gp_Pnt &  thePoint,
const gp_XY &  theUV,
const TFace tface,
gp_XYZ &  theParams,
int  nbGetWorstLimit 
)
protectedinherited

Finds parameters corresponding to a given UV of a given face by searching around the starting solution.

Parameters
[in]theUV- the UV to locate
[in]tface- the face
[in,out]theParams- the starting parameters to improve
[in]nbGetWorstLimit- nb of steps from the starting solution w/o improvement to stop searching in this direction
Returns
bool - true if found solution is within myTolerance

References SMESH_Block::distance(), SMESH_Block::TFace::GetUInd(), SMESH_Block::TFace::GetVInd(), Max(), Min(), SMESH_Block::TFace::Point(), and SMESH_Block::saveBetterSolution().

Referenced by SMESH_Block::refineParametersOnFace().

bool SMESH_Block::findUVByHalfDivision ( const gp_Pnt &  thePoint,
const gp_XY &  theUV,
const TFace tface,
gp_XYZ &  theParams 
)
protectedinherited

Finds parameters corresponding to a given UV of a given face using half-division.

Parameters
[in]theUV- the UV to locate
[in]tface- the face
[in,out]theParams- the starting parameters to improve
Returns
bool - true if found solution is within myTolerance

References SMESH_Block::distance(), SMESH_Block::TFace::GetUInd(), SMESH_Block::TFace::GetVInd(), SMESH_Block::TFace::IsUVInQuad(), Max(), Min(), SMESH_Block::TFace::Point(), and SMESH_Block::saveBetterSolution().

Referenced by SMESH_Block::refineParametersOnFace().

double SMESH_Block::funcValue ( double  sqDist) const
protectedinherited
static int SMESH_Block::GetCoordIndOnEdge ( const int  theEdgeID)
staticinherited
SMESH_ComputeErrorPtr StdMeshers_PrismAsBlock::GetError ( ) const

Return problem description.

bool StdMeshers_PrismAsBlock::GetLayersTransformation ( std::vector< gp_Trsf > &  trsf,
const Prism_3D::TPrismTopo prism 
) const

Return transformations to get coordinates of nodes of each internal layer by nodes of the bottom.

Layer is a set of nodes at a certain step from bottom to top.

References GetParam2ColumnMap(), gpXYZ, ID_BOT_FACE, SMESH_Algo::isDegenerated(), MeshDS(), Prism_3D::TPrismTopo::myBottomEdges, Prism_3D::TPrismTopo::myNbEdgesInWires, SubMesh(), and VerticalSize().

const TNodeColumn * StdMeshers_PrismAsBlock::GetNodeColumn ( const SMDS_MeshNode node) const

Return pointer to column of nodes.

Parameters
node- bottom node from which the returned column goes up
Return values
constTNodeColumn* - the found column

References SMDS_MeshElement::getshapeId(), and myShapeIndex2ColumnMap.

int SMESH_Block::GetOrderedEdges ( const TopoDS_Face &  theFace,
std::list< TopoDS_Edge > &  theEdges,
std::list< int > &  theNbEdgesInWires,
TopoDS_Vertex  theFirstVertex = TopoDS_Vertex(),
const bool  theShapeAnalysisAlgo = false 
)
staticinherited

Return number of wires and a list of oredered edges.

Parameters
theFace- the face to process
theEdges- all ordered edges of theFace (outer edges go first).
theNbEdgesInWires- nb of edges (== nb of vertices in closed wire) in each wire
theFirstVertex- the vertex of the outer wire to set first in the returned list ( theFirstVertex may be NULL )
theShapeAnalysisAlgo- if true, ShapeAnalysis::OuterWire() is used to find the outer wire else BRepTools::OuterWire() is used.
Return values
int- nb of wires

Always try to set a seam edge first. BRepTools::OuterWire() fails e.g. in the case of issue 0020184, ShapeAnalysis::OuterWire() fails in the case of issue 0020452

References Edge, Handle(), and MESSAGE.

Referenced by SMESH_Pattern::Apply(), StdMeshers_Quadrangle_2D::CheckNbEdges(), StdMeshers_Quadrangle_2D::checkNbEdgesForEvaluate(), StdMeshers_Projection_2D::Compute(), SMESH_Block::FindBlockShapes(), StdMeshers_ProjectionUtils::FindFaceAssociation(), StdMeshers_FaceSide::GetFaceWires(), _QuadFaceGrid::Init(), StdMeshers_Prism_3D::initPrism(), and SMESH_MesherHelper::IsStructured().

const TParam2ColumnMap* StdMeshers_PrismAsBlock::GetParam2ColumnMap ( const int  baseEdgeID,
bool isReverse 
) const

Return TParam2ColumnMap for a base edge.

Parameters
baseEdgeID- base edge SMESHDS Index
isReverse- columns in-block orientation
Return values
constTParam2ColumnMap* - map

Referenced by GetLayersTransformation().

double * SMESH_Block::GetShapeCoef ( const int  theShapeID)
staticinherited
int SMESH_Block::GetShapeIDByParams ( const gp_XYZ &  theParams)
staticinherited
Standard_Integer SMESH_Block::GetStateNumber ( )
inherited
double SMESH_Block::GetTolerance ( ) const
inherited
bool StdMeshers_PrismAsBlock::HasNodeColumn ( const SMDS_MeshNode node) const

Return pointer to column of nodes.

Parameters
node- bottom node from which the returned column goes up
Return values
constTNodeColumn* - the found column

References SMDS_MeshElement::getshapeId().

bool StdMeshers_PrismAsBlock::HasNotQuadElemOnTop ( ) const
bool StdMeshers_PrismAsBlock::Init ( SMESH_MesherHelper helper,
const Prism_3D::TPrismTopo thePrism 
)

Initialization.

Parameters
helper- helper loaded with mesh and 3D shape
prism- prism topology
Return values
bool- false if a mesh or a shape are KO
Parameters
helper- helper loaded with mesh and 3D shape
thePrism- a prism data
Return values
bool- false if a mesh or a shape are KO

References BOTTOM_EDGE, COMPERR_BAD_INPUT_MESH, error(), StdMeshers_PrismAsBlock::TSideFace::FaceID(), StdMeshers_PrismAsBlock::TSideFace::GetComponent(), SMESH_Block::TEdge::GetCurve(), SMESH_Block::GetEdgeVertexIDs(), SMESH_Block::GetFaceEdgesIDs(), SMESH_MesherHelper::GetMesh(), SMESH_MesherHelper::GetMeshDS(), StdMeshers_PrismAsBlock::TSideFace::GetPCurves(), SMDS_MeshElement::getshapeId(), gpXYZ, StdMeshers_PrismAsBlock::TSideFace::HorizCurve(), StdMeshers_PrismAsBlock::TSideFace::HorizPCurve(), ID_BOT_FACE, SMESH_Block::ID_F0yz, SMESH_Block::ID_F1yz, SMESH_Block::ID_FirstE, SMESH_Block::ID_FirstF, SMESH_Block::ID_FirstV, SMESH_Block::ID_Fx0z, SMESH_Block::ID_Fx1z, ID_TOP_FACE, SMESH_Block::init(), SMESH_Block::Insert(), StdMeshers_PrismAsBlock::TSideFace::InsertSubShapes(), StdMeshers_PrismAsBlock::TSideFace::IsComplex(), StdMeshers_PrismAsBlock::TSideFace::IsForward(), IsForwardEdge(), SMESH_MesherHelper::LoadNodeColumns(), MeshDS(), MESSAGE, Prism_3D::TPrismTopo::myBottom, Prism_3D::TPrismTopo::myBottomEdges, SMESH_Block::myEdge, myError, SMESH_Block::myFace, myHelper, Prism_3D::TPrismTopo::myNbEdgesInWires, Prism_3D::TPrismTopo::myNotQuadOnTop, myNotQuadOnTop, myParam2ColumnMaps, SMESH_Block::myPnt, myShapeIDMap, myShapeIndex2ColumnMap, mySide, Prism_3D::TPrismTopo::myTop, Prism_3D::TPrismTopo::myWallQuads, NB_WALL_FACES, SMESH_ComputeError::New(), QUAD_BOTTOM_SIDE, RETURN_BAD_RESULT, SMESH_Block::TEdge::Set(), SMESH_Block::TFace::Set(), StdMeshers_PrismAsBlock::TSideFace::SetComponent(), SMESHDS_Mesh::ShapeToIndex(), SHOWYXZ, StdMeshers_PrismAsBlock::TSideFace::Surface(), StdMeshers_PrismAsBlock::TSideFace::Value(), VerticalSize(), and StdMeshers_PrismAsBlock::TSideFace::VertiCurve().

void SMESH_Block::init ( )
protectedinherited
bool SMESH_Block::Insert ( const TopoDS_Shape &  theShape,
const int  theShapeID,
TopTools_IndexedMapOfOrientedShape &  theShapeIDMap 
)
staticinherited

/ Insert theShape into theShapeIDMap with theShapeID

Parameters
theShape- shape to insert
theShapeID- shape in-block ID
theShapeIDMap- map of block sub-shapes

Referenced by Init(), and StdMeshers_PrismAsBlock::TSideFace::InsertSubShapes().

bool StdMeshers_PrismAsBlock::IsForwardEdge ( SMESHDS_Mesh meshDS,
const TParam2ColumnMap columnsMap,
const TopoDS_Edge &  bottomEdge,
const int  sideFaceID 
)
static

Check curve orientation of a bootom edge.

Parameters
meshDS- mesh DS
columnsMap- node columns map of side face
bottomEdge- the bootom edge
sideFaceID- side face in-block ID
Return values
bool- true if orienation coinside with in-block froward orienation
Parameters
meshDS- mesh DS
columnsMap- node columns map of side face
bottomEdge- the bootom edge
sideFaceID- side face in-block ID
Return values
bool- true if orientation coinside with in-block forward orientation

References SMESH_MesherHelper::GetSubShapeByNode(), SMESH_Block::ID_F0yz, SMESH_Block::ID_Fx1z, and SMESH_MesherHelper::IsClosedEdge().

Referenced by Init(), and StdMeshers_PrismAsBlock::TSideFace::TSideFace().

static bool SMESH_Block::IsForwardEdge ( const TopoDS_Edge &  theEdge,
const TopTools_IndexedMapOfOrientedShape &  theShapeIDMap 
)
staticinherited
bool SMESH_Block::IsToleranceReached ( ) const
inherited
bool SMESH_Block::LoadBlockShapes ( const TopoDS_Shell &  theShell,
const TopoDS_Vertex &  theVertex000,
const TopoDS_Vertex &  theVertex001,
TopTools_IndexedMapOfOrientedShape &  theShapeIDMap 
)
inherited
bool SMESH_Block::LoadBlockShapes ( const TopTools_IndexedMapOfOrientedShape &  theShapeIDMap)
inherited

Initialize block geometry with shapes from theShapeIDMap.

Parameters
theShapeIDMap- map of block sub-shapes
Return values
bool- is a success

References Edge, Face, SMESH_Block::ID_FirstE, SMESH_Block::ID_V000, SMESH_Block::ID_V111, SMESH_Block::init(), SMESH_Block::IsEdgeID(), SMESH_Block::IsForwardEdge(), SMESH_Block::IsVertexID(), SMESH_Block::LoadFace(), SMESH_Block::myEdge, SMESH_Block::myPnt, and SMESH_Block::TEdge::Set().

bool SMESH_Block::LoadFace ( const TopoDS_Face &  theFace,
const int  theFaceID,
const TopTools_IndexedMapOfOrientedShape &  theShapeIDMap 
)
inherited

Load face geometry.

Parameters
theFace- face
theFaceID- face in-block ID
theShapeIDMap- map of block sub-shapes
Return values
bool- is a success

It is enough to compute params or coordinates on the face. Face sub-shapes must be loaded into theShapeIDMap before

References Edge, SMESH_Block::GetFaceEdgesIDs(), SMESH_Block::ID_FirstF, SMESH_Block::IsFaceID(), SMESH_Block::IsForwardEdge(), SMESH_Block::myFace, and SMESH_Block::TFace::Set().

Referenced by SMESH_Block::LoadBlockShapes().

SMESH_Mesh* StdMeshers_PrismAsBlock::Mesh ( ) const

Return pointer to mesh.

Return values
SMESH_Mesh- mesh
SMESHDS_Mesh* StdMeshers_PrismAsBlock::MeshDS ( ) const

Return pointer to mesh DS.

Return values
SMESHDS_Mesh- mesh DS

Referenced by GetLayersTransformation(), and Init().

static int SMESH_Block::NbEdges ( )
staticinherited
Standard_Integer SMESH_Block::NbEquations ( ) const
inherited
static int SMESH_Block::NbFaces ( )
staticinherited
static int SMESH_Block::NbSubShapes ( )
staticinherited
Standard_Integer SMESH_Block::NbVariables ( ) const
inherited
static int SMESH_Block::NbVertices ( )
staticinherited
void SMESH_Block::refineParametersOnFace ( const gp_Pnt &  thePoint,
gp_XYZ &  theParams,
int  theFaceID 
)
protectedinherited
bool SMESH_Block::saveBetterSolution ( const gp_XYZ &  theNewParams,
gp_XYZ &  theParams,
double  sqDistance 
)
protectedinherited

Store a solution if it's better than a previous one.

Parameters
[in]theNewParams- a new solution
[out]theParams- the parameters to store solution in
[in]sqDistance- a square distance reached at theNewParams
Returns
bool - true if the reached distance is within the tolerance

References SMESH_Block::distance(), SMESH_Block::myTolerance, SMESH_Block::myValues, and SMESH_Block::SQUARE_DIST.

Referenced by SMESH_Block::findUVAround(), and SMESH_Block::findUVByHalfDivision().

void SMESH_Block::SetTolerance ( const double  tol)
inherited
const TopoDS_Shape& StdMeshers_PrismAsBlock::Shape ( const int  shapeID) const

Return a in-block shape.

Parameters
shapeID- shape given by in-block index
Return values
SMESHDS_SubMesh*- found submesh
int StdMeshers_PrismAsBlock::ShapeID ( const TopoDS_Shape &  shape) const

Return in-block ID of a shape.

Parameters
shape- block sub-shape
Return values
int- ID or zero if the shape has no ID
bool SMESH_Block::ShellPoint ( const gp_XYZ &  theParams,
const std::vector< gp_XYZ > &  thePointOnShape,
gp_XYZ &  thePoint 
)
staticinherited
SMESH_subMesh* StdMeshers_PrismAsBlock::SubMesh ( const int  shapeID) const

Return submesh of a shape.

Parameters
shapeID- shape given by in-block index
Return values
SMESH_subMesh*- found submesh

Referenced by GetLayersTransformation().

SMESHDS_SubMesh* StdMeshers_PrismAsBlock::SubMeshDS ( const int  shapeID) const

Return submesh DS of a shape.

Parameters
shapeID- shape given by in-block index
Return values
SMESHDS_SubMesh*- found submesh DS
Standard_Boolean SMESH_Block::Value ( const math_Vector &  X,
math_Vector &  F 
)
inherited
bool SMESH_Block::VertexParameters ( const int  theVertexID,
gp_XYZ &  theParams 
)
inherited
bool SMESH_Block::VertexPoint ( const int  theVertexID,
gp_XYZ &  thePoint 
) const
inherited
int StdMeshers_PrismAsBlock::VerticalSize ( ) const

Return number of nodes on every vertical edge.

Return values
int- number of nodes including end nodes

Referenced by GetLayersTransformation(), and Init().

Field Documentation

TxyzPair SMESH_Block::my3x3x3GridNodes[1000]
protectedinherited
SMESH_ComputeErrorPtr StdMeshers_PrismAsBlock::myError
private

Referenced by Clear(), and Init().

int SMESH_Block::myFaceIndex
protectedinherited
double SMESH_Block::myFaceParam
protectedinherited
bool SMESH_Block::myGridComputed
protectedinherited
int SMESH_Block::myNbIterations
protectedinherited
bool StdMeshers_PrismAsBlock::myNotQuadOnTop
private

Referenced by Init().

gp_XYZ SMESH_Block::myParam
protectedinherited
std::vector< TParam2ColumnMap > StdMeshers_PrismAsBlock::myParam2ColumnMaps
private

Referenced by Clear(), and Init().

gp_XYZ SMESH_Block::myPnt[8]
protectedinherited
gp_XYZ SMESH_Block::myPoint
protectedinherited
TBlockShapes StdMeshers_PrismAsBlock::myShapeIDMap
private

Referenced by Clear(), and Init().

std::map< int, std::pair< TParam2ColumnMap*, bool > > StdMeshers_PrismAsBlock::myShapeIndex2ColumnMap
private

Referenced by Clear(), GetNodeColumn(), and Init().

bool SMESH_Block::mySquareFunc
protectedinherited
double SMESH_Block::mySumDist
protectedinherited