FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
BundleBaseSpaceFunctions.hpp
1#ifndef __FIBER_BASEOP_BUNDLEFUNCTIONS_HPP
2#define __FIBER_BASEOP_BUNDLEFUNCTIONS_HPP
3
4#include "gridopDllApi.h"
5
6#include <grid/Grid.hpp>
7
8#include <grid/CartesianChart.hpp>
9#include <bundle/Slice.hpp>
10
11namespace Fiber
12{
13
19{
20 if (!grid)
21 return NullPtr();
22
23 return grid->CartesianPositions();
24/*
25 MemCore::RefPtr<Skeleton> skel = grid->findVertices();
26 if(!skel){ puts("GetCartesianPositions() no skeleton found"); return NullPtr();}
27
28 MemCore::RefPtr< Chart > chart = grid->makeChart( typeid(Fiber::CartesianChart3D) );
29 MemCore::RefPtr<Representation> rep = (*skel)( chart );
30 if(!rep){ puts("GetCartesianPositions() no representation found"); return NullPtr();}
31
32 return (*rep)("Positions");
33*/
34}
35
36
41{
42 if (!grid)
43 return NullPtr();
44
45MemCore::RefPtr<Skeleton> source_skel = grid->findVertices();
46 if(!source_skel){ puts("GetFragments() no skeleton found"); return NullPtr();}
47
48MemCore::RefPtr<Skeleton> skel = (*grid)( SkeletonID(3, 2) );
49 if(!skel){ puts("GetFragments() no skeleton found"); return NullPtr();}
50
52 if(!rep){ puts("GetFragments() no representation found"); return NullPtr();}
53
54 assert(rep);
55 return (*rep)("Positions");
56}
57
62{
63 if (!grid)
64 return NullPtr();
65
66 MemCore::RefPtr<Skeleton> skel = (*grid)( SkeletonID(3, 2) );
67 if(!skel){ puts("GetFragmentsBBs() no skeleton found"); return NullPtr();}
68
69 MemCore::RefPtr< Chart > chart = grid->makeChart( typeid(CartesianChart3D) );
71 if(!rep){ puts("GetFragmentsBBs() no representation found"); return NullPtr();}
72
73 assert(rep);
74 return (*rep)("Positions");
75}
76
77
83{
84 if (!slice)
85 return NullPtr();
86
87 MemCore::RefPtr< Grid > unigrid = (*slice)( "UniMappers" );
88 if(!unigrid){ puts("GetUniGridMappers() no grid named 'UniMappers' found!"); return NullPtr(); }
89 MemCore::RefPtr<Skeleton> uniskel = (*unigrid)( SkeletonID(3, 1) );
90 if(!uniskel){ puts("GetUniGridMappers() no skel(dim 3,index depth 1) in unigrid found!"); return NullPtr(); }
91 MemCore::RefPtr<Skeleton> fragskel = (*source_grid)( SkeletonID(3, 2) );
92 if(!fragskel){ puts("GetUniGridMappers() no skel(dim 3,index depth 2) in source_grid found!"); return NullPtr(); }
94 if(!rep){ puts("GetUniGridMappers() no representation for unimappers found!"); return NullPtr(); }
95
96 return (*rep)("Positions");
97}
98
99} // namespace Fiber
100
101
102#endif // __BUNDLEFUNCTIONS_HPP
Chart object for cartesian coordinates.
Definition CartesianChart.hpp:15
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
Identifier for Skeletons within a Grid.
Definition SkeletonID.hpp:24
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
MemCore::RefPtr< Field > GetUniGridMappers(MemCore::RefPtr< Slice > slice, MemCore::RefPtr< Grid > source_grid)
Extract the fragmented field storing the UniGridMappers.
Definition BundleBaseSpaceFunctions.hpp:82
MemCore::RefPtr< Field > GetFragmentsBBs(MemCore::RefPtr< Grid > grid)
Extract the field containing the Bounding Boxes of the fragments of a given grid.
Definition BundleBaseSpaceFunctions.hpp:61
MemCore::RefPtr< Field > GetFragments(MemCore::RefPtr< Grid > grid)
Extract the field containing the names of all fields from given grid.
Definition BundleBaseSpaceFunctions.hpp:40
MemCore::RefPtr< Field > GetCartesianPositions(MemCore::RefPtr< Grid > grid)
Extract a Field with skeleton(0,0) and Cartesian3D coordinates named "Position" from the base space f...
Definition BundleBaseSpaceFunctions.hpp:18
std::nullptr_t NullPtr