Template Class grid3D_overlay

Inheritance Relationships

Base Types

Class Documentation

template<typename T>
class grid3D_overlay : public rcppsw::ds::base_grid3D<T>, public rcppsw::ds::base_grid_overlay<math::vector3d>, public rcppsw::er::client<grid3D_overlay<T>>

A 3D logical grid overlayed over a continuous environment using a contiguous array of the template parameter type (.

See also

base_grid_overlay).

Template Parameters:

T – The type of the grid element (probably a cell of some kind). Must have must have a zero parameter constructor available or it won’t compile (this is a limitation of the boost underneath). Furthermore, T must also have a copy constructor available, as move semantics are not supported with the underlying library.

Public Functions

inline grid3D_overlay(const math::vector3d &origin, const math::vector3d &dim, const types::discretize_ratio &grid_res, const types::discretize_ratio &field_res)
virtual ~grid3D_overlay(void) = default
inline virtual T &access(size_t i, size_t j, size_t k) override

Return a reference to the element at position (i, j) in the grid.

This is provided in the base class so that the pointer/object variants of the grid (grid3D, etc.) can reduce code duplication.

inline coord_type ddims3D(void) const

Get the discrete dimensions of the grid.

inline const math::vector3d &rdims3D(void) const

Get the real dimensions of the grid; that is, continuous floating point.

inline size_t xdsize(void) const

Get the discrete size of the X dimension of the grid (i.e. what is the array index in X?)

inline double xrsize(void) const

Get the size of the X dimension (non-discretized).

inline size_t ydsize(void) const

Get the discrete size of the Y dimension of the grid (i.e. what is the array index in Y?)

inline double yrsize(void) const

Get the size of the Y dimension (non-discretized).

inline size_t zdsize(void) const

Get the discrete size of the Z dimension of the grid (i.e. what is the array index in Z?)

inline double zrsize(void) const

Get the size of the Y dimension (non-discretized).