Class corresponding to a meshed composite face of a box. More...
Public Types | |
| typedef SMDS_SetIterator < const _QuadFaceGrid &, TChildren::const_iterator, SMDS::SimpleAccessor< const _QuadFaceGrid &, TChildren::const_iterator > , SMDS::PassAllValueFilter < _QuadFaceGrid > >  | TChildIterator | 
Public Member Functions | |
| _QuadFaceGrid () | |
| constructor of non-initialized _QuadFaceGrid  More... | |
| bool | Init (const TopoDS_Face &f, SMESH_Mesh &mesh) | 
| < initialization  More... | |
| bool | AddContinuousFace (const _QuadFaceGrid &f, const TopTools_MapOfShape &internalEdges) | 
| Try to set the side as bottom hirizontal side.  More... | |
| bool | SetBottomSide (const _FaceSide &side, int *sideIndex=0) | 
| Return face adjacent to zero-based i-th side of this face.  More... | |
| _QuadFaceGrid * | FindAdjacentForSide (int i, list< _QuadFaceGrid > &faces, EBoxSides id) const | 
| Reverse edges in order to have the bottom edge going along axes of the unit box.  More... | |
| void | ReverseEdges () | 
| Reverse edges in order to have them oriented along axes of the unit box.  More... | |
| bool | IsComplex () const | 
| int | NbChildren () const | 
| TChildIterator | GetChildren () const | 
| bool | LoadGrid (SMESH_Mesh &mesh) | 
| < Load nodes of a mesh  More... | |
| void | ComputeIJK (int i1, int i2, double v3) | 
| Return number of segments on the hirizontal sides.  More... | |
| int | GetNbHoriSegments (SMESH_Mesh &mesh, bool withBrothers=false) const | 
| Return number of segments on the vertical sides.  More... | |
| int | GetNbVertSegments (SMESH_Mesh &mesh, bool withBrothers=false) const | 
| Return edge on the hirizontal bottom sides.  More... | |
| int | GetHoriEdges (vector< TopoDS_Edge > &edges) const | 
| Return a node by its position.  More... | |
| const SMDS_MeshNode * | GetNode (int iHori, int iVert) const | 
| Return node coordinates by its position.  More... | |
| gp_XYZ | GetXYZ (int iHori, int iVert) const | 
| Return normalized parameters of nodes within the unitary cube.  More... | |
| gp_XYZ & | GetIJK (int iCol, int iRow) | 
| const _FaceSide & | GetSide (int i) const | 
| < Return i-th face side (0<i<4)  More... | |
| TopoDS_Face | GetFace () const | 
| Return normal to the face at vertex v.  More... | |
| bool | GetNormal (const TopoDS_Vertex &v, gp_Vec &n) const | 
| Return normal to the face at vertex v.  More... | |
| SMESH_ComputeErrorPtr | GetError () const | 
| void | SetID (EBoxSides id) | 
| void | DumpGrid () const | 
| Dumps coordinates of grid nodes.  More... | |
| void | DumpVertices () const | 
| Dump vertices.  More... | |
Private Types | |
| typedef list< _QuadFaceGrid > | TChildren | 
Private Member Functions | |
| bool | error (const std::string &text, int code=COMPERR_ALGO_FAILED) | 
| bool | error (const SMESH_ComputeErrorPtr &err) | 
| bool | loadCompositeGrid (SMESH_Mesh &mesh) | 
| Fill myGrid with nodes of patches.  More... | |
| bool | fillGrid (SMESH_Mesh &theMesh, vector< const SMDS_MeshNode * > &theGrid, const _Indexer &theIndexer, int theX, int theY) | 
| Store nodes of a simple face into grid starting from (x,y) position.  More... | |
| bool | locateChildren () | 
| Find out mutual location of children: find their right and up brothers.  More... | |
| void | setBrothers (set< _QuadFaceGrid * > ¬LocatedBrothers) | 
| Find right an upper brothers among notLocatedBrothers.  More... | |
Private Attributes | |
| TopoDS_Face | myFace | 
| _FaceSide | mySides | 
| bool | myReverse | 
| TChildren | myChildren | 
| _QuadFaceGrid * | myLeftBottomChild | 
| _QuadFaceGrid * | myRightBrother | 
| _QuadFaceGrid * | myUpBrother | 
| _Indexer | myIndexer | 
| vector< const SMDS_MeshNode * > | myGrid | 
| vector< gp_XYZ > | myIJK | 
| SMESH_ComputeErrorPtr | myError | 
| EBoxSides | myID | 
Class corresponding to a meshed composite face of a box.
Provides simplified access to it's sub-mesh data.
| typedef SMDS_SetIterator< const _QuadFaceGrid&, TChildren::const_iterator, SMDS::SimpleAccessor<const _QuadFaceGrid&,TChildren::const_iterator>, SMDS::PassAllValueFilter<_QuadFaceGrid> > _QuadFaceGrid::TChildIterator | 
      
  | 
  private | 
| _QuadFaceGrid::_QuadFaceGrid | ( | ) | 
constructor of non-initialized _QuadFaceGrid
| bool _QuadFaceGrid::AddContinuousFace | ( | const _QuadFaceGrid & | f, | 
| const TopTools_MapOfShape & | internalEdges | ||
| ) | 
Try to set the side as bottom hirizontal side.
Try to unite self with other ordinary face.
References _FaceSide::AppendSide(), _FaceSide::Contain(), DUMP_VERT, _FaceSide::Edge(), _FaceSide::FirstVertex(), GetChildren(), _FaceSide::GetSide(), GetSide(), IsComplex(), _FaceSide::LastVertex(), SMDS_SetIterator< VALUE, VALUE_SET_ITERATOR, ACCESOR, VALUE_FILTER >::more(), myChildren, myFace, myLeftBottomChild, mySides, and SMESH_MesherHelper::WrapIndex().
Referenced by StdMeshers_CompositeHexa_3D::findBoxFaces().
Return number of segments on the hirizontal sides.
Fill myIJK with normalized parameters of nodes in myGrid.
| [in] | i1 | - coordinate index along rows of myGrid | 
| [in] | i2 | - coordinate index along columns of myGrid | 
| [in] | v3 | - value of the constant parameter | 
References GetIJK(), GetXYZ(), myIJK, and myIndexer.
Referenced by StdMeshers_CompositeHexa_3D::Compute().
| void _QuadFaceGrid::DumpGrid | ( | ) | const | 
Dumps coordinates of grid nodes.
References myChildren, myGrid, myID, myIndexer, SetID(), SMDS_MeshNode::X(), SMDS_MeshNode::Y(), and SMDS_MeshNode::Z().
Referenced by loadCompositeGrid(), and LoadGrid().
| void _QuadFaceGrid::DumpVertices | ( | ) | const | 
Dump vertices.
References B_BACK, B_BOTTOM, _FaceSide::Dump(), _FaceSide::GetSide(), myChildren, myID, mySides, and SetID().
Referenced by ReverseEdges().
      
  | 
  private | 
References SMESH_ComputeError::New().
Referenced by fillGrid(), loadCompositeGrid(), LoadGrid(), and locateChildren().
      
  | 
  private | 
      
  | 
  private | 
Store nodes of a simple face into grid starting from (x,y) position.
References error(), fillGrid(), GetError(), LoadGrid(), myGrid, myIndexer, myReverse, myRightBrother, and myUpBrother.
Referenced by fillGrid(), and loadCompositeGrid().
| _QuadFaceGrid * _QuadFaceGrid::FindAdjacentForSide | ( | int | i, | 
| list< _QuadFaceGrid > & | faces, | ||
| EBoxSides | id | ||
| ) | const | 
Reverse edges in order to have the bottom edge going along axes of the unit box.
Return face adjacent to i-th side of this face, (0<i<4)
References GetSide(), SetBottomSide(), and SetID().
Referenced by StdMeshers_CompositeHexa_3D::Evaluate(), and StdMeshers_CompositeHexa_3D::findBoxFaces().
| TChildIterator _QuadFaceGrid::GetChildren | ( | ) | const | 
| SMESH_ComputeErrorPtr _QuadFaceGrid::GetError | ( | ) | const | 
Referenced by StdMeshers_CompositeHexa_3D::Compute(), fillGrid(), and loadCompositeGrid().
| TopoDS_Face _QuadFaceGrid::GetFace | ( | ) | const | 
Return normal to the face at vertex v.
Referenced by StdMeshers_CompositeHexa_3D::Evaluate().
| int _QuadFaceGrid::GetHoriEdges | ( | vector< TopoDS_Edge > & | edges | ) | const | 
Return a node by its position.
Return edge on the hirizontal bottom sides.
References _FaceSide::Edge(), GetHoriEdges(), _FaceSide::GetSide(), myLeftBottomChild, myRightBrother, mySides, and Q_BOTTOM.
Referenced by StdMeshers_CompositeHexa_3D::Evaluate(), and GetHoriEdges().
Referenced by StdMeshers_CompositeHexa_3D::Compute(), and ComputeIJK().
| int _QuadFaceGrid::GetNbHoriSegments | ( | SMESH_Mesh & | mesh, | 
| bool | withBrothers = false  | 
        ||
| ) | const | 
Return number of segments on the vertical sides.
Return number of segments on the hirizontal sides.
References GetNbHoriSegments(), _FaceSide::GetNbSegments(), _FaceSide::GetSide(), myLeftBottomChild, myRightBrother, mySides, and Q_BOTTOM.
Referenced by StdMeshers_CompositeHexa_3D::Compute(), GetNbHoriSegments(), and loadCompositeGrid().
| int _QuadFaceGrid::GetNbVertSegments | ( | SMESH_Mesh & | mesh, | 
| bool | withBrothers = false  | 
        ||
| ) | const | 
Return edge on the hirizontal bottom sides.
Return number of segments on the vertical sides.
References _FaceSide::GetNbSegments(), GetNbVertSegments(), _FaceSide::GetSide(), myLeftBottomChild, mySides, myUpBrother, and Q_LEFT.
Referenced by StdMeshers_CompositeHexa_3D::Compute(), GetNbVertSegments(), and loadCompositeGrid().
| const SMDS_MeshNode * _QuadFaceGrid::GetNode | ( | int | iHori, | 
| int | iVert | ||
| ) | const | 
Return node coordinates by its position.
Return a node by its position.
References myGrid, and myIndexer.
Referenced by StdMeshers_CompositeHexa_3D::Compute().
| bool _QuadFaceGrid::GetNormal | ( | const TopoDS_Vertex & | v, | 
| gp_Vec & | n | ||
| ) | const | 
Return normal to the face at vertex v.
References _FaceSide::Contain(), myChildren, myFace, and mySides.
< Return i-th face side (0<i<4)
Return i-th side.
Return it's face, NULL if it is composite
References _FaceSide::GetSide(), GetSide(), locateChildren(), me, myChildren, myLeftBottomChild, myRightBrother, mySides, myUpBrother, Q_BOTTOM, Q_LEFT, Q_RIGHT, and Q_TOP.
Referenced by AddContinuousFace(), FindAdjacentForSide(), StdMeshers_CompositeHexa_3D::findBoxFaces(), GetSide(), locateChildren(), and setBrothers().
Return normalized parameters of nodes within the unitary cube.
Return node coordinates by its position.
References myGrid, and myIndexer.
Referenced by StdMeshers_CompositeHexa_3D::Compute(), and ComputeIJK().
| bool _QuadFaceGrid::Init | ( | const TopoDS_Face & | f, | 
| SMESH_Mesh & | mesh | ||
| ) | 
< initialization
Initialization.
try to unite self with other face
References _FaceSide::AppendSide(), SMESH_Block::GetOrderedEdges(), _FaceSide::GetSide(), SMESH_Algo::IsContinuous(), myChildren, myFace, myGrid, myLeftBottomChild, myReverse, myRightBrother, mySides, myUpBrother, Q_BOTTOM, Q_LEFT, Q_RIGHT, Q_TOP, _FaceSide::SetID(), and _FaceSide::size().
Referenced by StdMeshers_CompositeHexa_3D::findBoxFaces().
| bool _QuadFaceGrid::IsComplex | ( | ) | const | 
      
  | 
  private | 
Fill myGrid with nodes of patches.
References DumpGrid(), error(), fillGrid(), GetError(), GetNbHoriSegments(), GetNbVertSegments(), locateChildren(), myGrid, myIndexer, myLeftBottomChild, and myReverse.
Referenced by LoadGrid().
| bool _QuadFaceGrid::LoadGrid | ( | SMESH_Mesh & | mesh | ) | 
< Load nodes of a mesh
Load nodes of a mesh.
Computes normalized parameters of nodes of myGrid
References SMESHDS_SubMesh::Contains(), DumpGrid(), ERR_LI, error(), SMESH_MeshAlgos::FindFaceInSet(), SMESHDS_SubMesh::GetElements(), _FaceSide::GetNbSegments(), SMDS_MeshElement::GetNode(), SMDS_MeshElement::GetNodeIndex(), _FaceSide::GetSide(), loadCompositeGrid(), myChildren, myFace, myGrid, myID, myIndexer, myReverse, mySides, SMDS_MeshElement::NbNodes(), Q_BOTTOM, Q_LEFT, and _FaceSide::StoreNodes().
Referenced by StdMeshers_CompositeHexa_3D::Compute(), and fillGrid().
      
  | 
  private | 
Find out mutual location of children: find their right and up brothers.
References DUMP_VERT, ERR_LI, error(), _FaceSide::FirstVertex(), GetSide(), myChildren, myLeftBottomChild, Q_BOTTOM, and setBrothers().
Referenced by GetSide(), and loadCompositeGrid().
| int _QuadFaceGrid::NbChildren | ( | ) | const | 
Referenced by StdMeshers_CompositeHexa_3D::Evaluate().
| void _QuadFaceGrid::ReverseEdges | ( | ) | 
Reverse edges in order to have them oriented along axes of the unit box.
References DumpVertices(), myChildren, and myReverse.
Referenced by StdMeshers_CompositeHexa_3D::findBoxFaces().
Return face adjacent to zero-based i-th side of this face.
Try to set the side as bottom hirizontal side.
References _FaceSide::Contain(), myChildren, myLeftBottomChild, myRightBrother, mySides, myUpBrother, and _FaceSide::SetBottomSide().
Referenced by FindAdjacentForSide(), and StdMeshers_CompositeHexa_3D::findBoxFaces().
      
  | 
  private | 
Find right an upper brothers among notLocatedBrothers.
References DUMP_VERT, _FaceSide::FirstVertex(), GetSide(), _FaceSide::LastVertex(), myRightBrother, myUpBrother, Q_BOTTOM, Q_LEFT, and setBrothers().
Referenced by locateChildren(), and setBrothers().
| void _QuadFaceGrid::SetID | ( | EBoxSides | id | ) | 
Referenced by DumpGrid(), DumpVertices(), FindAdjacentForSide(), and StdMeshers_CompositeHexa_3D::findBoxFaces().
      
  | 
  private | 
Referenced by AddContinuousFace(), DumpGrid(), DumpVertices(), GetNormal(), GetSide(), Init(), LoadGrid(), locateChildren(), ReverseEdges(), and SetBottomSide().
      
  | 
  private | 
      
  | 
  private | 
Referenced by AddContinuousFace(), GetNormal(), Init(), and LoadGrid().
      
  | 
  private | 
Referenced by DumpGrid(), fillGrid(), GetNode(), GetXYZ(), Init(), loadCompositeGrid(), and LoadGrid().
      
  | 
  private | 
Referenced by DumpGrid(), DumpVertices(), and LoadGrid().
      
  | 
  private | 
Referenced by ComputeIJK().
      
  | 
  private | 
Referenced by ComputeIJK(), DumpGrid(), fillGrid(), GetNode(), GetXYZ(), loadCompositeGrid(), and LoadGrid().
      
  | 
  private | 
Referenced by AddContinuousFace(), GetHoriEdges(), GetNbHoriSegments(), GetNbVertSegments(), GetSide(), Init(), loadCompositeGrid(), locateChildren(), and SetBottomSide().
      
  | 
  private | 
Referenced by fillGrid(), Init(), loadCompositeGrid(), LoadGrid(), and ReverseEdges().
      
  | 
  private | 
Referenced by fillGrid(), GetHoriEdges(), GetNbHoriSegments(), GetSide(), Init(), SetBottomSide(), and setBrothers().
      
  | 
  private | 
Referenced by AddContinuousFace(), DumpVertices(), GetHoriEdges(), GetNbHoriSegments(), GetNbVertSegments(), GetNormal(), GetSide(), Init(), LoadGrid(), and SetBottomSide().
      
  | 
  private | 
Referenced by fillGrid(), GetNbVertSegments(), GetSide(), Init(), SetBottomSide(), and setBrothers().