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 
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 
77 
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 
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::VRMLRenderer::renderTube_
void renderTube_(const Tube &tube)
Render a tube.
BALL::VIEW::Sphere
Definition: sphere.h:33
BALL::VIEW::VRMLRenderer::outfile_
File outfile_
Definition: VRMLRenderer.h:131
BALL::VIEW::VRMLRenderer::clear
virtual void clear()
Clear method.
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:41
BALL::TMatrix4x4< float >
BALL::VIEW::VRMLRenderer::renderMesh_
void renderMesh_(const Mesh &mesh)
Render a surface mesh.
BALL::VIEW::VRMLRenderer::outheader_
void outheader_(const String &data)
Definition: VRMLRenderer.h:116
BALL::VIEW::VRMLRenderer::init
virtual bool init(const Stage &stage)
BALL::VIEW::VRMLRenderer::VRMLRenderer
VRMLRenderer(const String &name)
BALL::String
Definition: string.h:57
BALL::VIEW::VRMLRenderer::~VRMLRenderer
virtual ~VRMLRenderer()
Destructor.
BALL::VIEW::VRMLRenderer::setFileName
void setFileName(const String &name)
BALL::VIEW::VRMLRenderer::footer_
void footer_()
file.h
BALL::VIEW::TwoColoredTube
Definition: twoColoredTube.h:49
BALL
Definition: constants.h:13
BALL::VIEW::VRMLRenderer::renderTwoColoredLine_
void renderTwoColoredLine_(const TwoColoredLine &miniTube)
Render a line with two colors.
BALL::VIEW::VRMLRenderer::out_
void out_(const String &data)
BALL::VIEW::VRMLRenderer::finish
virtual bool finish()
BALL::VIEW::VRMLRenderer::renderLine_
void renderLine_(const Line &miniTube)
Render a line.
BALL::VIEW::Renderer
Definition: renderer.h:55
BALL::VIEW::Tube
Definition: tube.h:40
BALL::VIEW::VRMLRenderer::outfinish_
void outfinish_(const String &data)
Definition: VRMLRenderer.h:119
BALL::VIEW::ColorRGBA
Definition: colorRGBA.h:32
BALL::File
Definition: file.h:136
BALL_INDEX_TYPE
BALL_SIZE_TYPE
BALL::TVector3< float >
BALL_VIEW_EXPORT
#define BALL_VIEW_EXPORT
Definition: COMMON/global.h:52
BALL::VIEW::VRMLRenderer::VRMLVector3
String VRMLVector3(Vector3 input)
BALL::VIEW::VRMLRenderer::VRMLColor
void VRMLColor(const ColorRGBA &color)
renderer.h
BALL::VIEW::Mesh
Definition: mesh.h:42
BALL::VIEW::VRMLRenderer::smallZ
float smallZ
Definition: VRMLRenderer.h:138
BALL::VIEW::VRMLRenderer::VRMLRenderer
VRMLRenderer()
Default constructor.
BALL::VIEW::VRMLRenderer::renderTwoColoredTube_
void renderTwoColoredTube_(const TwoColoredTube &tube)
Render a tube with two colors.
matrix44.h
BALL::VIEW::VRMLRenderer::rotation_
Matrix4x4 rotation_
Definition: VRMLRenderer.h:134
BALL::VIEW::Line
Definition: line.h:38
BALL::VIEW::VRMLRenderer::width
Size width
Definition: VRMLRenderer.h:122
BALL::VIEW::VRMLRenderer::header_
void header_(const Vector3 &translation, const ColorRGBA &color, const String &rotation="")
BALL::VIEW::VRMLRenderer::VRMLColorRGBA
String VRMLColorRGBA(const ColorRGBA &input)
BALL::VIEW::Stage
Definition: stage.h:239
BALL_DEPRECATED
#define BALL_DEPRECATED
Definition: COMMON/global.h:64
BALL::VIEW::TwoColoredLine
Definition: twoColoredLine.h:49
BALL::VIEW::VRMLRenderer::renderSphere_
void renderSphere_(const Sphere &sphere)
Render a sphere.
BALL::VIEW::VRMLRenderer::scalingUsed
bool scalingUsed
Definition: VRMLRenderer.h:141