Jet  v1.3.3
Classes | Public Member Functions | Static Public Member Functions | List of all members
jet::VertexCenteredScalarGrid2 Class Referencefinal

2-D Vertex-centered scalar grid structure. More...

#include <jet/vertex_centered_scalar_grid2.h>

Inheritance diagram for jet::VertexCenteredScalarGrid2:
jet::ScalarGrid2 jet::ScalarField2 jet::Grid2 jet::Field2 jet::Serializable

Classes

class  Builder
 Front-end to create VertexCenteredScalarGrid2 objects step by step. More...
 

Public Member Functions

 VertexCenteredScalarGrid2 ()
 Constructs zero-sized grid. More...
 
 VertexCenteredScalarGrid2 (size_t resolutionX, size_t resolutionY, double gridSpacingX=1.0, double gridSpacingY=1.0, double originX=0.0, double originY=0.0, double initialValue=0.0)
 
 VertexCenteredScalarGrid2 (const Size2 &resolution, const Vector2D &gridSpacing=Vector2D(1.0, 1.0), const Vector2D &origin=Vector2D(), double initialValue=0.0)
 
 VertexCenteredScalarGrid2 (const VertexCenteredScalarGrid2 &other)
 Copy constructor. More...
 
Size2 dataSize () const override
 Returns the actual data point size. More...
 
Vector2D dataOrigin () const override
 
std::shared_ptr< ScalarGrid2clone () const override
 Returns the copy of the grid instance. More...
 
void swap (Grid2 *other) override
 Swaps the contents with the given other grid. More...
 
void set (const VertexCenteredScalarGrid2 &other)
 Sets the contents with the given other grid. More...
 
VertexCenteredScalarGrid2operator= (const VertexCenteredScalarGrid2 &other)
 Sets the contents with the given other grid. More...
 
- Public Member Functions inherited from jet::ScalarGrid2
 ScalarGrid2 ()
 Constructs an empty grid. More...
 
virtual ~ScalarGrid2 ()
 Default destructor. More...
 
void clear ()
 Clears the contents of the grid. More...
 
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 initialValue=0.0)
 Resizes the grid using given parameters. More...
 
void resize (const Size2 &resolution, const Vector2D &gridSpacing=Vector2D(1, 1), const Vector2D &origin=Vector2D(), double initialValue=0.0)
 Resizes the grid using given parameters. More...
 
void resize (double gridSpacingX, double gridSpacingY, double originX, double originY)
 Resizes the grid using given parameters. More...
 
void resize (const Vector2D &gridSpacing, const Vector2D &origin)
 Resizes the grid using given parameters. More...
 
const double & operator() (size_t i, size_t j) const
 Returns the grid data at given data point. More...
 
double & operator() (size_t i, size_t j)
 Returns the grid data at given data point. More...
 
Vector2D gradientAtDataPoint (size_t i, size_t j) const
 Returns the gradient vector at given data point. More...
 
double laplacianAtDataPoint (size_t i, size_t j) const
 Returns the Laplacian at given data point. More...
 
ScalarDataAccessor dataAccessor ()
 Returns the read-write data array accessor. More...
 
ConstScalarDataAccessor 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 fill (double value, ExecutionPolicy policy=ExecutionPolicy::kParallel)
 Fills the grid with given value. More...
 
void fill (const std::function< double(const Vector2D &)> &func, ExecutionPolicy policy=ExecutionPolicy::kParallel)
 Fills the grid with given position-to-value mapping function. More...
 
void forEachDataPointIndex (const std::function< void(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)> &func) const
 Invokes the given function func for each data point parallelly. More...
 
double sample (const Vector2D &x) const override
 Returns the sampled value at given position x. More...
 
std::function< double(const Vector2D &)> sampler () const override
 Returns the sampler function. More...
 
Vector2D gradient (const Vector2D &x) const override
 Returns the gradient vector at given position x. More...
 
double laplacian (const Vector2D &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...
 
- Public Member Functions inherited from jet::ScalarField2
 ScalarField2 ()
 Default constructor. More...
 
virtual ~ScalarField2 ()
 Default destructor. More...
 
- Public Member Functions inherited from jet::Field2
 Field2 ()
 
virtual ~Field2 ()
 
- Public Member Functions inherited from jet::Grid2
 Grid2 ()
 Constructs an empty grid. More...
 
virtual ~Grid2 ()
 Default destructor. More...
 
virtual std::string typeName () const =0
 Returns the type name of derived grid. More...
 
const Size2resolution () const
 Returns the grid resolution. More...
 
const Vector2Dorigin () const
 Returns the grid origin. More...
 
const Vector2DgridSpacing () const
 Returns the grid spacing. More...
 
const BoundingBox2DboundingBox () 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)> &func) const
 Invokes the given function func for each grid cell. More...
 
void parallelForEachCellIndex (const std::function< void(size_t, size_t)> &func) const
 Invokes the given function func for each grid cell parallelly. More...
 
bool hasSameShape (const Grid2 &other) const
 Returns true if resolution, grid-spacing and origin are same. More...
 
- Public Member Functions inherited from jet::Serializable
 Serializable ()=default
 
virtual ~Serializable ()=default
 

Static Public Member Functions

static Builder builder ()
 Returns builder fox VertexCenteredScalarGrid2. More...
 

Additional Inherited Members

- Public Types inherited from jet::ScalarGrid2
typedef ArrayAccessor2< double > ScalarDataAccessor
 Read-write array accessor type. More...
 
typedef ConstArrayAccessor2< double > ConstScalarDataAccessor
 Read-only array accessor type. More...
 
- Public Types inherited from jet::Grid2
typedef std::function< Vector2D(size_t, size_t)> DataPositionFunc
 Function type for mapping data index to actual position. More...
 
- Protected Member Functions inherited from jet::ScalarGrid2
void swapScalarGrid (ScalarGrid2 *other)
 Swaps the data storage and predefined samplers with given grid. More...
 
void setScalarGrid (const ScalarGrid2 &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...
 
- Protected Member Functions inherited from jet::Grid2
void setSizeParameters (const Size2 &resolution, const Vector2D &gridSpacing, const Vector2D &origin)
 
void swapGrid (Grid2 *other)
 Swaps the size parameters with given grid other. More...
 
void setGrid (const Grid2 &other)
 Sets the size parameters with given grid other. More...
 

Detailed Description

2-D Vertex-centered scalar grid structure.

This class represents 2-D vertex-centered scalar grid which extends ScalarGrid3. As its name suggests, the class defines the data point at the grid vertices (corners). Thus, A x B grid resolution will have (A+1) x (B+1) data points.

Constructor & Destructor Documentation

◆ VertexCenteredScalarGrid2() [1/4]

jet::VertexCenteredScalarGrid2::VertexCenteredScalarGrid2 ( )

Constructs zero-sized grid.

◆ VertexCenteredScalarGrid2() [2/4]

jet::VertexCenteredScalarGrid2::VertexCenteredScalarGrid2 ( size_t  resolutionX,
size_t  resolutionY,
double  gridSpacingX = 1.0,
double  gridSpacingY = 1.0,
double  originX = 0.0,
double  originY = 0.0,
double  initialValue = 0.0 
)

Constructs a grid with given resolution, grid spacing, origin and initial value.

◆ VertexCenteredScalarGrid2() [3/4]

jet::VertexCenteredScalarGrid2::VertexCenteredScalarGrid2 ( const Size2 resolution,
const Vector2D gridSpacing = Vector2D(1.0, 1.0),
const Vector2D origin = Vector2D(),
double  initialValue = 0.0 
)

Constructs a grid with given resolution, grid spacing, origin and initial value.

◆ VertexCenteredScalarGrid2() [4/4]

jet::VertexCenteredScalarGrid2::VertexCenteredScalarGrid2 ( const VertexCenteredScalarGrid2 other)

Copy constructor.

Member Function Documentation

◆ builder()

static Builder jet::VertexCenteredScalarGrid2::builder ( )
static

Returns builder fox VertexCenteredScalarGrid2.

◆ clone()

std::shared_ptr<ScalarGrid2> jet::VertexCenteredScalarGrid2::clone ( ) const
overridevirtual

Returns the copy of the grid instance.

Implements jet::ScalarGrid2.

◆ dataOrigin()

Vector2D jet::VertexCenteredScalarGrid2::dataOrigin ( ) const
overridevirtual

Returns data position for the grid point at (0, 0). Note that this is different from origin() since origin() returns the lower corner point of the bounding box.

Implements jet::ScalarGrid2.

◆ dataSize()

Size2 jet::VertexCenteredScalarGrid2::dataSize ( ) const
overridevirtual

Returns the actual data point size.

Implements jet::ScalarGrid2.

◆ operator=()

VertexCenteredScalarGrid2& jet::VertexCenteredScalarGrid2::operator= ( const VertexCenteredScalarGrid2 other)

Sets the contents with the given other grid.

◆ set()

void jet::VertexCenteredScalarGrid2::set ( const VertexCenteredScalarGrid2 other)

Sets the contents with the given other grid.

◆ swap()

void jet::VertexCenteredScalarGrid2::swap ( Grid2 other)
overridevirtual

Swaps the contents with the given other grid.

This function swaps the contents of the grid instance with the given grid object other only if other has the same type with this grid.

Implements jet::Grid2.


The documentation for this class was generated from the following file: