1#ifndef __LOCALFROMWORLDPOINT_HPP
2#define __LOCALFROMWORLDPOINT_HPP
4#include <fish/fiber/field/DirectProductArray.hpp>
5#include <fish/fiber/vector/Interpolate.hpp>
6#include <fish/fiber/vector/LinearIpol.hpp>
7#include <fish/fiber/baseop/UniGridMapper.hpp>
8#include <fish/fiber/baseop/TreeCellMapper.hpp>
9#include <fish/fiber/baseop/ExpandBBox.hpp>
11#include <fish/fiber/field/Fragment.hpp>
12#include <fish/fiber/grid/Chart.hpp>
14#include <fish/fiber/baseop/BundleBaseSpaceFunctions.hpp>
16#include <eagle/PhysicalSpace.hpp>
17#include <aerie/KDTree.hpp>
18#include <eagle/FixedArray.hpp>
20#include <memcore/RefPtr.hpp>
21#include "FragmentSkeleton.hpp"
22#include "PointSearch.hpp"
23#include <fish/fiber/field/DirectProductArrayTypes.hpp>
25#include "gridopDllApi.h"
47 : local_point(0, 0, 0)
48 , world_point(0, 0, 0)
55 : local_point(0, 0, 0)
85 RefPtr<Grid>&grid() {
return FragmentProperties.TheGrid; }
136 return UniformPointSearch.UniMapperField;
189 virtual ~BBSelectorBase(){}
191 virtual unsigned int getNext() = 0;
192 virtual bool hasNext() = 0;
193 virtual void reset(
const int _last,
const point& pos) = 0;
203 int last, current,
size;
211 : reset_pos(
point(0,0,0))
221 unsigned int getNext();
223 void reset(
const int _last,
const point& pos );
260 virtual int pointInCell(
const point&
P ) = 0;
261 virtual point localUVW () = 0;
274 double block_epsilon;
283 int pointInCell(
const point&
P );
286 void setEpsilon(
const double e) { block_epsilon = e; }
305 inline point localUVW() {
return uvw; }
306 inline tvector cellSize() {
return cell_size; }
308 inline int pointInCell(
const point&
P )
310 point_type = m_tree_map->localCoordinates( uvw, cell_size,
P );
318 double block_epsilon;
321 double res_scale, prec_scale;
328 tvector m_tree_query_scale;
339 const string&Gridname,
340 double res_scale = 1.0,
double prec_scale = 0.1,
377 const tvector direction,
constexpr const __tuple_element_t< __i, tuple< _Elements... > > && get(const tuple< _Elements... > &&__t) noexcept
valarray< size_t > size() const
_Expr< _ValFunClos< _ValArray, _Tp >, _Tp > apply(_Tp __func(_Tp)) const
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
Definition DirectProductArray.hpp:367
Base class for iterators over the fragments of a field.
Definition FragmentID.hpp:249
Select fragment candidates out of all the candidates by doing a query into the KDTree and provide a m...
Definition LocalFromWorldPoint.hpp:202
Base class for finding the cell containing the point in a fragment.
Definition LocalFromWorldPoint.hpp:232
Finds a cell containing a world point by using the UniGridMapper.
Definition LocalFromWorldPoint.hpp:269
Definition LocalFromWorldPoint.hpp:290
Use this class to compute a local cell index and fragment ID (if neccessary) of any coordinate field ...
Definition LocalFromWorldPoint.hpp:71
Information per time slice, mainly a set of Grid objects that are accessed via GridID objects.
Definition Slice.hpp:36
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
Definition FragmentSkeleton.hpp:169
Definition LocalFromWorldPoint.hpp:39
Point Search Utility functions for finding points in a grid based on provided coordinate information.
Definition PointSearch.hpp:24