Go to the documentation of this file.
7 #ifndef INCLUDE_JET_VECTOR_GRID3_H_
8 #define INCLUDE_JET_VECTOR_GRID3_H_
41 double gridSpacingX = 1.0,
42 double gridSpacingY = 1.0,
43 double gridSpacingZ = 1.0,
47 double initialValueX = 0.0,
48 double initialValueY = 0.0,
49 double initialValueZ = 0.0);
79 virtual std::shared_ptr<VectorGrid3>
clone()
const = 0;
82 void serialize(std::vector<uint8_t>* buffer)
const override;
85 void deserialize(
const std::vector<uint8_t>& buffer)
override;
116 const Size3& resolution,
119 const Vector3D& initialVal)
const = 0;
127 #endif // INCLUDE_JET_VECTOR_GRID3_H_
3-D read-only array accessor class.
Definition: array_accessor3.h:270
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.
ExecutionPolicy
Execution policy tag.
Definition: parallel.h:13
void resize(double gridSpacingX, double gridSpacingY, double gridSpacingZ, double originX, double originY, double originZ)
Resizes the grid using given parameters.
void clear()
Clears the contents of the grid.
VectorGridBuilder3()
Creates a builder.
std::shared_ptr< VectorGridBuilder3 > VectorGridBuilder3Ptr
Shared pointer for the VectorGridBuilder3 type.
Definition: vector_grid3.h:123
std::shared_ptr< VectorGrid3 > VectorGrid3Ptr
Shared pointer for the VectorGrid3 type.
Definition: vector_grid3.h:103
VectorGrid3()
Constructs an empty grid.
Abstract base class for 3-D cartesian grid structure.
Definition: grid3.h:30
void serialize(std::vector< uint8_t > *buffer) const override
Serializes the grid instance to the output buffer.
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.
virtual ~VectorGrid3()
Default destructor.
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.
ConstArrayAccessor3< Vector3D > ConstVectorDataAccessor
Read-only array accessor type.
Definition: vector_grid3.h:25
ArrayAccessor3< Vector3D > VectorDataAccessor
Read-write array accessor type.
Definition: vector_grid3.h:22
virtual void onResize(const Size3 &resolution, const Vector3D &gridSpacing, const Vector3D &origin, const Vector3D &initialValue)=0
Invoked when the resizing happens.
Definition: advection_solver2.h:18
const Vector3D & origin() const
Returns the grid origin.
Abstract base class for 3-D vector field.
Definition: vector_field3.h:18
const Size3 & resolution() const
Returns the grid resolution.
virtual ~VectorGridBuilder3()
Default destructor.
Abstract base class for 3-D vector grid builder.
Definition: vector_grid3.h:106
const Vector3D & gridSpacing() const
Returns the grid spacing.
3-D size class.
Definition: size3.h:19
Abstract base class for 3-D vector grid structure.
Definition: vector_grid3.h:19
3-D array accessor class.
Definition: array_accessor3.h:31
Vector3< double > Vector3D
Double-type 3D vector.
Definition: vector3.h:349
virtual void fill(const Vector3D &value, ExecutionPolicy policy=ExecutionPolicy::kParallel)=0
Fills the grid with given value.
void resize(const Vector3D &gridSpacing, const Vector3D &origin)
Resizes the grid using given parameters.
3-D vector class.
Definition: vector3.h:25
void deserialize(const std::vector< uint8_t > &buffer) override
Deserializes the input buffer to the grid instance.
virtual std::shared_ptr< VectorGrid3 > clone() const =0
Returns the copy of the grid instance.
virtual VectorGrid3Ptr build(const Size3 &resolution, const Vector3D &gridSpacing, const Vector3D &gridOrigin, const Vector3D &initialVal) const =0
Returns 3-D vector grid with given parameters.