SpatialSearch.hpp
1 #pragma once
2 
3 #include <DM/IQueryDescriptor.hpp>
4 #include <opals/CustomOptionType.hpp>
5 #include <opals/String.hpp>
6 
7 namespace opals
8 {
9 
11  {
12  using DM::QueryDescriptorHandle::QueryDescriptorHandle;
13  };
14 
15  /**
16  \class SpatialSearch
17 
18  \tparam Vocabulary vocabulary
19 
20  \brief A typed version of DM::IQueryDescriptor. See \ref ref_neighborhood
21 
22  Derives from a handle for simplicity, but every object holds its own clone.
23 
24  See \ref ref_neighborhood
25 
26  \internal
27  Behaves like an object and not like a handle, because this should be usable as element type of containers (with independent elements).
28 
29  \author wk
30  \date 25.10.2024
31 
32  */
33  template<DM::IQueryDescriptor::Vocabulary vocabulary>
34  class OPALS_API SpatialSearch :
35  public SpatialSearchHandle,
36  public CustomOptionType<SpatialSearch<vocabulary>>
37  {
38  public:
39  /// \name construction
40  /// Constructs a new filter based on \p text.
41  /** If \p text is empty, results in an empty base handle.*/
42  ///@{
43  SpatialSearch(const String& text = String());
44  SpatialSearch(const char *text);
46  ///@}
47 
48  SpatialSearch& operator=(const SpatialSearch&);
49 
50  /// The full textual representation of this following from the text passed to the constructor, with defaults inserted.
51  String text() const;
52 
53  static const char* help(bool);
54  static const char* syntax();
55  static bool exportsPythonType();
56  };
57 
58 }
59 
Base class for all custom parameter types.
Definition: CustomOptionType.hpp:39
Definition: SpatialSearch.hpp:10
Contains the public interface of OPALS.
Definition: AbsValueOrQuantile.hpp:8
Smart pointer class using reference counting with support for DM objects (see ObjectBase)
Definition: Handle.hpp:75
A dynamic character string whose interface conforms to STL's std::string.
Definition: String.hpp:35
A typed version of DM::IQueryDescriptor. See Generic Spatial Neighborhood Definition.
Definition: SpatialSearch.hpp:34