Go to the documentation of this file.
7 #ifndef INCLUDE_JET_VECTOR_GRID2_H_
8 #define INCLUDE_JET_VECTOR_GRID2_H_
39 void resize(
size_t resolutionX,
size_t resolutionY,
40 double gridSpacingX = 1.0,
double gridSpacingY = 1.0,
41 double originX = 0.0,
double originY = 0.0,
42 double initialValueX = 0.0,
double initialValueY = 0.0);
51 void resize(
double gridSpacingX,
double gridSpacingY,
double originX,
66 virtual std::shared_ptr<VectorGrid2>
clone()
const = 0;
69 void serialize(std::vector<uint8_t>* buffer)
const override;
72 void deserialize(
const std::vector<uint8_t>& buffer)
override;
103 const Vector2D& initialVal)
const = 0;
111 #endif // INCLUDE_JET_VECTOR_GRID2_H_
std::shared_ptr< VectorGridBuilder2 > VectorGridBuilder2Ptr
Shared pointer for the VectorGridBuilder2 type.
Definition: vector_grid2.h:107
ExecutionPolicy
Execution policy tag.
Definition: parallel.h:13
void resize(const Size2 &resolution, const Vector2D &gridSpacing=Vector2D(1, 1), const Vector2D &origin=Vector2D(), const Vector2D &initialValue=Vector2D())
Resizes the grid using given parameters.
const Vector2D & origin() const
Returns the grid origin.
Vector2< double > Vector2D
Double-type 2D vector.
Definition: vector2.h:340
ConstArrayAccessor2< Vector2D > ConstVectorDataAccessor
Read-only array accessor type.
Definition: vector_grid2.h:27
void deserialize(const std::vector< uint8_t > &buffer) override
Deserializes the input buffer to the grid instance.
void serialize(std::vector< uint8_t > *buffer) const override
Serializes the grid instance to the output buffer.
Abstract base class for 2-D cartesian grid structure.
Definition: grid2.h:30
Abstract base class for 2-D vector grid structure.
Definition: vector_grid2.h:21
Definition: advection_solver2.h:18
2-D read-only array accessor class.
Definition: array_accessor2.h:261
void resize(size_t resolutionX, size_t resolutionY, double gridSpacingX=1.0, double gridSpacingY=1.0, double originX=0.0, double originY=0.0, double initialValueX=0.0, double initialValueY=0.0)
Resizes the grid using given parameters.
Abstract base class for 2-D vector grid builder.
Definition: vector_grid2.h:91
2-D vector class.
Definition: vector2.h:24
void resize(const Vector2D &gridSpacing, const Vector2D &origin)
Resizes the grid using given parameters.
virtual ~VectorGrid2()
Default destructor.
virtual std::shared_ptr< VectorGrid2 > clone() const =0
Returns the copy of the grid instance.
virtual ~VectorGridBuilder2()
Default destructor.
ArrayAccessor2< Vector2D > VectorDataAccessor
Read-write array accessor type.
Definition: vector_grid2.h:24
virtual void fill(const std::function< Vector2D(const Vector2D &)> &func, ExecutionPolicy policy=ExecutionPolicy::kParallel)=0
Fills the grid with given position-to-value mapping function.
virtual void onResize(const Size2 &resolution, const Vector2D &gridSpacing, const Vector2D &origin, const Vector2D &initialValue)=0
Invoked when the resizing happens.
VectorGridBuilder2()
Creates a builder.
2-D size class.
Definition: size2.h:19
2-D array accessor class.
Definition: array_accessor2.h:31
void clear()
Clears the contents of the grid.
virtual VectorGrid2Ptr build(const Size2 &resolution, const Vector2D &gridSpacing, const Vector2D &gridOrigin, const Vector2D &initialVal) const =0
Returns 2-D vector grid with given parameters.
void resize(double gridSpacingX, double gridSpacingY, double originX, double originY)
Resizes the grid using given parameters.
const Size2 & resolution() const
Returns the grid resolution.
VectorGrid2()
Constructs an empty grid.
const Vector2D & gridSpacing() const
Returns the grid spacing.
Abstract base class for 2-D vector field.
Definition: vector_field2.h:18
std::shared_ptr< VectorGrid2 > VectorGrid2Ptr
Shared pointer for the VectorGrid2 type.
Definition: vector_grid2.h:88
virtual void fill(const Vector2D &value, ExecutionPolicy policy=ExecutionPolicy::kParallel)=0
Fills the grid with given value.