FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
pond/bone/FragmentSelector.hpp
1#ifndef __FISH_BONE_FRAGMENT_HPP
2#define __FISH_BONE_FRAGMENT_HPP
3
4#include <ocean/plankton/VValue.hpp>
5#include <ocean/plankton/VObject.hpp>
6#include <field/FragmentSelector.hpp>
7
8#include "fishboneDllApi.h"
9
10namespace Wizt
11{
12
13typedef RefPtr<Fiber::FragmentSelector> VFragmentSelector;
14
15/* depricated
16inline string getExpression(const VFragmentSelector&FS, const string&fname)
17{
18 if (!FS)
19 return "bool "+fname+"(vec4 p){return true;}";
20
21 return FS->getExpression(fname);
22}
23*/
24
25template <>
26class fishbone_API VOutput<Fiber::FragmentSelector> : public VOutput<VFragmentSelector>
27{
28public:
29 VOutput(const WeakPtr<VObject>&Source,
30 const string&initial_name,
34 {}
35};
36
42template <>
43struct VValueCopyTrait<MemCore::RefPtr<Fiber::FragmentSelector> >
44{
46 {
47// if (!Source)
48 return MemCore::NullPtr();
49
50// return RefPtr<Type>(new Type(*Source) );
51 }
52};
53
55template <>
57{
58public:
59
60static bool setValueFromText(VFragmentSelector&i, const string&s)
61 {
62 // NOT IMPLEMENTED
63 return false;
64 }
65
66static string Text(const VFragmentSelector&VF)
67 {
68 return "<empty>";
69 }
70};
71
72template <>
74{
75 TypedSlot(VObject*that, const string&s, int prior=0);
76 ~TypedSlot();
77};
78
79} // namespace Wizt
80
81#endif /* __FISH_BONE_FIELD_HPP */
constexpr _OI copy(_II __first, _II __last, _OI __result)
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
Abstract base class to select a certain subset from a Field's collection of fragments.
Definition fiber/field/FragmentSelector.hpp:19
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
std::nullptr_t NullPtr
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...
Definition fs/init.hpp:20