SAMRAI::pdat::IndexDataFactory< DIM, TYPE, BOX_GEOMETRY > Class Template Reference

#include <source/patchdata/index/IndexDataFactory.h>

Inheritance diagram for SAMRAI::pdat::IndexDataFactory< DIM, TYPE, BOX_GEOMETRY >:

Inheritance graph
[legend]
List of all members.

Public Member Functions

 IndexDataFactory (const hier::IntVector< DIM > &ghosts)
virtual ~IndexDataFactory ()
virtual tbox::Pointer< hier::PatchDataFactory<
DIM > > 
cloneFactory (const hier::IntVector< DIM > &ghosts)
 Abstract virtual function to clone a patch data factory.
virtual tbox::Pointer< hier::PatchData<
DIM > > 
allocate (const hier::Box< DIM > &box, tbox::Pointer< tbox::Arena > pool=(tbox::Arena *)(0)) const
virtual tbox::Pointer< hier::PatchData<
DIM > > 
allocate (const hier::Patch< DIM > &patch, tbox::Pointer< tbox::Arena > pool=tbox::Pointer< tbox::Arena >((0))) const
virtual tbox::Pointer< hier::BoxGeometry<
DIM > > 
getBoxGeometry (const hier::Box< DIM > &box) const
virtual size_t getSizeOfMemory (const hier::Box< DIM > &box) const
bool fineBoundaryRepresentsVariable () const
bool dataLivesOnPatchBorder () const
bool validCopyTo (const tbox::Pointer< hier::PatchDataFactory< DIM > > &dst_pdf) const

Detailed Description

template<int DIM, class TYPE, class BOX_GEOMETRY>
class SAMRAI::pdat::IndexDataFactory< DIM, TYPE, BOX_GEOMETRY >

Class IndexDataFactory<DIM> is the factory class used to allocate new instances of IndexData<DIM> objects. It is a subclass of the hier::PatchDataFactory<DIM> base class.

See also:
pdat::IndexData

pdat::IndexVariable

hier::PatchDataFactory


Constructor & Destructor Documentation

template<int DIM, class TYPE, class BOX_GEOMETRY>
SAMRAI::pdat::IndexDataFactory< DIM, TYPE, BOX_GEOMETRY >::IndexDataFactory ( const hier::IntVector< DIM > &  ghosts  ) 

The default constructor for the IndexDataFactory<DIM> class. The ghost cell width argument gives the default width for all irregular data objects created with this factory.

template<int DIM, class TYPE, class BOX_GEOMETRY>
SAMRAI::pdat::IndexDataFactory< DIM, TYPE, BOX_GEOMETRY >::~IndexDataFactory (  )  [virtual]

Virtual destructor for the irregular data factory class.


Member Function Documentation

template<int DIM, class TYPE, class BOX_GEOMETRY>
tbox::Pointer< hier::PatchDataFactory< DIM > > SAMRAI::pdat::IndexDataFactory< DIM, TYPE, BOX_GEOMETRY >::cloneFactory ( const hier::IntVector< DIM > &  ghosts  )  [virtual]

Abstract virtual function to clone a patch data factory.

This will return a new instantiation of the abstract factory with the same properties. The properties of the cloned factory can then be changed without modifying the original.

Parameters:
ghosts default ghost cell width for concrete classes created from the factory.

Implements SAMRAI::hier::PatchDataFactory< DIM >.

template<int DIM, class TYPE, class BOX_GEOMETRY>
tbox::Pointer< hier::PatchData< DIM > > SAMRAI::pdat::IndexDataFactory< DIM, TYPE, BOX_GEOMETRY >::allocate ( const hier::Box< DIM > &  box,
tbox::Pointer< tbox::Arena pool = (tbox::Arena *)(0) 
) const [virtual]

Virtual factory function to allocate a concrete irregular data object. The default information about the object (e.g., ghost cell width) is taken from the factory. If no memory pool is provided, the allocation routine assumes some default memory pool.

Implements SAMRAI::hier::PatchDataFactory< DIM >.

template<int DIM, class TYPE, class BOX_GEOMETRY>
tbox::Pointer< hier::PatchData< DIM > > SAMRAI::pdat::IndexDataFactory< DIM, TYPE, BOX_GEOMETRY >::allocate ( const hier::Patch< DIM > &  patch,
tbox::Pointer< tbox::Arena pool = tbox::Pointertbox::Arena >((0)) 
) const [virtual]

Virtual factory function to allocate a concrete index data object. Same as above function, except passes in a patch instead of a box.

Implements SAMRAI::hier::PatchDataFactory< DIM >.

template<int DIM, class TYPE, class BOX_GEOMETRY>
tbox::Pointer< hier::BoxGeometry< DIM > > SAMRAI::pdat::IndexDataFactory< DIM, TYPE, BOX_GEOMETRY >::getBoxGeometry ( const hier::Box< DIM > &  box  )  const [virtual]

Allocate the box geometry object associated with the patch data. This information will be used in the computation of intersections and data dependencies between objects.

Implements SAMRAI::hier::PatchDataFactory< DIM >.

template<int DIM, class TYPE, class BOX_GEOMETRY>
size_t SAMRAI::pdat::IndexDataFactory< DIM, TYPE, BOX_GEOMETRY >::getSizeOfMemory ( const hier::Box< DIM > &  box  )  const [virtual]

Calculate the amount of memory needed to store the irregular data object, including object data but not dynamically allocated data. Because the irregular data list can grow and shrink, it would be impossible to estimate the necessary amount of memory. Instead, dynamic data is allocated via the standard new/free mechanisms.

Implements SAMRAI::hier::PatchDataFactory< DIM >.

template<int DIM, class TYPE, class BOX_GEOMETRY>
bool SAMRAI::pdat::IndexDataFactory< DIM, TYPE, BOX_GEOMETRY >::fineBoundaryRepresentsVariable (  )  const [inline, virtual]

Return a boolean true value indicating that the index data quantities will always be treated as though fine values represent them on coarse-fine interfaces. See the IndexVariable<DIM> class header file for more information.

Implements SAMRAI::hier::PatchDataFactory< DIM >.

template<int DIM, class TYPE, class BOX_GEOMETRY>
bool SAMRAI::pdat::IndexDataFactory< DIM, TYPE, BOX_GEOMETRY >::dataLivesOnPatchBorder (  )  const [inline, virtual]

Return false since the index data index space matches the cell-centered index space for AMR patches. Thus, index data does not live on patch borders.

Implements SAMRAI::hier::PatchDataFactory< DIM >.

template<int DIM, class TYPE, class BOX_GEOMETRY>
bool SAMRAI::pdat::IndexDataFactory< DIM, TYPE, BOX_GEOMETRY >::validCopyTo ( const tbox::Pointer< hier::PatchDataFactory< DIM > > &  dst_pdf  )  const [virtual]

Return whether it is valid to copy this IndexDataFactory to the supplied destination patch data factory. It will return true if dst_pdf is an IndexDataFactory of the same type and dimension, false otherwise.

Implements SAMRAI::hier::PatchDataFactory< DIM >.


The documentation for this class was generated from the following files:
Generated on Thu Jun 18 11:28:46 2009 for SAMRAI by  doxygen 1.5.1