#include <UniformRectilinearMesh.h>
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. |
That class has a ref-counted instance of this class.
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.
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.
UniformRectilinearMeshData< Dim, T >::UniformRectilinearMeshData | ( | const UniformRectilinearMeshData< Dim, T > & | model | ) | [inline] |
Copy constructor.
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().
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.
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.
UniformRectilinearMeshData<Dim, T>& UniformRectilinearMeshData< Dim, T >::operator= | ( | const UniformRectilinearMeshData< Dim, T > & | rhs | ) | [inline] |
Copy assignment operator.
const Vector<Dim, T>& UniformRectilinearMeshData< Dim, T >::spacings | ( | ) | const [inline] |
The mesh spacing.
const Vector<Dim, T>& UniformRectilinearMeshData< Dim, T >::origin | ( | ) | const [inline] |
The mesh origin.