MOAB: Mesh Oriented datABase  (version 5.4.1)
moab::Tqdcfr::ModelEntry Class Reference

#include <Tqdcfr.hpp>

+ Collaboration diagram for moab::Tqdcfr::ModelEntry:

Public Member Functions

 ModelEntry ()
 ~ModelEntry ()
void print ()
void print_geom_headers (const char *prefix, GeomHeader *header, unsigned int num_headers)
void print_group_headers (const char *prefix, GroupHeader *header, const unsigned int num_headers)
void print_block_headers (const char *prefix, BlockHeader *header, const unsigned int num_headers)
void print_nodeset_headers (const char *prefix, NodesetHeader *header, const unsigned int num_headers)
void print_sideset_headers (const char *prefix, SidesetHeader *header, const unsigned int num_headers)
ErrorCode read_header_info (Tqdcfr *instance, const double data_version)
ErrorCode read_metadata_info (Tqdcfr *tqd)

Public Attributes

unsigned int modelHandle
unsigned int modelOffset
unsigned int modelLength
unsigned int modelType
unsigned int modelOwner
unsigned int modelPad
FEModelHeader feModelHeader
GeomHeaderfeGeomH
GroupHeaderfeGroupH
BlockHeaderfeBlockH
NodesetHeaderfeNodeSetH
SidesetHeaderfeSideSetH
MetaDataContainer geomMD
MetaDataContainer nodeMD
MetaDataContainer elementMD
MetaDataContainer groupMD
MetaDataContainer blockMD
MetaDataContainer nodesetMD
MetaDataContainer sidesetMD

Detailed Description

Definition at line 213 of file Tqdcfr.hpp.


Constructor & Destructor Documentation

Definition at line 3040 of file Tqdcfr.cpp.

    : modelHandle( 0 ), modelOffset( 0 ), modelLength( 0 ), modelType( 0 ), modelOwner( 0 ), modelPad( 0 ),
      feGeomH( NULL ), feGroupH( NULL ), feBlockH( NULL ), feNodeSetH( NULL ), feSideSetH( NULL )
{
}

Definition at line 3046 of file Tqdcfr.cpp.

{
    delete[] feGeomH;
    delete[] feGroupH;
    delete[] feBlockH;
    delete[] feNodeSetH;
    delete[] feSideSetH;
}

Member Function Documentation

Definition at line 3055 of file Tqdcfr.cpp.

{
    std::cout << "ModelEntry: Han, Of, Len, Tp, Own, Pd = " << modelHandle << ", " << modelOffset << ", " << modelLength
              << ", " << modelType << ", " << modelOwner << ", " << modelPad << std::endl;
}
void moab::Tqdcfr::ModelEntry::print_block_headers ( const char *  prefix,
BlockHeader header,
const unsigned int  num_headers 
)

Definition at line 2246 of file Tqdcfr.cpp.

References moab::debug.

{
    if( !debug ) return;
    std::cout << prefix << std::endl;
    if( NULL != header )
    {
        for( unsigned int i = 0; i < num_headers; i++ )
            header[i].print();
    }
}
void moab::Tqdcfr::ModelEntry::print_geom_headers ( const char *  prefix,
GeomHeader header,
unsigned int  num_headers 
)

Definition at line 2221 of file Tqdcfr.cpp.

References moab::debug, and moab::Tqdcfr::GeomHeader::print().

{
    if( !debug ) return;
    std::cout << prefix << std::endl;
    if( NULL != header )
    {
        for( unsigned int i = 0; i < num_headers; i++ )
        {
            std::cout << "Index " << i << std::endl;
            header[i].print();
        }
    }
}
void moab::Tqdcfr::ModelEntry::print_group_headers ( const char *  prefix,
GroupHeader header,
const unsigned int  num_headers 
)

Definition at line 2235 of file Tqdcfr.cpp.

References moab::debug.

{
    if( !debug ) return;
    std::cout << prefix << std::endl;
    if( NULL != header )
    {
        for( unsigned int i = 0; i < num_headers; i++ )
            header[i].print();
    }
}
void moab::Tqdcfr::ModelEntry::print_nodeset_headers ( const char *  prefix,
NodesetHeader header,
const unsigned int  num_headers 
)

Definition at line 2257 of file Tqdcfr.cpp.

References moab::debug.

{
    if( !debug ) return;
    std::cout << prefix << std::endl;
    if( NULL != header )
    {
        for( unsigned int i = 0; i < num_headers; i++ )
            header[i].print();
    }
}
void moab::Tqdcfr::ModelEntry::print_sideset_headers ( const char *  prefix,
SidesetHeader header,
const unsigned int  num_headers 
)

Definition at line 2270 of file Tqdcfr.cpp.

References moab::debug.

{
    if( !debug ) return;
    std::cout << prefix << std::endl;
    if( NULL != header )
    {
        for( unsigned int i = 0; i < num_headers; i++ )
            header[i].print();
    }
}
ErrorCode moab::Tqdcfr::ModelEntry::read_header_info ( Tqdcfr instance,
const double  data_version 
)

Definition at line 2283 of file Tqdcfr.cpp.

References moab::Tqdcfr::blockTag, DIRICHLET_SET_TAG_NAME, ErrorCode, GEOM_DIMENSION_TAG_NAME, moab::Tqdcfr::geomTag, moab::Interface::globalId_tag(), moab::Tqdcfr::globalIdTag, MATERIAL_SET_TAG_NAME, MB_SUCCESS, MB_TAG_CREAT, MB_TAG_SPARSE, MB_TYPE_INTEGER, moab::Tqdcfr::mdbImpl, NEUMANN_SET_TAG_NAME, moab::Tqdcfr::nsTag, moab::Tqdcfr::GeomHeader::read_info_header(), moab::Tqdcfr::GroupHeader::read_info_header(), moab::Tqdcfr::BlockHeader::read_info_header(), moab::Tqdcfr::NodesetHeader::read_info_header(), moab::Tqdcfr::SidesetHeader::read_info_header(), moab::Tqdcfr::ssTag, moab::Interface::tag_get_handle(), and moab::Tqdcfr::uniqueIdTag.

Referenced by moab::Tqdcfr::load_file().

{
    feModelHeader.init( modelOffset, instance );
    int negone = -1;
    ErrorCode result;
    instance->globalIdTag = instance->mdbImpl->globalId_tag();

    if( feModelHeader.geomArray.numEntities > 0 )
    {
        result = instance->mdbImpl->tag_get_handle( GEOM_DIMENSION_TAG_NAME, 1, MB_TYPE_INTEGER, instance->geomTag,
                                                    MB_TAG_SPARSE | MB_TAG_CREAT, &negone );
        if( MB_SUCCESS != result ) return result;

        result = instance->mdbImpl->tag_get_handle( "UNIQUE_ID", 1, MB_TYPE_INTEGER, instance->uniqueIdTag,
                                                    MB_TAG_SPARSE | MB_TAG_CREAT, &negone );
        if( MB_SUCCESS != result ) return result;

        result = Tqdcfr::GeomHeader::read_info_header( modelOffset, feModelHeader.geomArray, instance, feGeomH );
        print_geom_headers( "Geom headers:", feGeomH, feModelHeader.geomArray.numEntities );
        if( MB_SUCCESS != result ) return result;
    }

    if( feModelHeader.groupArray.numEntities > 0 )
    {
        result = Tqdcfr::GroupHeader::read_info_header( modelOffset, feModelHeader.groupArray, instance, feGroupH );
        print_group_headers( "Group headers:", feGroupH, feModelHeader.groupArray.numEntities );
        if( MB_SUCCESS != result ) return result;
    }

    if( feModelHeader.blockArray.numEntities > 0 )
    {
        result = instance->mdbImpl->tag_get_handle( MATERIAL_SET_TAG_NAME, 1, MB_TYPE_INTEGER, instance->blockTag,
                                                    MB_TAG_SPARSE | MB_TAG_CREAT, &negone );
        if( MB_SUCCESS != result ) return result;

        result = Tqdcfr::BlockHeader::read_info_header( data_version, modelOffset, feModelHeader.blockArray, instance,
                                                        feBlockH );
        print_block_headers( "Block headers:", feBlockH, feModelHeader.blockArray.numEntities );
        if( MB_SUCCESS != result ) return result;
    }
    if( feModelHeader.nodesetArray.numEntities > 0 )
    {
        result = instance->mdbImpl->tag_get_handle( DIRICHLET_SET_TAG_NAME, 1, MB_TYPE_INTEGER, instance->nsTag,
                                                    MB_TAG_SPARSE | MB_TAG_CREAT, &negone );
        if( MB_SUCCESS != result ) return result;

        result =
            Tqdcfr::NodesetHeader::read_info_header( modelOffset, feModelHeader.nodesetArray, instance, feNodeSetH );
        if( MB_SUCCESS != result ) return result;
        print_nodeset_headers( "Nodeset headers:", feNodeSetH, feModelHeader.nodesetArray.numEntities );
    }
    if( feModelHeader.sidesetArray.numEntities > 0 )
    {
        result = instance->mdbImpl->tag_get_handle( NEUMANN_SET_TAG_NAME, 1, MB_TYPE_INTEGER, instance->ssTag,
                                                    MB_TAG_SPARSE | MB_TAG_CREAT, &negone );
        if( MB_SUCCESS != result ) return result;

        result =
            Tqdcfr::SidesetHeader::read_info_header( modelOffset, feModelHeader.sidesetArray, instance, feSideSetH );
        print_sideset_headers( "SideSet headers:", feSideSetH, feModelHeader.sidesetArray.numEntities );
    }

    return MB_SUCCESS;
}

Definition at line 2348 of file Tqdcfr.cpp.

References moab::debug, MB_SUCCESS, and moab::Tqdcfr::read_meta_data().

Referenced by moab::Tqdcfr::load_file().

{
    if( debug ) std::cout << "Geom metadata:" << std::endl;
    tqd->read_meta_data( modelOffset + feModelHeader.geomArray.metaDataOffset, geomMD );
    if( debug ) std::cout << "Node metadata:" << std::endl;
    tqd->read_meta_data( modelOffset + feModelHeader.nodeArray.metaDataOffset, nodeMD );
    if( debug ) std::cout << "Elem metadata:" << std::endl;
    tqd->read_meta_data( modelOffset + feModelHeader.elementArray.metaDataOffset, elementMD );
    if( debug ) std::cout << "Group metadata:" << std::endl;
    tqd->read_meta_data( modelOffset + feModelHeader.groupArray.metaDataOffset, groupMD );
    if( debug ) std::cout << "Block metadata:" << std::endl;
    tqd->read_meta_data( modelOffset + feModelHeader.blockArray.metaDataOffset, blockMD );
    if( debug ) std::cout << "Nodeset metadata:" << std::endl;
    tqd->read_meta_data( modelOffset + feModelHeader.nodesetArray.metaDataOffset, nodesetMD );
    if( debug ) std::cout << "Sideset metadata:" << std::endl;
    tqd->read_meta_data( modelOffset + feModelHeader.sidesetArray.metaDataOffset, sidesetMD );

    return MB_SUCCESS;
}

Member Data Documentation

Definition at line 220 of file Tqdcfr.hpp.

Definition at line 220 of file Tqdcfr.hpp.

Definition at line 220 of file Tqdcfr.hpp.

Definition at line 220 of file Tqdcfr.hpp.

Definition at line 220 of file Tqdcfr.hpp.

List of all members.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines