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 |