#include <SMDS_Downward.hxx>
Public Member Functions | |
virtual int | getNumberOfUpCells (int cellId) |
virtual const int * | getUpCells (int cellId) |
virtual const unsigned char * | getUpTypes (int cellId) |
virtual void | getNodeIds (int cellId, std::set< int > &nodeSet) |
virtual int | getNumberOfDownCells (int cellId) |
Get the number of downward entities associated to a cell (always the same for a given vtk type of cell) More... | |
virtual const int * | getDownCells (int cellId) |
get a pointer on the downward entities id's associated to a cell. More... | |
virtual const unsigned char * | getDownTypes (int cellId) |
get a list of vtk cell types associated to downward entities of a given cell, in the same order than the downward entities id's list ( More... | |
virtual int | getNodes (int cellId, int *nodevec) |
virtual void | getOrderedNodesOfFace (int cellId, std::vector< vtkIdType > &orderedNodes) |
int | getVtkCellId (int cellId) |
int | getMaxId () |
Static Public Member Functions | |
static int | getCellDimension (unsigned char cellType) |
get the dimension of a cell (1,2,3 for 1D, 2D 3D) given the vtk cell type More... | |
Protected Member Functions | |
SMDS_Down3D (SMDS_UnstructuredGrid *grid, int nbDownCells) | |
~SMDS_Down3D () | |
virtual void | allocate (int nbElems) |
virtual void | compactStorage () |
virtual void | computeFacesWithNodes (int cellId, ListElemByNodesType &facesWithNodes)=0 |
int | FindFaceByNodes (int cellId, ElemByNodesType &faceByNodes) |
int | addCell (int vtkId=-1) |
Give or create an entry for downward connectivity structure relative to a cell. More... | |
virtual void | initCell (int cellId) |
generic method do nothing. More... | |
virtual void | addDownCell (int cellId, int lowCellId, unsigned char aType) |
Id's are downward connectivity id's. More... | |
virtual void | addUpCell (int cellId, int upCellId, unsigned char aType) |
Id's are downward connectivity id's. More... | |
virtual int | getNodeSet (int cellId, int *nodeSet) |
Protected Attributes | |
SMDS_UnstructuredGrid * | _grid |
int | _maxId |
int | _nbDownCells |
the same number for all cells of a derived class More... | |
std::vector< int > | _cellIds |
growing size: all the down cell id's, size = _maxId * _nbDownCells More... | |
std::vector< int > | _vtkCellIds |
growing size: size = _maxId, either vtkId or -1 More... | |
std::vector< unsigned char > | _cellTypes |
fixed size: the same vector for all cells of a derived class More... | |
Static Protected Attributes | |
static std::vector< int > | _cellDimension |
conversion table: type –> dimension More... | |
Friends | |
class | SMDS_UnstructuredGrid |
|
protected |
|
protected |
Give or create an entry for downward connectivity structure relative to a cell.
If the entry already exists, just return its id, otherwise, create it. The internal storage memory is allocated if needed. The SMDS_UnstructuredGrid::_cellIdToDownId vector is completed for vtkUnstructuredGrid cells.
vtkId | for a vtkUnstructuredGrid cell or -1 (default) for a created downward cell. |
References SMDS_Downward::_grid, SMDS_Downward::_maxId, SMDS_Downward::_vtkCellIds, SMDS_Downward::allocate(), SMDS_UnstructuredGrid::CellIdToDownId(), SMDS_Downward::initCell(), and SMDS_UnstructuredGrid::setCellIdToDownId().
|
protectedvirtualinherited |
Id's are downward connectivity id's.
add a downward entity of dimension n-1 (cell or node) to a given cell.
Actual implementation is done in derived methods.
cellId | index of the parent cell (dimension n) in the downward structure relative to a vtk cell type. |
lowCellId | index of the children cell to add (dimension n-1) |
aType | vtk cell type of the cell to add (needed to find the SMDS_Downward structure containing the cell to add). |
Reimplemented in SMDS_DownQuadHexa, SMDS_DownHexa, SMDS_DownQuadPenta, SMDS_DownPenta, SMDS_DownQuadPyramid, SMDS_DownPyramid, SMDS_DownQuadTetra, SMDS_DownTetra, SMDS_DownQuadQuadrangle, SMDS_DownQuadrangle, SMDS_DownQuadTriangle, and SMDS_DownTriangle.
|
protectedvirtualinherited |
Id's are downward connectivity id's.
add a downward entity of dimension n+1 to a given cell.
Actual implementation is done in derived methods.
cellId | index of the children cell (dimension n) in the downward structure relative to a vtk cell type. |
upCellId | index of the parent cell to add (dimension n+1) |
aType | vtk cell type of the cell to add (needed to find the SMDS_Downward structure containing the cell to add). |
Reimplemented in SMDS_Down2D, and SMDS_Down1D.
|
protectedvirtual |
Implements SMDS_Downward.
References SMDS_Downward::_cellIds, SMDS_Downward::_nbDownCells, SMDS_Downward::_vtkCellIds, and SMDS_Mesh::chunkSize.
|
protectedvirtual |
Implements SMDS_Downward.
|
protectedpure virtual |
Implemented in SMDS_DownQuadHexa, SMDS_DownHexa, SMDS_DownQuadPenta, SMDS_DownPenta, SMDS_DownQuadPyramid, SMDS_DownPyramid, SMDS_DownQuadTetra, and SMDS_DownTetra.
Referenced by SMDS_UnstructuredGrid::BuildDownwardConnectivity().
|
protected |
References SMDS_Downward::_cellIds, SMDS_Downward::_cellTypes, SMDS_Downward::_grid, SMDS_Downward::_nbDownCells, SMDS_UnstructuredGrid::getDownArray(), SMDS_Downward::getNodeSet(), ElemByNodesType::nbNodes, ElemByNodesType::nodeIds, and ElemByNodesType::vtkType.
Referenced by SMDS_UnstructuredGrid::BuildDownwardConnectivity().
|
staticinherited |
get the dimension of a cell (1,2,3 for 1D, 2D 3D) given the vtk cell type
cellType | vtk cell type |
References VTK_MAXTYPE.
Referenced by SMDS_UnstructuredGrid::BuildDownwardConnectivity(), SMDS_Down1D::computeFaces(), SMDS_Down2D::computeVolumeIdsFromNodesFace(), SMDS_Down1D::computeVtkCells(), SMESH_MeshEditor::CreateHoleSkin(), SMDS_UnstructuredGrid::GetNeighbors(), SMDS_UnstructuredGrid::getOrderedNodesOfFace(), SMDS_UnstructuredGrid::GetParentVolumes(), and SMDS_Downward::SMDS_Downward().
get a pointer on the downward entities id's associated to a cell.
cellId | index of the cell in the downward structure relative to a given vtk cell type. |
References SMDS_Downward::_cellIds, and SMDS_Downward::_nbDownCells.
Referenced by SMDS_Down1D::computeFaces(), SMESH_MeshEditor::CreateHoleSkin(), and SMESH_MeshEditor::DoubleNodesOnGroupBoundaries().
|
virtualinherited |
get a list of vtk cell types associated to downward entities of a given cell, in the same order than the downward entities id's list (
cellId | index of the cell in the downward structure relative to a vtk cell type. |
References SMDS_Downward::_cellTypes.
Referenced by SMDS_Down1D::computeFaces(), SMESH_MeshEditor::CreateHoleSkin(), and SMESH_MeshEditor::DoubleNodesOnGroupBoundaries().
|
inherited |
References SMDS_Downward::_maxId.
Referenced by SMDS_UnstructuredGrid::BuildDownwardConnectivity().
Implements SMDS_Downward.
References SMDS_Downward::_grid, and SMDS_Downward::_vtkCellIds.
Reimplemented in SMDS_Down1D.
Referenced by SMESH_MeshEditor::CreateHoleSkin(), and SMESH_MeshEditor::DoubleNodesOnGroupBoundaries().
Reimplemented in SMDS_Down2D, and SMDS_Down1D.
Referenced by SMDS_Down2D::FindEdgeByNodes(), FindFaceByNodes(), and SMDS_Down1D::getNodes().
Get the number of downward entities associated to a cell (always the same for a given vtk type of cell)
cellId | not used here. |
References SMDS_Downward::_nbDownCells.
Referenced by SMDS_Down1D::computeFaces(), SMESH_MeshEditor::CreateHoleSkin(), and SMESH_MeshEditor::DoubleNodesOnGroupBoundaries().
Implements SMDS_Downward.
|
virtualinherited |
Reimplemented in SMDS_DownQuadHexa, SMDS_DownHexa, SMDS_DownQuadPenta, SMDS_DownPenta, SMDS_DownQuadPyramid, SMDS_DownPyramid, SMDS_DownQuadTetra, and SMDS_DownTetra.
Referenced by SMDS_UnstructuredGrid::getOrderedNodesOfFace().
Implements SMDS_Downward.
|
virtual |
Implements SMDS_Downward.
References SMDS_Downward::_vtkCellIds.
Referenced by SMESH_MeshEditor::CreateHoleSkin().
|
protectedvirtualinherited |
generic method do nothing.
see derived methods
cellId |
Reimplemented in SMDS_Down1D.
Referenced by SMDS_Downward::addCell().
|
friend |
|
staticprotectedinherited |
conversion table: type –> dimension
Referenced by SMDS_Downward::SMDS_Downward().
|
protectedinherited |
growing size: all the down cell id's, size = _maxId * _nbDownCells
Referenced by SMDS_DownTriangle::addDownCell(), SMDS_DownQuadTriangle::addDownCell(), SMDS_DownQuadrangle::addDownCell(), SMDS_DownQuadQuadrangle::addDownCell(), SMDS_DownTetra::addDownCell(), SMDS_DownQuadTetra::addDownCell(), SMDS_DownPyramid::addDownCell(), SMDS_DownQuadPyramid::addDownCell(), SMDS_DownPenta::addDownCell(), SMDS_DownQuadPenta::addDownCell(), SMDS_DownHexa::addDownCell(), SMDS_DownQuadHexa::addDownCell(), SMDS_Down1D::allocate(), SMDS_Down2D::allocate(), allocate(), SMDS_Down1D::compactStorage(), SMDS_Down2D::compactStorage(), SMDS_Down1D::computeFaces(), SMDS_Down1D::computeVtkCells(), SMDS_Down2D::FindEdgeByNodes(), FindFaceByNodes(), SMDS_Downward::getDownCells(), SMDS_Down1D::getNodeIds(), SMDS_Down2D::getNodeIds(), SMDS_Down1D::getNodeSet(), SMDS_Down1D::setNodes(), and SMDS_Downward::SMDS_Downward().
|
protectedinherited |
fixed size: the same vector for all cells of a derived class
Referenced by SMDS_Down2D::FindEdgeByNodes(), FindFaceByNodes(), SMDS_Downward::getDownTypes(), SMDS_Down2D::getNodeIds(), SMDS_DownEdge::SMDS_DownEdge(), SMDS_DownHexa::SMDS_DownHexa(), SMDS_DownPenta::SMDS_DownPenta(), SMDS_DownPyramid::SMDS_DownPyramid(), SMDS_DownQuadEdge::SMDS_DownQuadEdge(), SMDS_DownQuadHexa::SMDS_DownQuadHexa(), SMDS_DownQuadPenta::SMDS_DownQuadPenta(), SMDS_DownQuadPyramid::SMDS_DownQuadPyramid(), SMDS_DownQuadQuadrangle::SMDS_DownQuadQuadrangle(), SMDS_DownQuadrangle::SMDS_DownQuadrangle(), SMDS_DownQuadTetra::SMDS_DownQuadTetra(), SMDS_DownQuadTriangle::SMDS_DownQuadTriangle(), SMDS_DownTetra::SMDS_DownTetra(), SMDS_DownTriangle::SMDS_DownTriangle(), and SMDS_Downward::SMDS_Downward().
|
protectedinherited |
Referenced by SMDS_Downward::addCell(), SMDS_Down1D::computeFaces(), SMDS_DownTetra::computeFacesWithNodes(), SMDS_DownQuadTetra::computeFacesWithNodes(), SMDS_DownPyramid::computeFacesWithNodes(), SMDS_DownQuadPyramid::computeFacesWithNodes(), SMDS_DownPenta::computeFacesWithNodes(), SMDS_DownQuadPenta::computeFacesWithNodes(), SMDS_DownHexa::computeFacesWithNodes(), SMDS_DownQuadHexa::computeFacesWithNodes(), SMDS_Down2D::computeVolumeIds(), SMDS_Down2D::computeVolumeIdsFromNodesFace(), SMDS_Down1D::computeVtkCells(), SMDS_Down2D::FindEdgeByNodes(), FindFaceByNodes(), SMDS_Down2D::getNodeIds(), getNodeIds(), SMDS_DownTetra::getOrderedNodesOfFace(), SMDS_DownQuadTetra::getOrderedNodesOfFace(), SMDS_DownPyramid::getOrderedNodesOfFace(), SMDS_DownQuadPyramid::getOrderedNodesOfFace(), SMDS_DownPenta::getOrderedNodesOfFace(), SMDS_DownQuadPenta::getOrderedNodesOfFace(), SMDS_DownHexa::getOrderedNodesOfFace(), SMDS_DownQuadHexa::getOrderedNodesOfFace(), SMDS_Down1D::setNodes(), and SMDS_Down2D::setTempNodes().
|
protectedinherited |
|
protectedinherited |
the same number for all cells of a derived class
Referenced by SMDS_DownTriangle::addDownCell(), SMDS_DownQuadTriangle::addDownCell(), SMDS_DownQuadrangle::addDownCell(), SMDS_DownQuadQuadrangle::addDownCell(), SMDS_DownTetra::addDownCell(), SMDS_DownQuadTetra::addDownCell(), SMDS_DownPyramid::addDownCell(), SMDS_DownQuadPyramid::addDownCell(), SMDS_DownPenta::addDownCell(), SMDS_DownQuadPenta::addDownCell(), SMDS_DownHexa::addDownCell(), SMDS_DownQuadHexa::addDownCell(), SMDS_Down1D::allocate(), SMDS_Down2D::allocate(), allocate(), SMDS_Down1D::compactStorage(), SMDS_Down2D::compactStorage(), SMDS_Down1D::computeFaces(), SMDS_Down1D::computeVtkCells(), SMDS_Down2D::FindEdgeByNodes(), FindFaceByNodes(), SMDS_Downward::getDownCells(), SMDS_Down1D::getNodeIds(), SMDS_Down2D::getNodeIds(), SMDS_Down1D::getNodeSet(), SMDS_Downward::getNumberOfDownCells(), and SMDS_Down1D::setNodes().
|
protectedinherited |
growing size: size = _maxId, either vtkId or -1
Referenced by SMDS_Downward::addCell(), SMDS_Down1D::allocate(), SMDS_Down2D::allocate(), allocate(), SMDS_Down1D::compactStorage(), SMDS_Down2D::compactStorage(), getNodeIds(), SMDS_DownTetra::getOrderedNodesOfFace(), SMDS_DownQuadTetra::getOrderedNodesOfFace(), SMDS_DownPyramid::getOrderedNodesOfFace(), SMDS_DownQuadPyramid::getOrderedNodesOfFace(), SMDS_DownPenta::getOrderedNodesOfFace(), SMDS_DownQuadPenta::getOrderedNodesOfFace(), SMDS_DownHexa::getOrderedNodesOfFace(), SMDS_DownQuadHexa::getOrderedNodesOfFace(), and SMDS_Downward::getVtkCellId().