Jet  v1.3.3
point_generator3.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_POINT_GENERATOR3_H_
8 #define INCLUDE_JET_POINT_GENERATOR3_H_
9 
10 #include <jet/array1.h>
11 #include <jet/bounding_box3.h>
12 
13 #include <functional>
14 #include <memory>
15 
16 namespace jet {
17 
26  public:
28 
29  virtual ~PointGenerator3();
30 
33  void generate(
34  const BoundingBox3D& boundingBox,
35  double spacing,
36  Array1<Vector3D>* points) const;
37 
49  virtual void forEachPoint(
50  const BoundingBox3D& boundingBox,
51  double spacing,
52  const std::function<bool(const Vector3D&)>& callback) const = 0;
53 };
54 
56 typedef std::shared_ptr<PointGenerator3> PointGenerator3Ptr;
57 
58 } // namespace jet
59 
60 #endif // INCLUDE_JET_POINT_GENERATOR3_H_
jet::Array< T, 1 >
1-D array class.
Definition: array1.h:31
jet::PointGenerator3::~PointGenerator3
virtual ~PointGenerator3()
jet::BoundingBox< T, 3 >
3-D axis-aligned bounding box class.
Definition: bounding_box3.h:41
jet::PointGenerator3
Abstract base class for 3-D point generator.
Definition: point_generator3.h:25
jet
Definition: advection_solver2.h:18
jet::PointGenerator3::generate
void generate(const BoundingBox3D &boundingBox, double spacing, Array1< Vector3D > *points) const
jet::PointGenerator3::PointGenerator3
PointGenerator3()
jet::PointGenerator3Ptr
std::shared_ptr< PointGenerator3 > PointGenerator3Ptr
Shared pointer for the PointGenerator3 type.
Definition: point_generator3.h:56
jet::PointGenerator3::forEachPoint
virtual void forEachPoint(const BoundingBox3D &boundingBox, double spacing, const std::function< bool(const Vector3D &)> &callback) const =0
Iterates every point within the bounding box with specified point pattern and invokes the callback fu...
jet::Vector< T, 3 >
3-D vector class.
Definition: vector3.h:25
bounding_box3.h
array1.h