FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
RepresentationReference.hpp
1#ifndef __FIBER_GRID_REPRESENTATIONREFERENCE_HPP
2#define __FIBER_GRID_REPRESENTATIONREFERENCE_HPP "Created 22.08.2019 14:16:27 by werner"
3
4#include "Skeleton.hpp"
5
6namespace Fiber
7{
8
10using RepresentationReference = std::tuple<RefPtr<Skeleton>,Representer>;
11
13using CoordinateRepresentationReference = std::tuple<RefPtr<Fiber::Skeleton>,RefPtr<Fiber::Chart>>;
14
16using RelativeRepresentationReference = std::tuple<RefPtr<Fiber::Skeleton>,RefPtr<Fiber::Skeleton>>;
17
18
19inline RefPtr<Representation> get(const RepresentationReference&R)
20{
21 if (std::get<0>(R))
22 return (*std::get<0>(R))(std::get<1>(R));
23
24 return nullptr;
25}
26
27inline RefPtr<Representation> get(const CoordinateRepresentationReference&R)
28{
29 if (std::get<0>(R))
30 return (*std::get<0>(R))(std::get<1>(R));
31
32 return nullptr;
33}
34
35inline RefPtr<Representation> operator*(const RepresentationReference&R)
36{
37 return get(R);
38}
39
40inline RefPtr<Representation> operator*(const CoordinateRepresentationReference&R)
41{
42 return get(R);
43}
44
45
46} // namespace Fiber
47
48
49
50#endif // __FIBER_GRID_REPRESENTATIONREFERENCE_HPP
constexpr const __tuple_element_t< __i, tuple< _Elements... > > && get(const tuple< _Elements... > &&__t) noexcept
Column< C, Value > operator*(const Column< C, Value > &A, double V)
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
WeakPtr< BaseSpace > Representer
The type used to reference other objects, which is the anchor of representations of a Skeleton.
Definition RepresentationMap.hpp:28