QuOc

 

Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions

tpcfe::CFEInterfaceTriangleIterator< GridType > Class Template Reference

#include <tpCFEUtils.h>

List of all members.

Public Member Functions

 CFEInterfaceTriangleIterator (const GridType &grid)
void restart ()
bool atEnd () const
bool notAtEnd () const
CFEInterfaceTriang< RealType > & operator++ ()
const CFEInterfaceTriang
< RealType > & 
getTriangRef () const
const CFETopoTetragetTetraRef () const
const CFEElement< RealType > & getElementRef () const

Protected Types

typedef GridType::RealType RealType

Protected Member Functions

void setTriang ()
void setDummyTriang ()
void next_interface_tet ()
 go forward to next (or stay at this) interface tetrahedron, characterized by having exactly three virtual nodes
void increment_tit ()
void increment_elit ()

Protected Attributes

const GridType & _grid
const qc::GridSize< qc::QC_3D > _gridSize
qc::RectangularGrid< qc::QC_3D >
::FullElementIterator 
_elit
CFETopoTetraIterator _tit
CFEInterfaceTriang< RealType_triang
CFEElement< typename
GridType::RealType > 
_currentElement

Private Member Functions

 CFEInterfaceTriangleIterator ()
 CFEInterfaceTriangleIterator (const CFEInterfaceTriangleIterator< GridType > &)
CFEInterfaceTriangleIterator
< GridType > & 
operator= (const CFEInterfaceTriangleIterator< GridType > &)

Detailed Description

template<typename GridType>
class tpcfe::CFEInterfaceTriangleIterator< GridType >

Definition at line 528 of file tpCFEUtils.h.


Member Typedef Documentation

template<typename GridType>
typedef GridType::RealType tpcfe::CFEInterfaceTriangleIterator< GridType >::RealType [protected]

Definition at line 530 of file tpCFEUtils.h.


Constructor & Destructor Documentation

template<typename GridType>
tpcfe::CFEInterfaceTriangleIterator< GridType >::CFEInterfaceTriangleIterator ( const GridType &  grid  )  [inline, explicit]

Definition at line 540 of file tpCFEUtils.h.

References tpcfe::CFEInterfaceTriangleIterator< GridType >::restart().

                                                                 : _grid ( grid ), _gridSize ( grid ), _elit ( _grid ), _triang(), _currentElement () {
    restart();
  }

template<typename GridType>
tpcfe::CFEInterfaceTriangleIterator< GridType >::CFEInterfaceTriangleIterator (  )  [inline, private]

Definition at line 652 of file tpCFEUtils.h.

{}

template<typename GridType>
tpcfe::CFEInterfaceTriangleIterator< GridType >::CFEInterfaceTriangleIterator ( const CFEInterfaceTriangleIterator< GridType > &   )  [inline, private]

Definition at line 653 of file tpCFEUtils.h.

{ }


Member Function Documentation

template<typename GridType>
bool tpcfe::CFEInterfaceTriangleIterator< GridType >::atEnd (  )  const [inline]

Definition at line 564 of file tpCFEUtils.h.

References tpcfe::CFEInterfaceTriangleIterator< GridType >::notAtEnd().

                       {
    return ( ! ( notAtEnd() ) );
  }

template<typename GridType>
const CFEElement<RealType>& tpcfe::CFEInterfaceTriangleIterator< GridType >::getElementRef (  )  const [inline]
template<typename GridType>
const CFETopoTetra& tpcfe::CFEInterfaceTriangleIterator< GridType >::getTetraRef (  )  const [inline]

Definition at line 586 of file tpCFEUtils.h.

References tpcfe::CFEInterfaceTriangleIterator< GridType >::_tit.

                                            {
    return *_tit;
  }

template<typename GridType>
const CFEInterfaceTriang< RealType >& tpcfe::CFEInterfaceTriangleIterator< GridType >::getTriangRef (  )  const [inline]

Definition at line 582 of file tpCFEUtils.h.

References tpcfe::CFEInterfaceTriangleIterator< GridType >::_triang.

                                                              {
    return _triang;
  }

template<typename GridType>
void tpcfe::CFEInterfaceTriangleIterator< GridType >::increment_elit (  )  [inline, protected]
template<typename GridType>
void tpcfe::CFEInterfaceTriangleIterator< GridType >::increment_tit (  )  [inline, protected]
template<typename GridType>
void tpcfe::CFEInterfaceTriangleIterator< GridType >::next_interface_tet (  )  [inline, protected]

go forward to next (or stay at this) interface tetrahedron, characterized by having exactly three virtual nodes

Definition at line 624 of file tpCFEUtils.h.

References tpcfe::CFEInterfaceTriangleIterator< GridType >::_elit, and tpcfe::CFEInterfaceTriangleIterator< GridType >::increment_tit().

Referenced by tpcfe::CFEInterfaceTriangleIterator< GridType >::operator++(), and tpcfe::CFEInterfaceTriangleIterator< GridType >::restart().

                              {
    while ( !_elit.atEnd() && ( *_tit ).getVirtualNodeNum() != 3 ) {
      increment_tit();
    }
  }

template<typename GridType>
bool tpcfe::CFEInterfaceTriangleIterator< GridType >::notAtEnd (  )  const [inline]

Definition at line 568 of file tpCFEUtils.h.

References tpcfe::CFEInterfaceTriangleIterator< GridType >::_elit.

Referenced by tpcfe::CFEInterfaceTriangleIterator< GridType >::atEnd().

                          {
    return ( _elit.notAtEnd() );
  }

template<typename GridType>
CFEInterfaceTriang<RealType>& tpcfe::CFEInterfaceTriangleIterator< GridType >::operator++ (  )  [inline]
template<typename GridType>
CFEInterfaceTriangleIterator<GridType>& tpcfe::CFEInterfaceTriangleIterator< GridType >::operator= ( const CFEInterfaceTriangleIterator< GridType > &   )  [private]
template<typename GridType>
void tpcfe::CFEInterfaceTriangleIterator< GridType >::restart (  )  [inline]
template<typename GridType>
void tpcfe::CFEInterfaceTriangleIterator< GridType >::setDummyTriang (  )  [inline, protected]

Definition at line 615 of file tpCFEUtils.h.

References tpcfe::CFEInterfaceTriangleIterator< GridType >::_triang.

Referenced by tpcfe::CFEInterfaceTriangleIterator< GridType >::restart(), and tpcfe::CFEInterfaceTriangleIterator< GridType >::setTriang().

                          {
    // at the end
    CFEElement<RealType> dummyel;
    CFETopoTetra dummytet;
    aol::Vec3<unsigned char> dummyvec;
    _triang.set ( dummyel, dummytet, dummyvec ); // not to be used as we're at the end ...
  }

template<typename GridType>
void tpcfe::CFEInterfaceTriangleIterator< GridType >::setTriang (  )  [inline, protected]

Definition at line 595 of file tpCFEUtils.h.

References tpcfe::CFEInterfaceTriangleIterator< GridType >::_currentElement, tpcfe::CFEInterfaceTriangleIterator< GridType >::_tit, tpcfe::CFEInterfaceTriangleIterator< GridType >::_triang, tpcfe::CFETopoTetraIterator::notAtEnd(), and tpcfe::CFEInterfaceTriangleIterator< GridType >::setDummyTriang().

Referenced by tpcfe::CFEInterfaceTriangleIterator< GridType >::operator++(), and tpcfe::CFEInterfaceTriangleIterator< GridType >::restart().

                     {
    if ( _tit.notAtEnd() ) { // which should only happen at the very end.
      if ( ! ( ( *_tit ).isVirtualNode ( 0 ) ) ) {
        _triang.set ( _currentElement, *_tit, aol::Vec3< unsigned char > ( 1, 2, 3 ) );
      } else if ( ! ( ( *_tit ).isVirtualNode ( 1 ) ) ) {
        _triang.set ( _currentElement, *_tit, aol::Vec3< unsigned char > ( 0, 2, 3 ) );
      } else if ( ! ( ( *_tit ).isVirtualNode ( 2 ) ) ) {
        _triang.set ( _currentElement, *_tit, aol::Vec3< unsigned char > ( 0, 1, 3 ) );
      } else if ( ! ( ( *_tit ).isVirtualNode ( 3 ) ) ) {
        _triang.set ( _currentElement, *_tit, aol::Vec3< unsigned char > ( 0, 1, 2 ) );
#ifdef DEBUG
      } else {
        throw aol::Exception ( "CFEInterfaceTriangleIterator: Something is wrong ...", __FILE__, __LINE__ );
#endif
      }
    } else {
      setDummyTriang();
    }
  }


Member Data Documentation

template<typename GridType>
CFEElement< typename GridType::RealType> tpcfe::CFEInterfaceTriangleIterator< GridType >::_currentElement [protected]
template<typename GridType>
qc::RectangularGrid<qc::QC_3D>::FullElementIterator tpcfe::CFEInterfaceTriangleIterator< GridType >::_elit [protected]
template<typename GridType>
const GridType& tpcfe::CFEInterfaceTriangleIterator< GridType >::_grid [protected]
template<typename GridType>
const qc::GridSize<qc::QC_3D> tpcfe::CFEInterfaceTriangleIterator< GridType >::_gridSize [protected]
template<typename GridType>
CFETopoTetraIterator tpcfe::CFEInterfaceTriangleIterator< GridType >::_tit [protected]
template<typename GridType>
CFEInterfaceTriang<RealType> tpcfe::CFEInterfaceTriangleIterator< GridType >::_triang [protected]

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

Generated on Fri Sep 9 2011 21:10:19 for QuocMesh by doxygen 1.7.1