Mesh Oriented datABase  (version 5.4.1)
Array-based unstructured mesh datastructure
smoab::detail Namespace Reference

Namespaces

namespace  internal

Classes

struct  QuadratricOrdering
struct  QuadratricOrdering< VTK_QUADRATIC_WEDGE >
struct  QuadratricOrdering< VTK_TRIQUADRATIC_HEXAHEDRON >
struct  ContinousCellInfo
class  LinearCellConnectivity
class  LoadGeometry
class  LoadPoly
class  MixedCellConnectivity
struct  ReadSparseTag
class  UsageTable

Functions

template<typename QuadraticOrdering >
void FixQuadraticIdOrdering (vtkIdType *connectivity, vtkIdType numCells, QuadraticOrdering &ordering)
int vtkCellType (moab::EntityType t, int &num_connect)
int vtkLinearCellType (moab::EntityType t, int &num_connect)

Function Documentation

template<typename QuadraticOrdering >
void smoab::detail::FixQuadraticIdOrdering ( vtkIdType *  connectivity,
vtkIdType  numCells,
QuadraticOrdering &  ordering 
)

Definition at line 48 of file CellTypeToType.h.

Referenced by smoab::detail::MixedCellConnectivity::copyToVtkCellInfo().

    {
        //skip the first index that holds the length of the cells
        //if we skip it once here, and than properly increment it makes the code
        //far easier
        connectivity += 1;
        for( vtkIdType i = 0; i < numCells; ++i )
        {
            ordering.reorder( connectivity );
            connectivity += ordering.NUM_VERTS + 1;
        }
    }
int smoab::detail::vtkCellType ( moab::EntityType  t,
int &  num_connect 
)

Definition at line 61 of file CellTypeToType.h.

References MBEDGE, MBHEX, MBPOLYGON, MBPRISM, MBPYRAMID, MBQUAD, MBTET, and MBTRI.

Referenced by smoab::detail::MixedCellConnectivity::copyToVtkCellInfo(), smoab::detail::LinearCellConnectivity::LinearCellConnectivity(), and smoab::detail::MixedCellConnectivity::MixedCellConnectivity().

    {
        int ctype = -1;
        switch( t )
        {
            case moab::MBEDGE:
                if( num_connect == 2 )
                    ctype = VTK_LINE;
                else if( num_connect == 3 )
                    ctype = VTK_QUADRATIC_EDGE;
                break;
            case moab::MBTRI:
                if( num_connect == 3 )
                    ctype = VTK_TRIANGLE;
                else if( num_connect == 6 )
                    ctype = VTK_QUADRATIC_TRIANGLE;
                else if( num_connect == 7 )
                    ctype = VTK_BIQUADRATIC_TRIANGLE;
                break;
            case moab::MBQUAD:
                if( num_connect == 4 )
                    ctype = VTK_QUAD;
                else if( num_connect == 8 )
                    ctype = VTK_QUADRATIC_QUAD;
                else if( num_connect == 9 )
                    ctype = VTK_BIQUADRATIC_QUAD;
                break;
            case moab::MBPOLYGON:
                if( num_connect == 4 ) ctype = VTK_POLYGON;
                break;
            case moab::MBTET:
                if( num_connect == 4 )
                    ctype = VTK_TETRA;
                else if( num_connect == 10 )
                    ctype = VTK_QUADRATIC_TETRA;
                break;
            case moab::MBPYRAMID:
                if( num_connect == 5 )
                    ctype = VTK_PYRAMID;
                else if( num_connect == 13 )
                    ctype = VTK_QUADRATIC_PYRAMID;
                break;
            case moab::MBPRISM:
                if( num_connect == 6 )
                    ctype = VTK_WEDGE;
                else if( num_connect == 15 )
                    ctype = VTK_QUADRATIC_WEDGE;
                break;
            case moab::MBHEX:
                if( num_connect == 8 )
                    ctype = VTK_HEXAHEDRON;
                else if( num_connect == 20 )
                    ctype = VTK_QUADRATIC_HEXAHEDRON;
                else if( num_connect == 21 )
                    ctype = VTK_QUADRATIC_HEXAHEDRON, num_connect = 20;
                else if( num_connect == 27 )
                    ctype = VTK_TRIQUADRATIC_HEXAHEDRON;
                break;
            default:
                ctype = -1;
                break;
        }
        return ctype;
    }
int smoab::detail::vtkLinearCellType ( moab::EntityType  t,
int &  num_connect 
)

Definition at line 126 of file CellTypeToType.h.

References MBEDGE, MBHEX, MBPOLYGON, MBPRISM, MBPYRAMID, MBQUAD, MBTET, and MBTRI.

Referenced by smoab::detail::LinearCellConnectivity::LinearCellConnectivity().

    {
        int ctype = -1;
        switch( t )
        {
            case moab::MBEDGE:
                ctype       = VTK_LINE;
                num_connect = 2;
                break;
            case moab::MBTRI:
                ctype       = VTK_TRIANGLE;
                num_connect = 3;
                break;
            case moab::MBQUAD:
                ctype       = VTK_QUAD;
                num_connect = 4;
                break;
            case moab::MBPOLYGON:
                ctype       = VTK_POLYGON;
                num_connect = 4;
                break;
            case moab::MBTET:
                ctype       = VTK_TETRA;
                num_connect = 4;
                break;
            case moab::MBPYRAMID:
                ctype       = VTK_PYRAMID;
                num_connect = 5;
                break;
            case moab::MBPRISM:
                ctype       = VTK_WEDGE;
                num_connect = 6;
                break;
            case moab::MBHEX:
                ctype       = VTK_HEXAHEDRON;
                num_connect = 8;
                break;
            default:
                break;
        }
        return ctype;
    }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines