FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Locator.hpp
1#if 0
2
3
5//
6// $Id: Locator.hpp,v 1.1 2008/01/14 19:20:43 werner Exp $
7//
9#ifndef __FIBEROP_LOCATOR_HPP
10#define __FIBEROP_LOCATOR_HPP
11
12#include "gridopDllApi.h"
13
14#include <field/MemArray.hpp>
15#include <field/DynamicSize.hpp>
16#include <field/DirectProductArray.hpp>
17
18namespace Fiber
19{
20
21class gridop_API Locator : MemCore::Interface<Locator>
22{
23public:
24 virtual ~Locator();
25};
26
27template <int N>
28class DimensionalLocator : Locator
29{
30public:
31 enum { Dims = N };
32
33 typedef MultiIndex<N> MIndex_t;
34
35 template <class Type>
36 class TypedLocator
37 {
38 public:
39
40 static bool get(const RefPtr<MemArrayBase<N> >&M, FixedArray<double,N>&coords)
41 {
42 if (RefPtr<DirectProductMemArray<FixedArray<Type, N> > > D = M)
43 {
44 return D->locate(coords);
45 }
46 return false;
47 }
48 };
49};
50
51} /* namespace Fiber */
52
53#endif /* __FIBEROP_LOCATOR_HPP */
54
55#endif
constexpr const _Tp && get(const pair< _Tp, _Up > &&__p) noexcept
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2