FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
Edges.hpp
1#ifndef __FIBER_GRID_TYPES_EDGES_HPP
2#define __FIBER_GRID_TYPES_EDGES_HPP
3
4#include "gridtypesDllApi.h"
5
6#include <string>
7#include <vector>
8
9namespace Fiber
10{
11
12}
13
14#include <grid/Grid.hpp>
15#include <eagle/PhysicalSpace.hpp>
16#include <field/Cell.hpp>
17
18
19namespace Fiber
20{
21
35{
36public:
37 typedef EdgeCell32 EdgeCell_t;
39
41
44
48
50
55
57
58
67 {
68 return SkeletonID(1,1);
69 }
70
78static SkeletonID ID()
79 {
80 return EdgeSkeletonID();
81 }
82
87static RefPtr<Skeleton> getEdgeSkeleton(const RefPtr<Grid>&G, bool CreateIfNotFound);
88
97static RefPtr<Representation> getVerticesPerEdge(const RefPtr<Grid>&G, bool CreateIfNotFound);
98
102static RefPtr<Field> getVerticesPerEdgeField(const RefPtr<Grid>&G);
103
108static RefPtr<EdgesArray_t> getVerticesPerEdgeArray(const RefPtr<Grid>&G);
109
116static bool addVerticesPerEdgeField(const RefPtr<Grid>&G, const RefPtr<Field>&theField);
117
127static bool addVerticesPerEdgeArray(const RefPtr<Grid>&G, const RefPtr<EdgesArray_t>&Data);
128
129static bool addVerticesPerEdgeArray(const RefPtr<Grid>&G, const RefPtr<MemCore::TypedChunk<EdgeCell_t>>&EdgeData)
130 {
131 return addVerticesPerEdgeArray(G, makeMemArray1D(EdgeData) );
132 }
133
134
150static RefPtr<Representation> getEdgesPerVertex(const RefPtr<Grid>&G, bool CreateIfNotFound);
151
152static RefPtr<Field> getEdgesPerVertexField(const RefPtr<Grid>&G, bool CreateIfNotFound);
153static RefPtr<EdgesArray_t> getEdgesPerVertexArray(const RefPtr<Grid>&G);
154
155static bool addEdgesPerVertex(const RefPtr<Grid>&G, const RefPtr<Field>&theField);
156
157 RefPtr<Skeleton> EdgeSkeleton;
158 RefPtr<Representation> VerticesPerEdge;
159 RefPtr<Field> VerticesPerEdgeField;
160 RefPtr<EdgesArray_t> VerticesPerEdgeArray;
161
162
168static RefPtr<EdgesPerVertexMemArray_t >
169 createEdgesPerVertex(const RefPtr<Grid>&G, bool storeThem);
170
171
175 Edges(const RefPtr<Grid>&G);
176
178 ~Edges();
179};
180
181
182} // namespace Fiber
183
184
185#endif // __FIBER_GRID_TYPES_EDGES_HPP
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
Identify the edges on a skeleton within a Grid.
Definition Edges.hpp:35
static SkeletonID EdgeSkeletonID()
Return the skeleton ID that refers to the Edges property of a cw-complex.
Definition Edges.hpp:66
static SkeletonID ID()
Return a skeleton ID that is characteristic for Grid objects that carry Edge information.
Definition Edges.hpp:78
std::vector< index_t > EdgesPerVertex_t
Edges per vertex: variable length!
Definition Edges.hpp:54
Class for N-dimensional MultiArrays with MemCore memory management.
Definition MemArray.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
RefPtr< MemArray< 1, T > > makeMemArray1D(const RefPtr< MemCore::TypedChunk< T > > &DataChunk, const MemBase::Creator_t &C=MemCore::NullPtr())
Create one-dimensional MemArray from provided data chunk.
Definition MemArray.hpp:357
A type describing an n-dimensional simplex cell.
Definition Cell.hpp:70