FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
VolumeRender.hpp
1#ifndef __FISH_EYE_VOLUMERENDER_HPP
2#define __FISH_EYE_VOLUMERENDER_HPP
3
4#include "fish/fiber/bundle/BundleProperty.hpp"
5
6#include <ocean/GLvish/VGLColormap.hpp>
7#include <ocean/shrimp/Options.hpp>
8
9#include <eye/retina/Vitreous.hpp>
10#include <eye/shaders/Illuminatable.hpp>
11
12#include <ocean/Anemonia/Colorizer.hpp>
13
14namespace Wizt
15{
16
17 using META::LIST;
18
25class VolumeRender : public Vitreous, public Illuminatable
26 , public Colorizer
27{
28public:
29 enum { NumberOfInputFields = 1 };
30// typedef META::LIST<double, META::LIST<float> > InputTypes;
32
33
34// TypedSlot<VColormap> myColormap;
35 TypedSlot<double> Sharpness, GradientSpecularity;
36 TypedSlot<int> NumberOfPeaks;
37
38 TypedSlot<string> DataMappingFunction,
39 AftermathFunction;
40
41 // BorderLeft,
42 // BorderRight;
43
44 TypedSlot<VBoundingBox> tsCutVolume;
45 TypedSlot<Options> tsRenderOptions;
46
47 VolumeRender(const string&name, int, const RefPtr<VCreationPreferences>&VP);
48
50
51 string statusInfo(VRequest&Context) const override;
52 bool update(VRequest&Context, double precision) override;
53 bool renderGL(VGLRenderContext&VR) const override;
54
55 bool renderVolume(VGLRenderContext&VR) const;
56
57 void renderLevel(VGLRenderContext&Context,
58 const string&GeometryCutCode,
59 const string&fragment_shader,
61 const string&Fieldname,
62 VolumeState::RepresentationLevels_t::const_iterator it,
63 VolumeState::RepresentationLevels_t::const_iterator LastLevel) const;
64
65#ifndef ANEMONIA_VRENDERABLE_HPP
66 bool unsynchronized_render(VRenderContext&Context, double Z, double dZ) const override;
67#endif
68};
69
70
71} //namespace Wizt
72
73#endif //__FISH_EYE_VOLUMERENDER_HPP
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
Base class for objects rendering fields on a fiber bundle via the technique of texture-based volume r...
Definition Vitreous.hpp:70
Volume renderer for scalar fields on uniform grids.
Definition VolumeRender.hpp:27
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...
string Fieldname(const RefPtr< ValuePool > &VP) const
Get the name of the selected field.
Definition FishField.cpp:250
Definition Illuminatable.hpp:16
Definition Vitreous.hpp:150