FreePOOMA  2.4.1
Public Types | Public Member Functions
RectilinearMeshData< Dim, T > Class Template Reference

Holds the data for a rectilinear mesh. More...

#include <RectilinearMesh.h>

Inheritance diagram for RectilinearMeshData< Dim, T >:
Inheritance graph
[legend]
Collaboration diagram for RectilinearMeshData< Dim, T >:
Collaboration graph
[legend]

List of all members.

Public Types

typedef Array< 1, T > SpacingsType_t [Dim]

Public Member Functions

 RectilinearMeshData ()
 We provide a default constructor that creates the object with empty domains.
template<class Layout >
 RectilinearMeshData (const Layout &layout, const Vector< Dim, T > &origin, const SpacingsType_t &spacings)
 This constructor fully constructs the object.
template<class Layout >
 RectilinearMeshData (const Layout &layout, const Vector< Dim, T > &origin, const Vector< Dim, T > &spacings)
 Constructor for constructing evenly spaced rectilinear meshes just like UniformRectilinearMesh does.
 RectilinearMeshData (const RectilinearMeshData< Dim, T > &model)
 Copy constructor.
RectilinearMeshData< Dim, T > & operator= (const RectilinearMeshData< Dim, T > &rhs)
 Copy assignment operator.
 ~RectilinearMeshData ()
 Empty destructor is fine.
View constructors.
 RectilinearMeshData (const RectilinearMeshData< Dim, T > &model, const Interval< Dim > &d)
 Interval view.
 RectilinearMeshData (const RectilinearMeshData< Dim, T > &model, const FieldEnginePatch< Dim > &p)
 FieldEnginePatch view.
General accessors.
const SpacingsType_tspacings () const
 The mesh spacing.
const SpacingsType_tpositions () const
 The mesh vertex positions.
const Vector< Dim, T > & origin () const
 The mesh origin.

Detailed Description

template<int Dim, class T>
class RectilinearMeshData< Dim, T >

Holds the data for a rectilinear mesh.

That class has a ref-counted instance of this class.


Member Typedef Documentation

template<int Dim, class T>
typedef Array<1, T> RectilinearMeshData< Dim, T >::SpacingsType_t[Dim]

Constructor & Destructor Documentation

template<int Dim, class T>
RectilinearMeshData< Dim, T >::RectilinearMeshData ( ) [inline]

We provide a default constructor that creates the object with empty domains.

To be useful, this object must be replaced by another version via assignment.

template<int Dim, class T>
template<class Layout >
RectilinearMeshData< Dim, T >::RectilinearMeshData ( const Layout &  layout,
const Vector< Dim, T > &  origin,
const SpacingsType_t spacings 
) [inline]

This constructor fully constructs the object.

It uses the layout to compute domains and also initializes the origin and the spacings in each coordinate direction. The indices in the layout refer to VERTEX positions.

References Pooma::blockAndEvaluate().

template<int Dim, class T>
template<class Layout >
RectilinearMeshData< Dim, T >::RectilinearMeshData ( const Layout &  layout,
const Vector< Dim, T > &  origin,
const Vector< Dim, T > &  spacings 
) [inline]

Constructor for constructing evenly spaced rectilinear meshes just like UniformRectilinearMesh does.

References RectilinearMeshData< Dim, T >::spacings().

template<int Dim, class T>
RectilinearMeshData< Dim, T >::RectilinearMeshData ( const RectilinearMeshData< Dim, T > &  model) [inline]

Copy constructor.

template<int Dim, class T>
RectilinearMeshData< Dim, T >::RectilinearMeshData ( const RectilinearMeshData< Dim, T > &  model,
const Interval< Dim > &  d 
) [inline]
template<int Dim, class T>
RectilinearMeshData< Dim, T >::RectilinearMeshData ( const RectilinearMeshData< Dim, T > &  model,
const FieldEnginePatch< Dim > &  p 
) [inline]

FieldEnginePatch view.

We don't fiddle with the origin because we are not making the domain zero-based.

The domain supplied by the FieldEnginePatch must refer to VERTEX positions.

template<int Dim, class T>
RectilinearMeshData< Dim, T >::~RectilinearMeshData ( ) [inline]

Empty destructor is fine.

Note, however, that NoMeshData does not have a virtual destructor. We must be careful to delete these puppies as RectilinearMeshData.


Member Function Documentation

template<int Dim, class T>
RectilinearMeshData<Dim, T>& RectilinearMeshData< Dim, T >::operator= ( const RectilinearMeshData< Dim, T > &  rhs) [inline]

Copy assignment operator.

template<int Dim, class T>
const SpacingsType_t& RectilinearMeshData< Dim, T >::spacings ( ) const [inline]

The mesh spacing.

Referenced by RectilinearMeshData< Dim, T >::RectilinearMeshData().

template<int Dim, class T>
const SpacingsType_t& RectilinearMeshData< Dim, T >::positions ( ) const [inline]

The mesh vertex positions.

template<int Dim, class T>
const Vector<Dim, T>& RectilinearMeshData< Dim, T >::origin ( ) const [inline]

The mesh origin.


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