BALL  1.5.0
VRMLRenderer.h
Go to the documentation of this file.
1 // -*- Mode: C++; tab-width: 2; -*-
2 // vi: set ts=2:
3 //
4 
5 #ifndef BALL_VIEW_RENDERING_RENDERERS_VRMLRENDERER_H
6 #define BALL_VIEW_RENDERING_RENDERERS_VRMLRENDERER_H
7 
8 #ifndef BALL_VIEW_RENDERING_RENDERERS_RENDERER_H
10 #endif
11 
12 #ifndef BALL_SYSTEM_FILE_H
13 # include <BALL/SYSTEM/file.h>
14 #endif
15 
16 #ifndef BALL_MATHS_VECTOR3_H
17 # include <BALL/MATHS/vector3.h>
18 #endif
19 
20 #ifndef BALL_MATHS_MATRIX44_H
21 # include <BALL/MATHS/matrix44.h>
22 #endif
23 
24 namespace BALL
25 {
26  namespace VIEW
27  {
28  class ColorRGBA;
29 
41 {
42  public:
43 
47 
49  VRMLRenderer();
50 
55  VRMLRenderer(const String& name);
56 
58  virtual ~VRMLRenderer();
59 
61  virtual void clear();
62 
64 
67 
72  void setFileName(const String& name);
73 
76  String VRMLColorRGBA(const ColorRGBA& input);
77 
80  String VRMLVector3(Vector3 input);
81 
83  void VRMLColor(const ColorRGBA& color);
84 
86 
89 
93  virtual bool init(const Stage& stage);
94 
98  virtual bool finish();
99 
101 
102  void renderSphere_(const Sphere& sphere);
103 
104  void renderMesh_(const Mesh& mesh);
105 
106  void renderLine_(const Line& miniTube);
107 
108  void renderTwoColoredLine_(const TwoColoredLine& miniTube);
109 
110  void renderTube_(const Tube& tube);
111 
112  void renderTwoColoredTube_(const TwoColoredTube& tube);
113 
114  void out_(const String& data);
115 
116  void outheader_(const String& data)
117  {out_(data); current_indent_ += 1;}
118 
119  void outfinish_(const String& data)
120  {out_(data); current_indent_ -= 1;}
121 
122  Size width, height;
123 
124  protected:
125 
126  void header_(const Vector3& translation, const ColorRGBA& color,
127  const String& rotation = "");
128 
129  void footer_();
130 
132 
136 
137  //size estimate for afterwards scaling for printing
138  float smallX, smallY, smallZ, bigX, bigY, bigZ;
139 
140  //boolean showing if scaling is relevant afterall
142 };
143 
144 } } // namespaces
145 
146 #endif // BALL_VIEW_RENDERING_VRMLRENDERER_H
BALL::VIEW::Sphere
Definition: sphere.h:30
BALL::VIEW::VRMLRenderer::outfile_
File outfile_
Definition: VRMLRenderer.h:131
BALL::VIEW::VRMLRenderer::current_indent_
Index current_indent_
Definition: VRMLRenderer.h:135
BALL::VIEW::VRMLRenderer::origin_
Vector3 origin_
Definition: VRMLRenderer.h:133
vector3.h
BALL::VIEW::VRMLRenderer
Definition: VRMLRenderer.h:40
BALL::TMatrix4x4< float >
BALL::VIEW::VRMLRenderer::outheader_
void outheader_(const String &data)
Definition: VRMLRenderer.h:116
BALL_DEPRECATED
#define BALL_DEPRECATED
Definition: COMMON/global.h:64
BALL::String
Definition: string.h:56
file.h
BALL::VIEW::TwoColoredTube
Definition: twoColoredTube.h:45
BALL
Definition: constants.h:12
BALL::VIEW::Renderer
Definition: renderer.h:54
BALL::VIEW::Tube
Definition: tube.h:37
BALL::VIEW::VRMLRenderer::outfinish_
void outfinish_(const String &data)
Definition: VRMLRenderer.h:119
BALL::VIEW::ColorRGBA
Definition: colorRGBA.h:31
BALL::File
Definition: file.h:134
BALL_INDEX_TYPE
BALL_SIZE_TYPE
BALL::TVector3< float >
renderer.h
BALL::VIEW::Mesh
Definition: mesh.h:38
BALL::VIEW::VRMLRenderer::smallZ
float smallZ
Definition: VRMLRenderer.h:138
matrix44.h
BALL::VIEW::VRMLRenderer::rotation_
Matrix4x4 rotation_
Definition: VRMLRenderer.h:134
BALL_VIEW_EXPORT
#define BALL_VIEW_EXPORT
Definition: COMMON/global.h:52
BALL::VIEW::Line
Definition: line.h:35
BALL::VIEW::VRMLRenderer::width
Size width
Definition: VRMLRenderer.h:122
BALL::VIEW::Stage
Definition: stage.h:238
BALL::VIEW::TwoColoredLine
Definition: twoColoredLine.h:45
BALL::VIEW::VRMLRenderer::scalingUsed
bool scalingUsed
Definition: VRMLRenderer.h:141