SMDS_Downward Class Referenceabstract

#include <SMDS_Downward.hxx>

Public Member Functions

virtual const intgetDownCells (int cellId)
 
virtual const unsigned char * getDownTypes (int cellId)
 
int getMaxId ()
 
virtual void getNodeIds (int cellId, std::set< int > &nodeSet)=0
 
virtual int getNodes (int cellId, int *nodevec)
 
virtual int getNumberOfDownCells (int cellId)
 
virtual int getNumberOfUpCells (int cellId)=0
 
virtual void getOrderedNodesOfFace (int cellId, std::vector< vtkIdType > &orderedNodes)
 
virtual const intgetUpCells (int cellId)=0
 
virtual const unsigned char * getUpTypes (int cellId)=0
 
int getVtkCellId (int cellId)
 

Static Public Member Functions

static int getCellDimension (unsigned char cellType)
 

Protected Member Functions

int addCell (int vtkId=-1)
 
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 void allocate (int nbElems)=0
 
virtual void compactStorage ()=0
 
virtual int getNodeSet (int cellId, int *nodeSet)
 
virtual void initCell (int cellId)
 
 SMDS_Downward (SMDS_UnstructuredGrid *grid, int nbDownCells)
 
virtual ~SMDS_Downward ()
 

Friends

class SMDS_Down2D
 
class SMDS_Down3D
 
class SMDS_UnstructuredGrid
 

Constructor & Destructor Documentation

◆ SMDS_Downward()

SMDS_Downward::SMDS_Downward ( SMDS_UnstructuredGrid grid,
int  nbDownCells 
)
protected

Generic constructor for all the downward connectivity structures (one per vtk cell type). The static structure for cell dimension is set only once.

Parameters
gridunstructured grid associated to the mesh.
nbDownCellsnumber of downward entities associated to this vtk type of cell.
Returns

References getCellDimension().

◆ ~SMDS_Downward()

SMDS_Downward::~SMDS_Downward ( )
protectedvirtual

Member Function Documentation

◆ addCell()

int SMDS_Downward::addCell ( int  vtkId = -1)
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.

Parameters
vtkIdfor a vtkUnstructuredGrid cell or -1 (default) for a created downward cell.
Returns
the rank in downward[vtkType] structure.

References allocate(), and initCell().

◆ addDownCell()

void SMDS_Downward::addDownCell ( int  cellId,
int  lowCellId,
unsigned char  aType 
)
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.

Parameters
cellIdindex of the parent cell (dimension n) in the downward structure relative to a vtk cell type.
lowCellIdindex of the children cell to add (dimension n-1)
aTypevtk cell type of the cell to add (needed to find the SMDS_Downward structure containing the cell to add).

Reimplemented in SMDS_DownTriangle, SMDS_DownQuadTriangle, SMDS_DownQuadrangle, SMDS_DownQuadQuadrangle, SMDS_DownTetra, SMDS_DownQuadTetra, SMDS_DownPyramid, SMDS_DownQuadPyramid, SMDS_DownPenta, SMDS_DownQuadPenta, SMDS_DownHexa, and SMDS_DownQuadHexa.

◆ addUpCell()

void SMDS_Downward::addUpCell ( int  cellId,
int  upCellId,
unsigned char  aType 
)
protectedvirtual

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.

Parameters
cellIdindex of the children cell (dimension n) in the downward structure relative to a vtk cell type.
upCellIdindex of the parent cell to add (dimension n+1)
aTypevtk cell type of the cell to add (needed to find the SMDS_Downward structure containing the cell to add).

Reimplemented in SMDS_Down1D, and SMDS_Down2D.

◆ allocate()

virtual void SMDS_Downward::allocate ( int  nbElems)
protectedpure virtual

Implemented in SMDS_Down1D, SMDS_Down2D, and SMDS_Down3D.

Referenced by addCell().

◆ compactStorage()

virtual void SMDS_Downward::compactStorage ( )
protectedpure virtual

Implemented in SMDS_Down1D, SMDS_Down2D, and SMDS_Down3D.

◆ getCellDimension()

int SMDS_Downward::getCellDimension ( unsigned char  cellType)
static

◆ getDownCells()

const int * SMDS_Downward::getDownCells ( int  cellId)
virtual

get a pointer on the downward entities id's associated to a cell.

See also
SMDS_Downward::getNumberOfDownCells for the number of downward entities.
SMDS_Downward::getDownTypes for the vtk cell types associated to the downward entities.
Parameters
cellIdindex of the cell in the downward structure relative to a given vtk cell type.
Returns
table of downward entities id's.

Referenced by SMDS_Down1D::computeFaces().

◆ getDownTypes()

const unsigned char * SMDS_Downward::getDownTypes ( int  cellId)
virtual

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 (

See also
SMDS_Downward::getDownCells).
Parameters
cellIdindex of the cell in the downward structure relative to a vtk cell type.
Returns
table of downward entities types.

Referenced by SMDS_Down1D::computeFaces().

◆ getMaxId()

int SMDS_Downward::getMaxId ( )

◆ getNodeIds()

virtual void SMDS_Downward::getNodeIds ( int  cellId,
std::set< int > &  nodeSet 
)
pure virtual

Implemented in SMDS_Down1D, SMDS_Down2D, and SMDS_Down3D.

◆ getNodes()

virtual int SMDS_Downward::getNodes ( int  cellId,
int nodevec 
)
virtual

Reimplemented in SMDS_Down1D.

◆ getNodeSet()

int SMDS_Downward::getNodeSet ( int  cellId,
int nodeSet 
)
protectedvirtual

Reimplemented in SMDS_Down1D, and SMDS_Down2D.

◆ getNumberOfDownCells()

int SMDS_Downward::getNumberOfDownCells ( int  cellId)
virtual

Get the number of downward entities associated to a cell (always the same for a given vtk type of cell)

Parameters
cellIdnot used here.
Returns

Referenced by SMDS_Down1D::computeFaces().

◆ getNumberOfUpCells()

virtual int SMDS_Downward::getNumberOfUpCells ( int  cellId)
pure virtual

Implemented in SMDS_Down1D, SMDS_Down2D, and SMDS_Down3D.

◆ getOrderedNodesOfFace()

virtual void SMDS_Downward::getOrderedNodesOfFace ( int  cellId,
std::vector< vtkIdType > &  orderedNodes 
)
virtual

◆ getUpCells()

virtual const int * SMDS_Downward::getUpCells ( int  cellId)
pure virtual

Implemented in SMDS_Down1D, SMDS_Down2D, and SMDS_Down3D.

◆ getUpTypes()

virtual const unsigned char * SMDS_Downward::getUpTypes ( int  cellId)
pure virtual

Implemented in SMDS_Down1D, SMDS_Down2D, and SMDS_Down3D.

◆ getVtkCellId()

int SMDS_Downward::getVtkCellId ( int  cellId)

◆ initCell()

void SMDS_Downward::initCell ( int  cellId)
protectedvirtual

generic method do nothing. see derived methods

Parameters
cellId

Reimplemented in SMDS_Down1D.

Referenced by addCell().

Friends And Related Function Documentation

◆ SMDS_Down2D

friend class SMDS_Down2D
friend

◆ SMDS_Down3D

friend class SMDS_Down3D
friend

◆ SMDS_UnstructuredGrid


The documentation for this class was generated from the following files: