Jet  v1.3.3
point_simple_list_searcher3.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_SIMPLE_LIST_SEARCHER3_H_
8 #define INCLUDE_JET_POINT_SIMPLE_LIST_SEARCHER3_H_
9 
11 #include <vector>
12 
13 namespace jet {
14 
23  public:
25 
26  class Builder;
27 
30 
33 
42  void build(const ConstArrayAccessor1<Vector3D>& points) override;
43 
53  const Vector3D& origin,
54  double radius,
55  const ForEachNearbyPointFunc& callback) const override;
56 
67  const Vector3D& origin, double radius) const override;
68 
75  PointNeighborSearcher3Ptr clone() const override;
76 
79 
81  void set(const PointSimpleListSearcher3& other);
82 
84  void serialize(std::vector<uint8_t>* buffer) const override;
85 
87  void deserialize(const std::vector<uint8_t>& buffer) override;
88 
90  static Builder builder();
91 
92  private:
93  std::vector<Vector3D> _points;
94 };
95 
97 typedef std::shared_ptr<PointSimpleListSearcher3> PointSimpleListSearcher3Ptr;
98 
104  public:
107 
110 
113 };
114 
115 } // namespace jet
116 
117 #endif // INCLUDE_JET_POINT_SIMPLE_LIST_SEARCHER3_H_
jet::PointSimpleListSearcher3::Builder::makeShared
PointSimpleListSearcher3Ptr makeShared() const
Builds shared pointer of PointSimpleListSearcher3 instance.
jet::PointSimpleListSearcher3::operator=
PointSimpleListSearcher3 & operator=(const PointSimpleListSearcher3 &other)
Assignment operator.
jet::ConstArrayAccessor< T, 1 >
1-D read-only array accessor class.
Definition: array_accessor1.h:184
jet::PointSimpleListSearcher3::build
void build(const ConstArrayAccessor1< Vector3D > &points) override
Builds internal structure for given points list.
jet::PointSimpleListSearcher3::set
void set(const PointSimpleListSearcher3 &other)
Copy from the other instance.
jet::PointSimpleListSearcher3::Builder
Front-end to create PointSimpleListSearcher3 objects step by step.
Definition: point_simple_list_searcher3.h:103
jet::PointSimpleListSearcher3::hasNearbyPoint
bool hasNearbyPoint(const Vector3D &origin, double radius) const override
jet::PointSimpleListSearcher3::PointSimpleListSearcher3
PointSimpleListSearcher3(const PointSimpleListSearcher3 &other)
Copy constructor.
point_neighbor_searcher3.h
jet::PointSimpleListSearcher3::builder
static Builder builder()
Returns builder fox PointSimpleListSearcher3.
jet
Definition: advection_solver2.h:18
jet::PointSimpleListSearcher3::clone
PointNeighborSearcher3Ptr clone() const override
Creates a new instance of the object with same properties than original.
jet::PointSimpleListSearcher3::PointSimpleListSearcher3
PointSimpleListSearcher3()
Default constructor.
jet::PointNeighborSearcher3
Abstract base class for 3-D neighbor point searcher.
Definition: point_neighbor_searcher3.h:28
jet::PointNeighborSearcher3::ForEachNearbyPointFunc
std::function< void(size_t, const Vector3D &)> ForEachNearbyPointFunc
Definition: point_neighbor_searcher3.h:33
JET_NEIGHBOR_SEARCHER3_TYPE_NAME
#define JET_NEIGHBOR_SEARCHER3_TYPE_NAME(DerivedClassName)
Definition: point_neighbor_searcher3.h:95
jet::PointSimpleListSearcher3::deserialize
void deserialize(const std::vector< uint8_t > &buffer) override
Deserializes the neighbor searcher from the buffer.
jet::PointNeighborSearcher3Ptr
std::shared_ptr< PointNeighborSearcher3 > PointNeighborSearcher3Ptr
Shared pointer for the PointNeighborSearcher3 type.
Definition: point_neighbor_searcher3.h:82
jet::PointSimpleListSearcher3::serialize
void serialize(std::vector< uint8_t > *buffer) const override
Serializes the neighbor searcher into the buffer.
jet::PointSimpleListSearcher3::Builder::build
PointSimpleListSearcher3 build() const
Builds PointSimpleListSearcher3 instance.
jet::Vector< T, 3 >
3-D vector class.
Definition: vector3.h:25
jet::PointSimpleListSearcher3::forEachNearbyPoint
void forEachNearbyPoint(const Vector3D &origin, double radius, const ForEachNearbyPointFunc &callback) const override
jet::PointNeighborSearcherBuilder3
Abstract base class for 3-D point neighbor searcher builders.
Definition: point_neighbor_searcher3.h:85
jet::PointSimpleListSearcher3
Simple ad-hoc 3-D point searcher.
Definition: point_simple_list_searcher3.h:22
jet::PointSimpleListSearcher3::Builder::buildPointNeighborSearcher
PointNeighborSearcher3Ptr buildPointNeighborSearcher() const override
Returns shared pointer of PointNeighborSearcher3 type.
jet::PointSimpleListSearcher3Ptr
std::shared_ptr< PointSimpleListSearcher3 > PointSimpleListSearcher3Ptr
Shared pointer for the PointSimpleListSearcher3 type.
Definition: point_simple_list_searcher3.h:97