FAST  3.2.0
Framework for Heterogeneous Medical Image Computing and Visualization
TriangleRenderer.hpp
Go to the documentation of this file.
1 #ifndef FAST_TRIANGLE_RENDERER_HPP_
2 #define FAST_TRIANGLE_RENDERER_HPP_
3 
4 #include "FAST/Data/Mesh.hpp"
5 #include "FAST/Data/Color.hpp"
7 
8 namespace fast {
9 
10 class FAST_EXPORT TriangleRenderer : public Renderer {
12  public:
13  uint addInputConnection(DataChannel::pointer port) override;
14  uint addInputConnection(DataChannel::pointer port, Color color, float opacity);
15  void setDefaultOpacity(float opacity);
20  void setWireframe(bool wireframe);
21  void setDefaultColor(Color color);
22  void setDefaultSpecularReflection(float specularReflection);
23  void setColor(uint inputNr, Color color);
24  void setLabelColor(int label, Color color);
25  void setOpacity(uint inputNr, float opacity);
26  void setLineSize(int size);
34  void setIgnoreInvertedNormals(bool ignore);
35  private:
36  void draw(Matrix4f perspectiveMatrix, Matrix4f viewingMatrix, float zNear, float zFar, bool mode2D) override;
38 
39  std::unordered_map<uint, Color> mInputColors;
40  std::unordered_map<int, Color> mLabelColors;
41  std::unordered_map<uint, float> mInputOpacities;
42  std::unordered_map<uint, uint> mVAO;
43  Color mDefaultColor;
44  float mDefaultSpecularReflection;
45  float mDefaultOpacity;
46  int mLineSize;
47  bool mWireframe;
48  bool mDefaultColorSet;
49  bool mIgnoreInvertedNormals = true;
50 };
51 
52 } // namespace fast
53 
54 #endif
fast::Renderer
Definition: Renderer.hpp:14
fast::TriangleRenderer
Definition: TriangleRenderer.hpp:10
fast
Definition: AffineTransformation.hpp:7
FAST_OBJECT
#define FAST_OBJECT(className)
Definition: Object.hpp:9
Renderer.hpp
fast::DataChannel::pointer
std::shared_ptr< DataChannel > pointer
Definition: DataChannel.hpp:12
Color.hpp
uint
unsigned int uint
Definition: DataTypes.hpp:16
fast::Color
Definition: Color.hpp:8
Mesh.hpp