Jet  v1.3.3
vector_field2.h
Go to the documentation of this file.
1 // Copyright (c) 2018 Doyub Kim
2 //
3 // I am making my contributions/submissions to this project solely in my
4 // personal capacity and am not conveying any rights to any intellectual
5 // property of any third parties.
6 
7 #ifndef INCLUDE_JET_VECTOR_FIELD2_H_
8 #define INCLUDE_JET_VECTOR_FIELD2_H_
9 
10 #include <jet/field2.h>
11 #include <jet/vector2.h>
12 #include <functional>
13 #include <memory>
14 
15 namespace jet {
16 
18 class VectorField2 : public Field2 {
19  public:
22 
24  virtual ~VectorField2();
25 
27  virtual Vector2D sample(const Vector2D& x) const = 0;
28 
30  virtual double divergence(const Vector2D& x) const;
31 
33  virtual double curl(const Vector2D& x) const;
34 
36  virtual std::function<Vector2D(const Vector2D&)> sampler() const;
37 };
38 
40 typedef std::shared_ptr<VectorField2> VectorField2Ptr;
41 
42 } // namespace jet
43 
44 #endif // INCLUDE_JET_VECTOR_FIELD2_H_
field2.h
jet::VectorField2::~VectorField2
virtual ~VectorField2()
Default destructor.
jet::VectorField2::VectorField2
VectorField2()
Default constructor.
jet::VectorField2::sampler
virtual std::function< Vector2D(const Vector2D &)> sampler() const
Returns sampler function object.
jet::Vector2D
Vector2< double > Vector2D
Double-type 2D vector.
Definition: vector2.h:340
jet::VectorField2::curl
virtual double curl(const Vector2D &x) const
Returns curl at given position x.
jet::VectorField2::sample
virtual Vector2D sample(const Vector2D &x) const =0
Returns sampled value at given position x.
jet
Definition: advection_solver2.h:18
vector2.h
jet::Vector< T, 2 >
2-D vector class.
Definition: vector2.h:24
jet::VectorField2::divergence
virtual double divergence(const Vector2D &x) const
Returns divergence at given position x.
jet::VectorField2Ptr
std::shared_ptr< VectorField2 > VectorField2Ptr
Shared pointer for the VectorField2 type.
Definition: vector_field2.h:40
jet::Field2
Abstract base class for 2-D fields.
Definition: field2.h:15
jet::VectorField2
Abstract base class for 2-D vector field.
Definition: vector_field2.h:18