Tool analyzing and giving access to a prism geometry treating it like a block, i.e. More...
#include <StdMeshers_Prism_3D.hxx>
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 TNodeColumn * | GetNodeColumn (const SMDS_MeshNode *node) const |
Return pointer to column of nodes. More... | |
const TParam2ColumnMap * | GetParam2ColumnMap (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_Mesh * | Mesh () const |
Return pointer to mesh. More... | |
SMESHDS_Mesh * | MeshDS () const |
Return pointer to mesh DS. More... | |
SMESH_subMesh * | SubMesh (const int shapeID) const |
Return submesh of a shape. More... | |
SMESHDS_SubMesh * | SubMeshDS (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_MesherHelper * | myHelper |
TBlockShapes | myShapeIDMap |
SMESH_ComputeErrorPtr | myError |
TSideFace * | mySide |
std::vector< TParam2ColumnMap > | myParam2ColumnMaps |
std::map< int, std::pair < TParam2ColumnMap *, bool > > | myShapeIndex2ColumnMap |
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.
|
protectedinherited |
|
inherited |
StdMeshers_PrismAsBlock::StdMeshers_PrismAsBlock | ( | ) |
StdMeshers_PrismAsBlock::~StdMeshers_PrismAsBlock | ( | ) |
References Clear().
void StdMeshers_PrismAsBlock::Clear | ( | ) |
Free allocated memory.
References myError, myHelper, myParam2ColumnMaps, myShapeIDMap, myShapeIndex2ColumnMap, and mySide.
Referenced by ~StdMeshers_PrismAsBlock().
|
inherited |
References SMESH_Block::computeParameters(), SMESH_Block::distance(), SMESH_Block::EdgeParameters(), SMESH_Block::TEdge::GetCurve(), SMESH_Block::GetShapeCoef(), SMESH_Block::ID_FirstE, SMESH_Block::IsEdgeID(), SMESH_Block::IsFaceID(), MESSAGE, SMESH_Block::my3x3x3GridNodes, SMESH_Block::myEdge, SMESH_Block::myFaceIndex, SMESH_Block::myFaceParam, SMESH_Block::myGridComputed, SMESH_Block::myNbIterations, SMESH_Block::mySumDist, SMESH_Block::myTolerance, SMESH_Block::myValues, SMESH_Block::TEdge::Point(), SMESH_Block::refineParametersOnFace(), SMESH_Block::ShellPoint(), SMESH_Block::SQUARE_DIST, and SMESH_Block::VertexParameters().
Referenced by StdMeshers_Projection_3D::Compute(), and StdMeshers_SMESHBlock::ComputeParameters().
|
protectedinherited |
References SMESH_Block::distance(), MESSAGE, SMESH_Block::myFaceIndex, SMESH_Block::myFaceParam, SMESH_Block::myNbIterations, SMESH_Block::myParam, SMESH_Block::myPoint, SMESH_Block::mySquareFunc, SMESH_Block::mySumDist, SMESH_Block::myTolerance, SMESH_Block::myValues, SMESH_Block::refineParametersOnFace(), and SMESH_Block::SQUARE_DIST.
Referenced by SMESH_Block::ComputeParameters().
|
inherited |
References SMESH_Block::Values().
|
protectedinherited |
|
inherited |
|
staticinherited |
References CASEDUMP, SMESH_Block::ID_E00z, SMESH_Block::ID_E01z, SMESH_Block::ID_E0y0, SMESH_Block::ID_E0y1, SMESH_Block::ID_E10z, SMESH_Block::ID_E11z, SMESH_Block::ID_E1y0, SMESH_Block::ID_E1y1, SMESH_Block::ID_Ex00, SMESH_Block::ID_Ex01, SMESH_Block::ID_Ex10, SMESH_Block::ID_Ex11, SMESH_Block::ID_F0yz, SMESH_Block::ID_F1yz, SMESH_Block::ID_Fx0z, SMESH_Block::ID_Fx1z, SMESH_Block::ID_Fxy0, SMESH_Block::ID_Fxy1, SMESH_Block::ID_Shell, SMESH_Block::ID_V000, SMESH_Block::ID_V001, SMESH_Block::ID_V010, SMESH_Block::ID_V011, SMESH_Block::ID_V100, SMESH_Block::ID_V101, SMESH_Block::ID_V110, and SMESH_Block::ID_V111.
Referenced by StdMeshers_PrismAsBlock::TSideFace::dumpNodes().
|
inherited |
References SMESH_Block::TEdge::CoordInd(), SMESH_Block::TEdge::EndParam(), SMESH_Block::GetEdgeVertexIDs(), SMESH_Block::ID_Ex00, SMESH_Block::IsEdgeID(), SMESH_Block::myEdge, and SMESH_Block::VertexParameters().
Referenced by StdMeshers_SMESHBlock::ComputeParameters(), and SMESH_Block::ComputeParameters().
|
inherited |
Referenced by SMESH_Pattern::Apply(), StdMeshers_SMESHBlock::Point(), and StdMeshers_Penta_3D::SetHorizEdgeXYZ().
|
inherited |
|
private |
store error and comment and then return ( error == COMPERR_OK )
References SMESH_ComputeError::New().
Referenced by Init().
|
private |
Prints a script creating a normal grid on the prism side.
References SMESH_Block::TFace::GetUInd(), SMESH_Block::TFace::GetUV(), SMESH_Block::TFace::GetVInd(), SMESH_Block::ID_FirstF, SMESH_Block::myFace, SMESH_Block::TFace::Point(), and SMESH_Block::ShellPoint().
|
inherited |
Referenced by SMESH_Pattern::Apply(), and StdMeshers_SMESHBlock::Point().
|
inherited |
|
staticinherited |
References Edge, Face, SMESH_Block::GetOrderedEdges(), and MESSAGE.
Referenced by StdMeshers_Projection_3D::IsApplicable(), StdMeshers_Prism_3D::IsApplicable(), SMESH_MesherHelper::IsBlock(), and SMESH_Block::LoadBlockShapes().
|
protectedinherited |
Finds parameters corresponding to a given UV of a given face by searching around the starting solution.
[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 |
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().
|
protectedinherited |
Finds parameters corresponding to a given UV of a given face using half-division.
[in] | theUV | - the UV to locate |
[in] | tface | - the face |
[in,out] | theParams | - the starting parameters to improve |
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().
|
protectedinherited |
Referenced by SMESH_Block::Value(), and SMESH_Block::Values().
Referenced by SMESH_Block::TEdge::Set(), and StdMeshers_Penta_3D::SetHorizEdgeXYZ().
|
staticinherited |
References SMESH_Block::ID_E00z, SMESH_Block::ID_E01z, SMESH_Block::ID_E0y0, SMESH_Block::ID_E0y1, SMESH_Block::ID_E10z, SMESH_Block::ID_E11z, SMESH_Block::ID_E1y0, SMESH_Block::ID_E1y1, SMESH_Block::ID_Ex00, SMESH_Block::ID_Ex01, SMESH_Block::ID_Ex10, SMESH_Block::ID_Ex11, SMESH_Block::ID_V000, SMESH_Block::ID_V001, SMESH_Block::ID_V010, SMESH_Block::ID_V011, SMESH_Block::ID_V100, SMESH_Block::ID_V101, SMESH_Block::ID_V110, SMESH_Block::ID_V111, and MESSAGE.
Referenced by SMESH_Pattern::Apply(), StdMeshers_Projection_3D::Compute(), SMESH_Block::EdgeParameters(), Init(), StdMeshers_PrismAsBlock::TSideFace::InsertSubShapes(), and SMESH_Block::LoadMeshBlock().
SMESH_ComputeErrorPtr StdMeshers_PrismAsBlock::GetError | ( | ) | const |
Return problem description.
|
staticinherited |
References SMESH_Block::ID_E00z, SMESH_Block::ID_E01z, SMESH_Block::ID_E0y0, SMESH_Block::ID_E0y1, SMESH_Block::ID_E10z, SMESH_Block::ID_E11z, SMESH_Block::ID_E1y0, SMESH_Block::ID_E1y1, SMESH_Block::ID_Ex00, SMESH_Block::ID_Ex01, SMESH_Block::ID_Ex10, SMESH_Block::ID_Ex11, SMESH_Block::ID_F0yz, SMESH_Block::ID_F1yz, SMESH_Block::ID_Fx0z, SMESH_Block::ID_Fx1z, SMESH_Block::ID_Fxy0, SMESH_Block::ID_Fxy1, and MESSAGE.
Referenced by SMESH_Pattern::Apply(), StdMeshers_Projection_3D::Compute(), Init(), StdMeshers_PrismAsBlock::TSideFace::InsertSubShapes(), SMESH_Block::LoadFace(), SMESH_Block::LoadMeshBlock(), StdMeshers_Prism_3D::setFaceAndEdgesXYZ(), and StdMeshers_Penta_3D::SetHorizEdgeXYZ().
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.
node | - bottom node from which the returned column goes up |
const | TNodeColumn* - the found column |
References SMDS_MeshElement::getshapeId(), and myShapeIndex2ColumnMap.
|
staticinherited |
Return number of wires and a list of oredered edges.
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. |
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.
baseEdgeID | - base edge SMESHDS Index |
isReverse | - columns in-block orientation |
const | TParam2ColumnMap* - map |
Referenced by GetLayersTransformation().
|
staticinherited |
Referenced by SMESH_Block::ComputeParameters().
|
staticinherited |
References MESSAGE.
Referenced by SMESH_Pattern::findBoundaryPoints(), and StdMeshers_Penta_3D::FindNodeOnShape().
|
inherited |
|
inherited |
bool StdMeshers_PrismAsBlock::HasNodeColumn | ( | const SMDS_MeshNode * | node | ) | const |
Return pointer to column of nodes.
node | - bottom node from which the returned column goes up |
const | TNodeColumn* - 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.
helper | - helper loaded with mesh and 3D shape |
prism | - prism topology |
bool | - false if a mesh or a shape are KO |
helper | - helper loaded with mesh and 3D shape |
thePrism | - a prism data |
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().
|
protectedinherited |
Call it after geometry initialisation.
References SMESH_Block::myGridComputed, SMESH_Block::myNbIterations, and SMESH_Block::mySumDist.
Referenced by Init(), SMESH_Block::LoadBlockShapes(), and SMESH_Block::LoadMeshBlock().
|
staticinherited |
/ Insert theShape into theShapeIDMap with theShapeID
theShape | - shape to insert |
theShapeID | - shape in-block ID |
theShapeIDMap | - map of block sub-shapes |
Referenced by Init(), and StdMeshers_PrismAsBlock::TSideFace::InsertSubShapes().
|
static |
Check curve orientation of a bootom edge.
meshDS | - mesh DS |
columnsMap | - node columns map of side face |
bottomEdge | - the bootom edge |
sideFaceID | - side face in-block ID |
bool | - true if orienation coinside with in-block froward orienation |
meshDS | - mesh DS |
columnsMap | - node columns map of side face |
bottomEdge | - the bootom edge |
sideFaceID | - side face in-block ID |
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().
|
staticinherited |
Referenced by StdMeshers_SMESHBlock::IsForwadEdge(), SMESH_Block::LoadBlockShapes(), and SMESH_Block::LoadFace().
|
inherited |
References SMESH_Block::distance(), and SMESH_Block::myTolerance.
|
inherited |
References SMESH_Block::FindBlockShapes().
Referenced by SMESH_Pattern::Apply(), StdMeshers_Projection_3D::Compute(), and StdMeshers_SMESHBlock::Load().
|
inherited |
Initialize block geometry with shapes from theShapeIDMap.
theShapeIDMap | - map of block sub-shapes |
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().
|
inherited |
Load face geometry.
theFace | - face |
theFaceID | - face in-block ID |
theShapeIDMap | - map of block sub-shapes |
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().
|
inherited |
References SMESH_Block::GetEdgeVertexIDs(), SMESH_Block::GetFaceEdgesIDs(), SMDS_VolumeTool::GetFaceNodesIndices(), SMDS_VolumeTool::GetNodes(), gpXYZ, SMESH_Block::ID_Ex00, SMESH_Block::ID_FirstE, SMESH_Block::ID_FirstF, SMESH_Block::ID_Fxy0, SMESH_Block::ID_Shell, SMESH_Block::ID_V000, SMESH_Block::ID_V001, SMESH_Block::ID_V010, SMESH_Block::ID_V011, SMESH_Block::ID_V100, SMESH_Block::ID_V101, SMESH_Block::ID_V110, SMESH_Block::ID_V111, SMESH_Block::init(), SMDS_VolumeTool::IsLinked(), MESSAGE, SMESH_Block::myEdge, SMESH_Block::myFace, SMESH_Block::myPnt, SMESH_Block::NbEdges(), SMDS_VolumeTool::NbFaces(), SMDS_VolumeTool::NbNodes(), SMDS_VolumeTool::Set(), SMESH_Block::TEdge::Set(), SMESH_Block::TFace::Set(), and SMDS_VolumeTool::SetExternalNormal().
Referenced by SMESH_Pattern::Apply().
SMESH_Mesh* StdMeshers_PrismAsBlock::Mesh | ( | ) | const |
Return pointer to mesh.
SMESH_Mesh | - mesh |
SMESHDS_Mesh* StdMeshers_PrismAsBlock::MeshDS | ( | ) | const |
Return pointer to mesh DS.
SMESHDS_Mesh | - mesh DS |
Referenced by GetLayersTransformation(), and Init().
|
staticinherited |
Referenced by SMESH_Block::LoadMeshBlock(), and StdMeshers_SMESHBlock::StdMeshers_SMESHBlock().
|
inherited |
|
staticinherited |
Referenced by StdMeshers_Penta_3D::StdMeshers_Penta_3D().
|
staticinherited |
Referenced by StdMeshers_Penta_3D::StdMeshers_Penta_3D().
|
inherited |
|
staticinherited |
|
protectedinherited |
Find more precise solution.
[in] | thePoint | - the point |
[in,out] | theParams | - solution to precise |
[in] | theFaceID | - FACE ID |
References SMESH_Block::distance(), SMESH_Block::findUVAround(), SMESH_Block::findUVByHalfDivision(), SMESH_Block::TFace::GetUInd(), SMESH_Block::TFace::GetVInd(), SMESH_Block::ID_FirstF, SMESH_Block::myFace, SMESH_Block::myTolerance, SMESH_Block::TFace::Point(), and SMESH_Block::TFace::Surface().
Referenced by SMESH_Block::ComputeParameters(), and SMESH_Block::computeParameters().
|
protectedinherited |
Store a solution if it's better than a previous one.
[in] | theNewParams | - a new solution |
[out] | theParams | - the parameters to store solution in |
[in] | sqDistance | - a square distance reached at theNewParams |
References SMESH_Block::distance(), SMESH_Block::myTolerance, SMESH_Block::myValues, and SMESH_Block::SQUARE_DIST.
Referenced by SMESH_Block::findUVAround(), and SMESH_Block::findUVByHalfDivision().
|
inherited |
References SMESH_Block::myTolerance.
const TopoDS_Shape& StdMeshers_PrismAsBlock::Shape | ( | const int | shapeID | ) | const |
Return a in-block shape.
shapeID | - shape given by in-block index |
SMESHDS_SubMesh* | - found submesh |
int StdMeshers_PrismAsBlock::ShapeID | ( | const TopoDS_Shape & | shape | ) | const |
Return in-block ID of a shape.
shape | - block sub-shape |
int | - ID or zero if the shape has no ID |
|
inherited |
Referenced by SMESH_MesherHelper::AddVolume(), SMESH_Pattern::Apply(), StdMeshers_HexaFromSkin_3D::Compute(), StdMeshers_Projection_3D::Compute(), StdMeshers_CompositeHexa_3D::Compute(), StdMeshers_Hexa_3D::Compute(), StdMeshers_Prism_3D::compute(), SMESH_Block::ComputeParameters(), StdMeshers_Penta_3D::CreateNode(), faceGridToPythonDump(), SMESH_MesherHelper::FixQuadraticElements(), StdMeshers_SMESHBlock::Point(), SMESH_Block::Value(), and SMESH_Block::Values().
|
staticinherited |
SMESH_subMesh* StdMeshers_PrismAsBlock::SubMesh | ( | const int | shapeID | ) | const |
Return submesh of a shape.
shapeID | - shape given by in-block index |
SMESH_subMesh* | - found submesh |
Referenced by GetLayersTransformation().
SMESHDS_SubMesh* StdMeshers_PrismAsBlock::SubMeshDS | ( | const int | shapeID | ) | const |
Return submesh DS of a shape.
shapeID | - shape given by in-block index |
SMESHDS_SubMesh* | - found submesh DS |
|
inherited |
|
inherited |
References Abs(), SMESH_Block::DRV_1, SMESH_Block::DRV_2, SMESH_Block::DRV_3, SMESH_Block::funcValue(), MESSAGE, SMESH_Block::myFaceIndex, SMESH_Block::myNbIterations, SMESH_Block::myParam, SMESH_Block::myPoint, SMESH_Block::myTolerance, SMESH_Block::myValues, SMESH_Block::ShellPoint(), and SMESH_Block::SQUARE_DIST.
Referenced by SMESH_Block::Derivatives().
References SMESH_Block::ID_V000, SMESH_Block::ID_V010, SMESH_Block::ID_V100, and SMESH_Block::ID_V110.
Referenced by SMESH_Block::ComputeParameters(), and SMESH_Block::EdgeParameters().
Referenced by SMESH_Pattern::Apply(), and StdMeshers_SMESHBlock::Point().
int StdMeshers_PrismAsBlock::VerticalSize | ( | ) | const |
Return number of nodes on every vertical edge.
int | - number of nodes including end nodes |
Referenced by GetLayersTransformation(), and Init().
|
protectedinherited |
Referenced by SMESH_Block::ComputeParameters().
|
protectedinherited |
|
private |
|
protectedinherited |
|
protectedinherited |
Referenced by SMESH_Block::ComputeParameters(), SMESH_Block::computeParameters(), and SMESH_Block::Values().
|
protectedinherited |
Referenced by SMESH_Block::ComputeParameters(), and SMESH_Block::computeParameters().
|
protectedinherited |
Referenced by SMESH_Block::ComputeParameters(), and SMESH_Block::init().
|
private |
|
protectedinherited |
|
protectedinherited |
Referenced by SMESH_Block::computeParameters(), SMESH_Block::Value(), and SMESH_Block::Values().
|
private |
|
protectedinherited |
Referenced by Init(), SMESH_Block::LoadBlockShapes(), and SMESH_Block::LoadMeshBlock().
|
protectedinherited |
Referenced by SMESH_Block::computeParameters(), SMESH_Block::Value(), and SMESH_Block::Values().
|
private |
|
private |
Referenced by Clear(), GetNodeColumn(), and Init().
|
private |
|
protectedinherited |
Referenced by SMESH_Block::computeParameters().
|
protectedinherited |
Referenced by SMESH_Block::ComputeParameters(), SMESH_Block::computeParameters(), and SMESH_Block::init().
|
protectedinherited |
|
protectedinherited |