FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
SkeletonOperator.hpp
1#ifndef __FISH_SPINE_SKELETONOPERATOR_HPP
2#define __FISH_SPINE_SKELETONOPERATOR_HPP
3
4#include "fishspineDllApi.h"
5
6
7#include <bone/FishSkeleton.hpp>
8#include <bone/FishSlice.hpp>
9#include <bone/FishGrid.hpp>
10
11#include <bone/GridActor.hpp>
12
13namespace Wizt
14{
15
26{
27public:
28
30
31 virtual RefPtr<Fiber::Skeleton> getSkeleton(const Fiber::Grid&) const = 0;
32 virtual RefPtr<Fiber::Skeleton> getRefinedSkeleton(const Fiber::Grid&G, int i) const = 0;
33
34};
35
42 , public virtual GetSkeletonOperator
43 , public virtual Fish<Fiber::Slice>
44 , public Fish<Fiber::Skeleton>
45 , public Fish<Fiber::Grid>
46{
47public:
48 using Fish<Fiber::Slice>::getTime;
49
50 SkeletonOperatorBase(const string&s = "grid", int el=0);
51
53
58 double getTime(const RefPtr<ValuePool>&R) const;
59};
60
61
71template <class SkeletonProperty>
73{
74public:
76 {
77 static Fiber::SkeletonExistence InspectionProperty()
78 {
79 return Fiber::SkeletonExistence( SkeletonProperty::ID() );
80 }
81 };
82
83 RefPtr<Fiber::Skeleton> getSkeleton(const Fiber::Grid&G) const override
84 {
85 return G( SkeletonProperty::ID() );
86 }
87
88 RefPtr<Fiber::Skeleton> getRefinedSkeleton(const Fiber::Grid&G, int i) const override
89 {
90 return G( Fiber::Skeleton::refinedSkeleton(SkeletonProperty::ID(), i) );
91 }
92};
93
94
95} // namespace
96
97
98#endif // __FISH_SPINE_SKELETONOPERATOR_HPP
99
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
A Grid is a set of Skeleton objects, each of them accessed via some unique SkeletonID object.
Definition Grid.hpp:60
A concrete Grid Property which looks for the existence of a Skeleton of the specified dimension and i...
Definition BundleProperty.hpp:76
static SkeletonID refinedSkeleton(const SkeletonID &Sid, int refinement_value)
Create a SkeletonID that is refined by a certain value.
Definition SkeletonID.hpp:79
Information per time slice, mainly a set of Grid objects that are accessed via GridID objects.
Definition Slice.hpp:36
Virtual base class of skeleton operators.
Definition SkeletonOperator.hpp:26
Base class for Fish modules operating on Grid objects concentrating on a specific Skeleton.
Definition SkeletonOperator.hpp:46
Template base class for Fish modules operating on Grid objects that provide a specific skeleton,...
Definition SkeletonOperator.hpp:73
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...
Definition SkeletonOperator.hpp:76