#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 | getNodes (int cellId, int *nodevec) |
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 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_DownEdge (SMDS_UnstructuredGrid *grid) | |
~SMDS_DownEdge () | |
virtual void | initCell (int cellId) |
clear vectors used to reference 2D cells containing the edge More... | |
virtual void | allocate (int nbElems) |
Resize the downward connectivity storage vector if needed. More... | |
virtual void | compactStorage () |
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) |
void | setNodes (int cellId, int vtkId) |
void | setNodes (int cellId, const int *nodeIds) |
int | computeVtkCells (int cellId, std::vector< int > &vtkIds) |
Build the list of vtkUnstructuredGrid cells containing the edge. More... | |
int | computeVtkCells (int *pts, std::vector< int > &vtkIds) |
Build the list of vtkUnstructuredGrid cells containing the edge. More... | |
int | computeFaces (int cellId, int *vtkIds, int nbcells, int *downFaces, unsigned char *downTypes) |
Build the list of downward faces from a list of vtk cells. More... | |
int | computeFaces (int *pts, int *vtkIds, int nbcells, int *downFaces, unsigned char *downTypes) |
Build the list of downward faces from a list of vtk cells. More... | |
int | addCell (int vtkId=-1) |
Give or create an entry for downward connectivity structure relative to a cell. More... | |
virtual void | addDownCell (int cellId, int lowCellId, unsigned char aType) |
Id's are downward connectivity id's. More... | |
Protected Attributes | |
std::vector< std::vector< int > > | _upCellIdsVector |
the number of faces sharing an edge is not known More... | |
std::vector< std::vector < unsigned char > > | _upCellTypesVector |
the number of faces sharing an edge is not known More... | |
std::vector< int > | _upCellIds |
compacted storage after connectivity calculation More... | |
std::vector< unsigned char > | _upCellTypes |
compacted storage after connectivity calculation More... | |
std::vector< int > | _upCellIndex |
compacted storage after connectivity calculation More... | |
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().
|
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.
Reimplemented from SMDS_Downward.
References SMDS_Down1D::_upCellIdsVector, and SMDS_Down1D::_upCellTypesVector.
|
protectedvirtualinherited |
Resize the downward connectivity storage vector if needed.
nbElems | total number of elements of the same type required |
Implements SMDS_Downward.
References SMDS_Downward::_cellIds, SMDS_Downward::_nbDownCells, SMDS_Down1D::_upCellIdsVector, SMDS_Down1D::_upCellTypesVector, SMDS_Downward::_vtkCellIds, and SMDS_Mesh::chunkSize.
|
protectedvirtualinherited |
|
protectedinherited |
Build the list of downward faces from a list of vtk cells.
cellId | id of the edge in the downward structure |
vtkIds | vector of vtk id's |
downFaces | vector of face id's in downward structures |
downTypes | vector of face types |
References SMDS_Downward::_cellIds, and SMDS_Downward::_nbDownCells.
Referenced by SMDS_UnstructuredGrid::BuildDownwardConnectivity().
|
protectedinherited |
Build the list of downward faces from a list of vtk cells.
pts | list of points id's defining an edge |
vtkIds | vector of vtk id's |
downFaces | vector of face id's in downward structures |
downTypes | vector of face types |
References SMDS_Downward::_grid, SMDS_Downward::_nbDownCells, SMDS_UnstructuredGrid::CellIdToDownId(), SMDS_Downward::getCellDimension(), SMDS_UnstructuredGrid::getDownArray(), SMDS_Downward::getDownCells(), SMDS_Downward::getDownTypes(), SMDS_Downward::getNumberOfDownCells(), and SMDS_Down2D::isInFace().
Build the list of vtkUnstructuredGrid cells containing the edge.
We keep in the list the cells that contains all the nodes, we keep only volumes and faces.
cellId | id of the edge in the downward structure |
vtkIds | vector of vtk id's |
References SMDS_Downward::_cellIds, and SMDS_Downward::_nbDownCells.
Referenced by SMDS_UnstructuredGrid::BuildDownwardConnectivity().
Build the list of vtkUnstructuredGrid cells containing the edge.
pts | list of points id's defining an edge |
vtkIds | vector of vtk id's |
References SMDS_Downward::_grid, SMDS_Downward::_nbDownCells, SMDS_Downward::getCellDimension(), and SMDS_UnstructuredGrid::GetLinks().
|
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::_cellIds, and SMDS_Downward::_nbDownCells.
Reimplemented from SMDS_Downward.
References SMDS_Downward::getNodeSet().
Reimplemented from SMDS_Downward.
References SMDS_Downward::_cellIds, and SMDS_Downward::_nbDownCells.
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.
References SMDS_Down1D::_upCellIndex.
|
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.
References SMDS_Down1D::_upCellIds, and SMDS_Down1D::_upCellIndex.
|
virtualinherited |
Implements SMDS_Downward.
References SMDS_Down1D::_upCellIndex, and SMDS_Down1D::_upCellTypes.
References SMDS_Downward::_vtkCellIds.
Referenced by SMESH_MeshEditor::CreateHoleSkin().
|
protectedvirtualinherited |
clear vectors used to reference 2D cells containing the edge
cellId |
Reimplemented from SMDS_Downward.
References SMDS_Down1D::_upCellIdsVector, and SMDS_Down1D::_upCellTypesVector.
References SMDS_Downward::_cellIds, SMDS_Downward::_grid, and SMDS_Downward::_nbDownCells.
Referenced by SMDS_UnstructuredGrid::BuildDownwardConnectivity().
References SMDS_Downward::_cellIds, and SMDS_Downward::_nbDownCells.
|
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(), 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_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(), SMDS_Down3D::FindFaceByNodes(), SMDS_Down2D::getNodeIds(), SMDS_Down3D::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(), 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 |
compacted storage after connectivity calculation
Referenced by SMDS_Down1D::compactStorage(), SMDS_Down1D::getUpCells(), and SMDS_Down1D::SMDS_Down1D().
|
protectedinherited |
the number of faces sharing an edge is not known
Referenced by SMDS_Down1D::addUpCell(), SMDS_Down1D::allocate(), SMDS_Down1D::compactStorage(), SMDS_Down1D::initCell(), and SMDS_Down1D::SMDS_Down1D().
|
protectedinherited |
compacted storage after connectivity calculation
Referenced by SMDS_Down1D::compactStorage(), SMDS_Down1D::getNumberOfUpCells(), SMDS_Down1D::getUpCells(), SMDS_Down1D::getUpTypes(), and SMDS_Down1D::SMDS_Down1D().
|
protectedinherited |
compacted storage after connectivity calculation
Referenced by SMDS_Down1D::compactStorage(), SMDS_Down1D::getUpTypes(), and SMDS_Down1D::SMDS_Down1D().
|
protectedinherited |
the number of faces sharing an edge is not known
Referenced by SMDS_Down1D::addUpCell(), SMDS_Down1D::allocate(), SMDS_Down1D::compactStorage(), SMDS_Down1D::initCell(), and SMDS_Down1D::SMDS_Down1D().
|
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(), SMDS_DownQuadPenta::getOrderedNodesOfFace(), SMDS_DownHexa::getOrderedNodesOfFace(), SMDS_DownQuadHexa::getOrderedNodesOfFace(), and SMDS_Downward::getVtkCellId().