FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
SearchFragmentVertex.hpp
1#ifndef __FIBER_BASEOP_SEARCHFRAGMENTVERTEX_HPP
2#define __FIBER_BASEOP_SEARCHFRAGMENTVERTEX_HPP
3
4#include <field/TypedArray.hpp>
5#include <grid/Representation.hpp>
6#include <aerie/BoundingBox.hpp>
7
8#include "gridopDllApi.h"
9
10namespace Fiber
11{
12
13
14struct gridop_API SearchFragmentVertex : public Interface<SearchFragmentVertex>
15{
17
18static constexpr const index_t Invalid = -1;
19
21
22 using FragmentCheck_f = std::function<bool(const Eagle::BoundingBox&FragmentBBox, const point&P)>;
23
26
28
30
34static SearchResult_t search(const Representation&R, const point&P, bool AllowOverlappingFragments, FragmentCheck_f = nullptr);
35
36virtual PerFragmentSearchResult_t searchIndex(CreativeArrayBase&CAB, const point&P) const;
37
38protected:
40};
41
42
43
45{
46static PerFragmentSearchResult_t hilbert_search(CreativeArrayBase&CAB, const point&P);
47
48 PerFragmentSearchResult_t searchIndex(CreativeArrayBase&CAB, const point&P) const override;
49
50protected:
52};
53
54
56{
57static PerFragmentSearchResult_t uniform_search(CreativeArrayBase&CAB, const point&P);
58
59 PerFragmentSearchResult_t searchIndex(CreativeArrayBase&CAB, const point&P) const override;
60
61protected:
63};
64
65
66} // namespace Fiber
67
68#endif // __FIBER_BASEOP_SEARCHFRAGMENTVERTEX_HPP
constexpr _ForwardIterator search(_ForwardIterator __first, _ForwardIterator __last, const _Searcher &__searcher)
Base class for multidimensional arrays that employ deferred storage, i.e.
Definition CreativeArrayBase.hpp:75
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
A Representation is a set of Field objects, each of them accessed via some FieldID identifier.
Definition Representation.hpp:101
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
IndexTypeConfig< sizeof(void *)>::index_t index_t
Define the index type as according to the size of a pointer, i.e.
Definition Index.hpp:22
Definition SearchFragmentVertex.hpp:45
Definition SearchFragmentVertex.hpp:15
Definition SearchFragmentVertex.hpp:56