Jet
v1.3.3
|
Abstract base class for 3-D collocated vector grid structure. More...
#include <jet/collocated_vector_grid3.h>
Public Member Functions | |
CollocatedVectorGrid3 () | |
Constructs an empty grid. More... | |
virtual | ~CollocatedVectorGrid3 () |
Default destructor. More... | |
virtual Size3 | dataSize () const =0 |
Returns the actual data point size. More... | |
virtual Vector3D | dataOrigin () const =0 |
Returns data position for the grid point at (0, 0, 0). More... | |
const Vector3D & | operator() (size_t i, size_t j, size_t k) const |
Returns the grid data at given data point. More... | |
Vector3D & | operator() (size_t i, size_t j, size_t k) |
Returns the grid data at given data point. More... | |
double | divergenceAtDataPoint (size_t i, size_t j, size_t k) const |
Returns divergence at data point location. More... | |
Vector3D | curlAtDataPoint (size_t i, size_t j, size_t k) const |
Returns curl at data point location. More... | |
VectorDataAccessor | dataAccessor () |
Returns the read-write data array accessor. More... | |
ConstVectorDataAccessor | constDataAccessor () const |
Returns the read-only data array accessor. More... | |
DataPositionFunc | dataPosition () const |
Returns the function that maps data point to its position. More... | |
void | forEachDataPointIndex (const std::function< void(size_t, size_t, size_t)> &func) const |
Invokes the given function func for each data point. More... | |
void | parallelForEachDataPointIndex (const std::function< void(size_t, size_t, size_t)> &func) const |
Invokes the given function func for each data point parallelly. More... | |
Vector3D | sample (const Vector3D &x) const override |
Returns sampled value at given position x . More... | |
double | divergence (const Vector3D &x) const override |
Returns divergence at given position x . More... | |
Vector3D | curl (const Vector3D &x) const override |
Returns curl at given position x . More... | |
std::function< Vector3D(const Vector3D &)> | sampler () const override |
Returns the sampler function. More... | |
![]() | |
VectorGrid3 () | |
Constructs an empty grid. More... | |
virtual | ~VectorGrid3 () |
Default destructor. More... | |
void | clear () |
Clears the contents of the grid. More... | |
void | resize (size_t resolutionX, size_t resolutionY, size_t resolutionZ, double gridSpacingX=1.0, double gridSpacingY=1.0, double gridSpacingZ=1.0, double originX=0.0, double originY=0.0, double originZ=0.0, double initialValueX=0.0, double initialValueY=0.0, double initialValueZ=0.0) |
Resizes the grid using given parameters. More... | |
void | resize (const Size3 &resolution, const Vector3D &gridSpacing=Vector3D(1, 1, 1), const Vector3D &origin=Vector3D(), const Vector3D &initialValue=Vector3D()) |
Resizes the grid using given parameters. More... | |
void | resize (double gridSpacingX, double gridSpacingY, double gridSpacingZ, double originX, double originY, double originZ) |
Resizes the grid using given parameters. More... | |
void | resize (const Vector3D &gridSpacing, const Vector3D &origin) |
Resizes the grid using given parameters. More... | |
virtual void | fill (const Vector3D &value, ExecutionPolicy policy=ExecutionPolicy::kParallel)=0 |
Fills the grid with given value. More... | |
virtual void | fill (const std::function< Vector3D(const Vector3D &)> &func, ExecutionPolicy policy=ExecutionPolicy::kParallel)=0 |
Fills the grid with given position-to-value mapping function. More... | |
virtual std::shared_ptr< VectorGrid3 > | clone () const =0 |
Returns the copy of the grid instance. 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... | |
![]() | |
VectorField3 () | |
Default constructor. More... | |
virtual | ~VectorField3 () |
Default destructor. More... | |
![]() | |
Field3 () | |
virtual | ~Field3 () |
![]() | |
Grid3 () | |
Constructs an empty grid. More... | |
virtual | ~Grid3 () |
Default destructor. More... | |
virtual std::string | typeName () const =0 |
Returns the type name of derived grid. More... | |
const Size3 & | resolution () const |
Returns the grid resolution. More... | |
const Vector3D & | origin () const |
Returns the grid origin. More... | |
const Vector3D & | gridSpacing () const |
Returns the grid spacing. More... | |
const BoundingBox3D & | boundingBox () const |
Returns the bounding box of the grid. More... | |
DataPositionFunc | cellCenterPosition () const |
Returns the function that maps grid index to the cell-center position. More... | |
void | forEachCellIndex (const std::function< void(size_t, size_t, size_t)> &func) const |
Invokes the given function func for each grid cell. More... | |
void | parallelForEachCellIndex (const std::function< void(size_t, size_t, size_t)> &func) const |
Invokes the given function func for each grid cell parallelly. More... | |
bool | hasSameShape (const Grid3 &other) const |
Returns true if resolution, grid-spacing and origin are same. More... | |
virtual void | swap (Grid3 *other)=0 |
Swaps the data with other grid. More... | |
![]() | |
Serializable ()=default | |
virtual | ~Serializable ()=default |
Protected Member Functions | |
void | swapCollocatedVectorGrid (CollocatedVectorGrid3 *other) |
Swaps the data storage and predefined samplers with given grid. More... | |
void | setCollocatedVectorGrid (const CollocatedVectorGrid3 &other) |
Sets the data storage and predefined samplers with given grid. More... | |
void | getData (std::vector< double > *data) const override |
Fetches the data into a continuous linear array. More... | |
void | setData (const std::vector< double > &data) override |
Sets the data from a continuous linear array. More... | |
![]() | |
void | setSizeParameters (const Size3 &resolution, const Vector3D &gridSpacing, const Vector3D &origin) |
void | swapGrid (Grid3 *other) |
Swaps the size parameters with given grid other . More... | |
void | setGrid (const Grid3 &other) |
Sets the size parameters with given grid other . More... | |
Additional Inherited Members | |
![]() | |
typedef ArrayAccessor3< Vector3D > | VectorDataAccessor |
Read-write array accessor type. More... | |
typedef ConstArrayAccessor3< Vector3D > | ConstVectorDataAccessor |
Read-only array accessor type. More... | |
![]() | |
typedef std::function< Vector3D(size_t, size_t, size_t)> | DataPositionFunc |
Function type for mapping data index to actual position. More... | |
Abstract base class for 3-D collocated vector grid structure.
jet::CollocatedVectorGrid3::CollocatedVectorGrid3 | ( | ) |
Constructs an empty grid.
|
virtual |
Default destructor.
ConstVectorDataAccessor jet::CollocatedVectorGrid3::constDataAccessor | ( | ) | const |
Returns the read-only data array accessor.
Returns curl at given position x
.
Reimplemented from jet::VectorField3.
Vector3D jet::CollocatedVectorGrid3::curlAtDataPoint | ( | size_t | i, |
size_t | j, | ||
size_t | k | ||
) | const |
Returns curl at data point location.
VectorDataAccessor jet::CollocatedVectorGrid3::dataAccessor | ( | ) |
Returns the read-write data array accessor.
|
pure virtual |
Returns data position for the grid point at (0, 0, 0).
Note that this is different from origin() since origin() returns the lower corner point of the bounding box.
Implemented in jet::CellCenteredVectorGrid3, and jet::VertexCenteredVectorGrid3.
DataPositionFunc jet::CollocatedVectorGrid3::dataPosition | ( | ) | const |
Returns the function that maps data point to its position.
|
pure virtual |
Returns the actual data point size.
Implemented in jet::CellCenteredVectorGrid3, and jet::VertexCenteredVectorGrid3.
|
overridevirtual |
Returns divergence at given position x
.
Reimplemented from jet::VectorField3.
double jet::CollocatedVectorGrid3::divergenceAtDataPoint | ( | size_t | i, |
size_t | j, | ||
size_t | k | ||
) | const |
Returns divergence at data point location.
void jet::CollocatedVectorGrid3::forEachDataPointIndex | ( | const std::function< void(size_t, size_t, size_t)> & | func | ) | const |
Invokes the given function func
for each data point.
This function invokes the given function object func
for each data point in serial manner. The input parameters are i and j indices of a data point. The order of execution is i-first, j-last.
|
overrideprotectedvirtual |
Fetches the data into a continuous linear array.
Implements jet::Grid3.
Vector3D& jet::CollocatedVectorGrid3::operator() | ( | size_t | i, |
size_t | j, | ||
size_t | k | ||
) |
Returns the grid data at given data point.
const Vector3D& jet::CollocatedVectorGrid3::operator() | ( | size_t | i, |
size_t | j, | ||
size_t | k | ||
) | const |
Returns the grid data at given data point.
void jet::CollocatedVectorGrid3::parallelForEachDataPointIndex | ( | const std::function< void(size_t, size_t, size_t)> & | func | ) | const |
Invokes the given function func
for each data point parallelly.
This function invokes the given function object func
for each data point in parallel manner. The input parameters are i and j indices of a data point. The order of execution can be arbitrary since it's multi-threaded.
Returns sampled value at given position x
.
Implements jet::VectorField3.
|
overridevirtual |
Returns the sampler function.
This function returns the data sampler function object. The sampling function is linear.
Reimplemented from jet::VectorField3.
|
protected |
Sets the data storage and predefined samplers with given grid.
|
overrideprotectedvirtual |
Sets the data from a continuous linear array.
Implements jet::Grid3.
|
protected |
Swaps the data storage and predefined samplers with given grid.