#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_DownQuadTetra (SMDS_UnstructuredGrid *grid) | |
~SMDS_DownQuadTetra () | |
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 ordering of the ten points defining the quadratic tetrahedron cell is point id's (0-3,4-9) where id's 0-3 are the four tetrahedron vertices; and point id's 4-9 are the mid-edge nodes between (0,1), (1,2), (2,0), (0,3), (1,3), and (2,3). 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 ordering of the ten points defining the quadratic tetrahedron cell is point id's (0-3,4-9) where id's 0-3 are the four tetrahedron vertices; and point id's 4-9 are the mid-edge nodes between (0,1), (1,2), (2,0), (0,3), (1,3), and (2,3).
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(), 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(), 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_DownQuadPenta(), SMDS_DownQuadPyramid::SMDS_DownQuadPyramid(), SMDS_DownQuadQuadrangle::SMDS_DownQuadQuadrangle(), SMDS_DownQuadrangle::SMDS_DownQuadrangle(), 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(), 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(), SMDS_Down3D::FindFaceByNodes(), SMDS_Down2D::getNodeIds(), SMDS_Down3D::getNodeIds(), SMDS_DownTetra::getOrderedNodesOfFace(), 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(), 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(), 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(), getOrderedNodesOfFace(), SMDS_DownPyramid::getOrderedNodesOfFace(), SMDS_DownQuadPyramid::getOrderedNodesOfFace(), SMDS_DownPenta::getOrderedNodesOfFace(), SMDS_DownQuadPenta::getOrderedNodesOfFace(), SMDS_DownHexa::getOrderedNodesOfFace(), SMDS_DownQuadHexa::getOrderedNodesOfFace(), and SMDS_Downward::getVtkCellId().