5 #ifndef BALL_VIEW_RENDERING_RENDERERS_RENDERER_H
6 #define BALL_VIEW_RENDERING_RENDERERS_RENDERER_H
8 #ifndef BALL_VIEW_KERNEL_REPRESENTATION_H
12 #ifndef BALL_CONCEPT_OBJECT_H
16 #ifndef BALL_VIEW_KERNEL_STAGE_H
20 #ifndef BALL_MATHS_VECTOR2_H
44 class GridVisualisation;
91 Renderer(const Renderer& renderer);
95 virtual ~Renderer() {}
104 virtual bool init(
Scene& scene);
109 virtual bool init(
const Stage& stage,
float height,
float width);
112 virtual void setLights(
bool reset_all =
false);
116 virtual void updateCamera(
const Camera* camera = 0);
119 virtual void updateBackgroundColor();
122 virtual void setupEnvironmentMap(
const QImage& image);
129 virtual void setupStereo(
float eye_separation,
float focal_length);
136 use_continuous_loop_ = use_loop;
144 virtual bool finish();
159 std::list<GeometricObject*>& objects);
163 virtual void getFrustum(
float& near_f,
float& far_f,
float& left_f,
float& right_f,
164 float& top_f,
float& bottom_f);
173 virtual bool renderOneRepresentation(
const Representation& representation);
195 bool hasStage()
const;
198 virtual void setSize(
float width,
float height) {width_ = width; height_ = height;}
216 virtual void showLightSources(
bool show_light_sources) { show_light_sources_ = show_light_sources; }
225 virtual void renderRuler();
228 virtual void setStereoMode(StereoMode state);
231 virtual StereoMode getStereoMode()
const;
234 virtual void setStereoFrustumConversion(
int width_factor,
int height_factor);
252 {
Log.
error() <<
"renderClippingPlane_ not implemented in derived Renderer class" << std::endl;}
256 {
Log.
error() <<
"renderLabel_ not implemented in derived Renderer class" << std::endl;}
260 {
Log.
error() <<
"renderLine_ not implemented in derived Renderer class" << std::endl;}
264 {
Log.
error() <<
"renderMultiLine_ not implemented in derived Renderer class" << std::endl;}
268 {
Log.
error() <<
"renderMesh_ not implemented in derived Renderer class" << std::endl;}
272 {
Log.
error() <<
"renderPoint_ not implemented in derived Renderer class" << std::endl;}
276 {
Log.
error() <<
"renderBox_ not implemented in derived Renderer class" << std::endl;}
280 {
Log.
error() <<
"renderSimpleBox_ not implemented in derived Renderer class" << std::endl;}
284 {
Log.
error() <<
"renderSphere_ not implemented in derived Renderer class" << std::endl;}
288 {
Log.
error() <<
"renderDisc_ not implemented in derived Renderer class" << std::endl;}
292 {
Log.
error() <<
"renderTube_ not implemented in derived Renderer class" << std::endl;}
296 {
Log.
error() <<
"renderTwoColoredLine_ not implemented in derived Renderer class" << std::endl;}
300 {
Log.
error() <<
"renderTwoColoredTube_ not implemented in derived Renderer class" << std::endl;}
304 {
Log.
error() <<
"renderGridVisualisation_ not implemented in derived Renderer class" << std::endl;}
307 {
Log.
error() <<
"renderQuadMesh_ not implemented in derived Renderer class" << std::endl;}
348 #endif // BALL_VIEW_RENDERING_RENDERER_H
virtual void renderTwoColoredTube_(const TwoColoredTube &)
Render a tube with two colors.
virtual void renderGridVisualisation_(const GridVisualisation &)
Render a grid.
virtual void renderDisc_(const Disc &)
Render a disc.
#define BALL_CREATE(name)
virtual void renderClippingPlane_(const ClippingPlane &)
Stereo mode for output on two projectors with one display per head.
virtual void setStage(const Stage &stage)
virtual void setSize(float width, float height)
Set the size of the display.
virtual const Stage & getStage() const
virtual void useContinuousLoop(bool use_loop)
BALL_EXPORT LogStream Log
virtual void renderTube_(const Tube &)
Render a tube.
bool use_continuous_loop_
Stereo mode for output on two projectors.
Stereo mode for shutter glasses.
virtual void renderPoint_(const Point &)
Render a single point.
virtual void renderQuadMesh_(const QuadMesh &)
Render a quad mesh.
virtual void renderMesh_(const Mesh &)
Render a surface mesh.
virtual void renderBox_(const Box &)
Render a box.
Size stereo_frustum_conversion_width_
virtual void renderMultiLine_(const MultiLine &)
Render an illuminated line.
virtual void renderTwoColoredLine_(const TwoColoredLine &)
Render a line with two colors.
virtual void bufferRepresentation(const Representation &)
LogStream & error(int n=0)
virtual void setPreviewMode(bool show_preview)
virtual void renderLine_(const Line &)
Render a line.
virtual void renderSimpleBox_(const SimpleBox &)
Render a simple box (parallel to the axes)
virtual float getWidth() const
virtual void removeRepresentation(const Representation &)
Size stereo_frustum_conversion_height_
virtual void showLightSources(bool show_light_sources)
Stereo mode for top bottom views.
virtual void renderSphere_(const Sphere &)
Render a sphere.
virtual void renderLabel_(const Label &)
virtual float getHeight() const