FiberVISH 0.2
Fish - The Fiber Bundle API for the Vish Visualization Shell
BiVectorAsSpiral.hpp
1#ifndef __BIVECTORS_AS_SPIRAL_HPP
2#define __BIVECTORS_AS_SPIRAL_HPP
3
4#include <ocean/Anemonia/Programmable.hpp>
5#include <ocean/Anemonia/Seagrass.hpp>
6
7#include "shadersDllApi.h"
8#include "Phong.hpp"
9
10#include <elementary/meta/LIST.hpp>
11
12#include <fish/pond/anemonefish/GridAnemone.hpp>
13
14namespace Wizt
15{
16
22{
24
25 const string VectorFieldAttributeName;
26
27 VObject::in<double>
28 LengthScale,
29 inSpiralization,
30 inLineWidth;
31
32 VObject::in<Color> inColor;
33
35
37
38
39 double AdjustLineWidth(const double&DefaultValue, VRenderContext&V) const;
40
41static constexpr bool hasShaderConditionals = false;
42
44 bool initializeAnemone(Anemone&RenderAnemone,
46 AnemoneCreator<>&AC) const;
47
49 Anemone&RenderAnemone,
52
53 bool isValidAnemone(const Anemone&RenderAnemone,
55 AnemoneCreator<>&AC) const
56 {
57 return Phong::isValidAnemone(Context, AC);
58 }
59
61 std::string vertex_shader(VRenderContext&Context) const override;
62
63 std::string geometry_shader(VRenderContext&Context) const override;
64
65 std::string FragmentShaderPrefix(VRenderContext&Context) const override;
66
68 std::string fragment_shader(VRenderContext&Context) const override;
69
70 string getShaderAttributeName() const
71 {
72 return VectorFieldAttributeName;
73 }
74};
75
76
77} // namespace Wizt
78
79#endif // __BIVECTORS_AS_SPIRAL_HPP
basic_string< char > string
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...
A shader for bivectors.
Definition BiVectorAsSpiral.hpp:22
The context of creating a RenderAnemone.
Definition AnemoneCreationContext.hpp:58
Definition Phong.hpp:16