#include <SMDS_Downward.hxx>
Public Member Functions | |
virtual void | getOrderedNodesOfFace (int cellId, std::vector< vtkIdType > &orderedNodes) |
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) |
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_DownQuadPenta (SMDS_UnstructuredGrid *grid) | |
~SMDS_DownQuadPenta () | |
virtual void | addDownCell (int cellId, int lowCellId, unsigned char aType) |
Id's are downward connectivity id's. More... | |
virtual void | computeFacesWithNodes (int cellId, ListElemByNodesType &facesWithNodes) |
Create a list of faces described by a vtk Type and an ordered set of Node Id's The quadratic wedge (or pentahedron) is defined by fifteen points. More... | |
virtual void | allocate (int nbElems) |
virtual void | compactStorage () |
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 | 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 |
References SMDS_Downward::_cellTypes.
|
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().
|
protectedvirtual |
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 from SMDS_Downward.
References SMDS_Downward::_cellIds, and SMDS_Downward::_nbDownCells.
|
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.
|
protectedvirtualinherited |
Implements SMDS_Downward.
References SMDS_Downward::_cellIds, SMDS_Downward::_nbDownCells, SMDS_Downward::_vtkCellIds, and SMDS_Mesh::chunkSize.
|
protectedvirtualinherited |
Implements SMDS_Downward.
|
protectedvirtual |
Create a list of faces described by a vtk Type and an ordered set of Node Id's The quadratic wedge (or pentahedron) is defined by fifteen points.
The ordering of the fifteen points defining the cell is point id's (0-5,6-14) where point id's 0-5 are the six corner vertices of the wedge, followed by nine mid-edge nodes (6-14). Note that these mid-edge nodes lie on the edges defined by (0,1), (1,2), (2,0), (3,4), (4,5), (5,3), (0,3), (1,4), (2,5).
cellId | volumeId in vtkUnstructuredGrid |
facesWithNodes | vector of face descriptors to be filled |
Implements SMDS_Down3D.
References SMDS_Downward::_grid, ListElemByNodesType::elems, ListElemByNodesType::nbElems, ElemByNodesType::nbNodes, ElemByNodesType::nodeIds, and ElemByNodesType::vtkType.
|
protectedinherited |
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(), SMDS_Down3D::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.
|
virtual |
Reimplemented from SMDS_Downward.
References SMDS_Downward::_grid, SMDS_UnstructuredGrid::_mesh, SMDS_Downward::_vtkCellIds, SMDS_Mesh::fromVtkToSmds(), and MESSAGE.
Implements SMDS_Downward.
|
virtualinherited |
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(), addDownCell(), SMDS_DownHexa::addDownCell(), SMDS_DownQuadHexa::addDownCell(), SMDS_Down1D::allocate(), SMDS_Down2D::allocate(), SMDS_Down3D::allocate(), SMDS_Down1D::compactStorage(), SMDS_Down2D::compactStorage(), SMDS_Down1D::computeFaces(), SMDS_Down1D::computeVtkCells(), SMDS_Down2D::FindEdgeByNodes(), SMDS_Down3D::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(), SMDS_Down3D::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_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(), computeFacesWithNodes(), SMDS_DownHexa::computeFacesWithNodes(), SMDS_DownQuadHexa::computeFacesWithNodes(), SMDS_Down2D::computeVolumeIds(), SMDS_Down2D::computeVolumeIdsFromNodesFace(), SMDS_Down1D::computeVtkCells(), SMDS_Down2D::FindEdgeByNodes(), SMDS_Down3D::FindFaceByNodes(), SMDS_Down2D::getNodeIds(), SMDS_Down3D::getNodeIds(), SMDS_DownTetra::getOrderedNodesOfFace(), SMDS_DownQuadTetra::getOrderedNodesOfFace(), SMDS_DownPyramid::getOrderedNodesOfFace(), SMDS_DownQuadPyramid::getOrderedNodesOfFace(), SMDS_DownPenta::getOrderedNodesOfFace(), 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(), addDownCell(), SMDS_DownHexa::addDownCell(), SMDS_DownQuadHexa::addDownCell(), SMDS_Down1D::allocate(), SMDS_Down2D::allocate(), SMDS_Down3D::allocate(), SMDS_Down1D::compactStorage(), SMDS_Down2D::compactStorage(), SMDS_Down1D::computeFaces(), SMDS_Down1D::computeVtkCells(), SMDS_Down2D::FindEdgeByNodes(), SMDS_Down3D::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(), SMDS_Down3D::allocate(), SMDS_Down1D::compactStorage(), SMDS_Down2D::compactStorage(), SMDS_Down3D::getNodeIds(), SMDS_DownTetra::getOrderedNodesOfFace(), SMDS_DownQuadTetra::getOrderedNodesOfFace(), SMDS_DownPyramid::getOrderedNodesOfFace(), SMDS_DownQuadPyramid::getOrderedNodesOfFace(), SMDS_DownPenta::getOrderedNodesOfFace(), getOrderedNodesOfFace(), SMDS_DownHexa::getOrderedNodesOfFace(), SMDS_DownQuadHexa::getOrderedNodesOfFace(), and SMDS_Downward::getVtkCellId().