FreePOOMA  2.4.1
Public Member Functions
UniformRectilinearMeshData< Dim, T > Class Template Reference

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

#include <UniformRectilinearMesh.h>

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

List of all members.

Public Member Functions

 UniformRectilinearMeshData ()
 We provide a default constructor that creates the object with empty domains.
template<class Layout >
 UniformRectilinearMeshData (const Layout &layout, const Vector< Dim, T > &origin, const Vector< Dim, T > &spacings)
 This constructor fully constructs the object.
 UniformRectilinearMeshData (const UniformRectilinearMeshData< Dim, T > &model)
 Copy constructor.
UniformRectilinearMeshData
< Dim, T > & 
operator= (const UniformRectilinearMeshData< Dim, T > &rhs)
 Copy assignment operator.
 ~UniformRectilinearMeshData ()
 Empty destructor is fine.
View constructors.
 UniformRectilinearMeshData (const UniformRectilinearMeshData< Dim, T > &model, const Interval< Dim > &d)
 Interval view.
 UniformRectilinearMeshData (const UniformRectilinearMeshData< Dim, T > &model, const FieldEnginePatch< Dim > &p)
 FieldEnginePatch view.
General accessors.
const Vector< Dim, T > & spacings () const
 The mesh spacing.
const Vector< Dim, T > & origin () const
 The mesh origin.

Detailed Description

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

Holds the data for a uniform rectilinear mesh.

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


Constructor & Destructor Documentation

template<int Dim, class T>
UniformRectilinearMeshData< Dim, T >::UniformRectilinearMeshData ( ) [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 >
UniformRectilinearMeshData< Dim, T >::UniformRectilinearMeshData ( const Layout &  layout,
const Vector< Dim, T > &  origin,
const Vector< Dim, 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.

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

Copy constructor.

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

Interval view.

This means that we simply need to adjust the origin by the amount the view is offset from the model's physical cell domain. We rely on the base class to do the heavy lifting with respect to figuring out the domains correctly.

The Interval supplied must refer to VERTEX positions.

References NoMeshData< Dim >::physicalCellDomain().

template<int Dim, class T>
UniformRectilinearMeshData< Dim, T >::UniformRectilinearMeshData ( const UniformRectilinearMeshData< 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>
UniformRectilinearMeshData< Dim, T >::~UniformRectilinearMeshData ( ) [inline]

Empty destructor is fine.

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


Member Function Documentation

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

Copy assignment operator.

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

The mesh spacing.

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

The mesh origin.


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