|
| VertexCenteredScalarGrid ()=default |
| Constructs zero-sized grid. More...
|
|
| VertexCenteredScalarGrid (const Vector< size_t, N > &resolution, const Vector< double, N > &gridSpacing=Vector< double, N >::MakeConstant(1), const Vector< double, N > &origin=Vector< double, N >{}, double initialValue=0.0) |
|
| ~VertexCenteredScalarGrid () override=default |
| Default virtual destructor. More...
|
|
| VertexCenteredScalarGrid (const VertexCenteredScalarGrid &other) |
| Copy constructor. More...
|
|
| VertexCenteredScalarGrid (VertexCenteredScalarGrid &&other) noexcept |
| Move constructor. More...
|
|
VertexCenteredScalarGrid< N > & | operator= (const VertexCenteredScalarGrid &other) |
| Copy assignment operator. More...
|
|
VertexCenteredScalarGrid< N > & | operator= (VertexCenteredScalarGrid &&other) noexcept |
| Move assignment operator. More...
|
|
Vector< size_t, N > | DataSize () const override |
| Returns the actual data point size. More...
|
|
Vector< double, N > | DataOrigin () const override |
|
std::shared_ptr< ScalarGrid< N > > | Clone () const override |
| Returns the copy of the grid instance. More...
|
|
void | Swap (Grid< N > *other) override |
| Swaps the contents with the given other grid. More...
|
|
void | Set (const VertexCenteredScalarGrid< N > &other) |
| Sets the contents with the given other grid. More...
|
|
| ScalarGrid () |
| Constructs an empty grid. More...
|
|
| ~ScalarGrid () override=default |
| Default virtual destructor. More...
|
|
| ScalarGrid (const ScalarGrid &other) |
| Copy constructor. More...
|
|
| ScalarGrid (ScalarGrid &&other) noexcept |
| Move constructor. More...
|
|
ScalarGrid & | operator= (const ScalarGrid &other) |
| Copy assignment operator. More...
|
|
ScalarGrid & | operator= (ScalarGrid &&other) noexcept |
| Move assignment operator. More...
|
|
void | Clear () |
| Clears the contents of the grid. More...
|
|
void | Resize (const Vector< size_t, N > &resolution, const Vector< double, N > &gridSpacing=Vector< double, N >::MakeConstant(1), const Vector< double, N > &origin=Vector< double, N >{}, double initialValue=0.0) |
| Resizes the grid using given parameters. More...
|
|
void | Resize (const Vector< double, N > &gridSpacing, const Vector< double, N > &origin) |
| Resizes the grid using given parameters. More...
|
|
const double & | operator() (const Vector< size_t, N > &idx) const |
| Returns the grid data at given data point. More...
|
|
double & | operator() (const Vector< size_t, N > &idx) |
| Returns the grid data at given data point. More...
|
|
template<typename... Indices> |
const double & | operator() (size_t i, Indices... indices) const |
| Returns the grid data at given data point. More...
|
|
template<typename... Indices> |
double & | operator() (size_t i, Indices... indices) |
| Returns the grid data at given data point. More...
|
|
Vector< double, N > | GradientAtDataPoint (const Vector< size_t, N > &idx) const |
| Returns the gradient vector at given data point. More...
|
|
template<typename... Indices> |
Vector< double, N > | GradientAtDataPoint (size_t i, Indices... indices) const |
| Returns the gradient vector at given data point. More...
|
|
double | LaplacianAtDataPoint (const Vector< size_t, N > &idx) const |
| Returns the Laplacian at given data point. More...
|
|
template<typename... Indices> |
double | LaplacianAtDataPoint (size_t i, Indices... indices) const |
| Returns the Laplacian at given data point. More...
|
|
ScalarDataView | DataView () |
| Returns the read-write data array accessor. More...
|
|
ConstScalarDataView | DataView () const |
| Returns the read-only data array accessor. More...
|
|
GridDataPositionFunc< N > | DataPosition () const |
| Returns the function that maps data point to its position. More...
|
|
void | Fill (double value, ExecutionPolicy policy=ExecutionPolicy::Parallel) |
| Fills the grid with given value. More...
|
|
void | Fill (const std::function< double(const Vector< double, N > &)> &func, ExecutionPolicy policy=ExecutionPolicy::Parallel) |
| Fills the grid with given position-to-value mapping function. More...
|
|
void | ForEachDataPointIndex (const std::function< void(const Vector< size_t, N > &)> &func) const |
| Invokes the given function func for each data point. More...
|
|
template<size_t M = N> |
std::enable_if_t< M==2, void > | ForEachDataPointIndex (const std::function< void(size_t, size_t)> &func) const |
|
template<size_t M = N> |
std::enable_if_t< M==3, void > | ForEachDataPointIndex (const std::function< void(size_t, size_t, size_t)> &func) const |
|
void | ParallelForEachDataPointIndex (const std::function< void(const Vector< size_t, N > &)> &func) const |
| Invokes the given function func for each data point in parallel. More...
|
|
template<size_t M = N> |
std::enable_if_t< M==2, void > | ParallelForEachDataPointIndex (const std::function< void(size_t, size_t)> &func) const |
|
template<size_t M = N> |
std::enable_if_t< M==3, void > | ParallelForEachDataPointIndex (const std::function< void(size_t, size_t, size_t)> &func) const |
|
double | Sample (const Vector< double, N > &x) const override |
| Returns the sampled value at given position x . More...
|
|
std::function< double(const Vector< double, N > &)> | Sampler () const override |
| Returns the sampler function. More...
|
|
Vector< double, N > | Gradient (const Vector< double, N > &x) const override |
| Returns the gradient vector at given position x . More...
|
|
double | Laplacian (const Vector< double, N > &x) const override |
| Returns the Laplacian at given position x . More...
|
|
void | Serialize (std::vector< uint8_t > *buffer) const override |
| Serializes the grid instance to the output buffer. More...
|
|
void | Deserialize (const std::vector< uint8_t > &buffer) override |
| Deserializes the input buffer to the grid instance. More...
|
|
| ScalarField ()=default |
| Default constructor. More...
|
|
| ~ScalarField () override=default |
| Default destructor. More...
|
|
| ScalarField (const ScalarField &)=default |
| Default copy constructor. More...
|
|
| ScalarField (ScalarField &&) noexcept=default |
| Default move constructor. More...
|
|
ScalarField & | operator= (const ScalarField &)=default |
| Default copy assignment operator. More...
|
|
ScalarField & | operator= (ScalarField &&) noexcept=default |
| Default move assignment operator. More...
|
|
| Field ()=default |
| Default constructor. More...
|
|
virtual | ~Field ()=default |
| Default virtual destructor. More...
|
|
| Field (const Field &)=default |
| Default copy constructor. More...
|
|
| Field (Field &&) noexcept=default |
| Default move constructor. More...
|
|
Field & | operator= (const Field &)=default |
| Default copy assignment operator. More...
|
|
Field & | operator= (Field &&) noexcept=default |
| Default move assignment operator. More...
|
|
| Grid ()=default |
| Constructs an empty grid. More...
|
|
| ~Grid () override=default |
| Default virtual destructor. More...
|
|
| Grid (const Grid &other) |
| Copy constructor. More...
|
|
| Grid (Grid &&other) noexcept |
| Move constructor. More...
|
|
Grid & | operator= (const Grid &other) |
| Copy assignment operator. More...
|
|
Grid & | operator= (Grid &&other) noexcept |
| Move assignment operator. More...
|
|
virtual std::string | TypeName () const =0 |
| Returns the type name of derived grid. More...
|
|
const Vector< size_t, N > & | Resolution () const |
| Returns the grid resolution. More...
|
|
const Vector< double, N > & | Origin () const |
| Returns the grid origin. More...
|
|
const Vector< double, N > & | GridSpacing () const |
| Returns the grid spacing. More...
|
|
const BoundingBox< double, N > & | GetBoundingBox () const |
| Returns the bounding box of the grid. More...
|
|
GridDataPositionFunc< N > | CellCenterPosition () const |
| Returns the function that maps grid index to the cell-center position. More...
|
|
void | ForEachCellIndex (const std::function< void(const Vector< size_t, N > &)> &func) const |
| Invokes the given function func for each grid cell. More...
|
|
template<size_t M = N> |
std::enable_if_t< M==2, void > | ForEachCellIndex (const std::function< void(size_t, size_t)> &func) const |
|
template<size_t M = N> |
std::enable_if_t< M==3, void > | ForEachCellIndex (const std::function< void(size_t, size_t, size_t)> &func) const |
|
void | ParallelForEachCellIndex (const std::function< void(const Vector< size_t, N > &)> &func) const |
| Invokes the given function func for each grid cell in parallel. More...
|
|
template<size_t M = N> |
std::enable_if_t< M==2, void > | ParallelForEachCellIndex (const std::function< void(size_t, size_t)> &func) const |
|
template<size_t M = N> |
std::enable_if_t< M==3, void > | ParallelForEachCellIndex (const std::function< void(size_t, size_t, size_t)> &func) const |
|
bool | HasSameShape (const Grid &other) const |
| Returns true if resolution, grid-spacing and origin are same. More...
|
|
| Serializable ()=default |
| Default constructor. More...
|
|
| Serializable (const Serializable &)=default |
| Default copy constructor. More...
|
|
| Serializable (Serializable &&) noexcept=default |
| Default move constructor. More...
|
|
virtual | ~Serializable ()=default |
| Default virtual destructor. More...
|
|
Serializable & | operator= (const Serializable &)=default |
| Default copy assignment operator. More...
|
|
Serializable & | operator= (Serializable &&) noexcept=default |
| Default move assignment operator. More...
|
|
template<size_t N>
class CubbyFlow::VertexCenteredScalarGrid< N >
N-D Vertex-centered scalar grid structure.
This class represents N-D vertex-centered scalar grid which extends ScalarGrid. As its name suggests, the class defines the data point at the grid vertices (corners). Thus, A x B x ... grid resolution will have (A+1) x (B+1) x ... data points.