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;
109 virtual bool init(
const Stage& stage,
float height,
float width);
134 virtual void setupStereo(
float eye_separation,
float focal_length);
141 use_continuous_loop_ = use_loop;
172 std::list<GeometricObject*>& objects);
176 virtual void getFrustum(
float& near_f,
float& far_f,
float& left_f,
float& right_f,
177 float& top_f,
float& bottom_f);
211 virtual void setSize(
float width,
float height) {width_ = width; height_ = height;}
229 virtual void showLightSources(
bool show_light_sources) { show_light_sources_ = show_light_sources; }
265 {
Log.
error() <<
"renderClippingPlane_ not implemented in derived Renderer class" << std::endl;}
269 {
Log.
error() <<
"renderLabel_ not implemented in derived Renderer class" << std::endl;}
273 {
Log.
error() <<
"renderLine_ not implemented in derived Renderer class" << std::endl;}
277 {
Log.
error() <<
"renderMultiLine_ not implemented in derived Renderer class" << std::endl;}
281 {
Log.
error() <<
"renderMesh_ not implemented in derived Renderer class" << std::endl;}
285 {
Log.
error() <<
"renderPoint_ not implemented in derived Renderer class" << std::endl;}
289 {
Log.
error() <<
"renderBox_ not implemented in derived Renderer class" << std::endl;}
293 {
Log.
error() <<
"renderSimpleBox_ not implemented in derived Renderer class" << std::endl;}
297 {
Log.
error() <<
"renderSphere_ not implemented in derived Renderer class" << std::endl;}
301 {
Log.
error() <<
"renderDisc_ not implemented in derived Renderer class" << std::endl;}
305 {
Log.
error() <<
"renderTube_ not implemented in derived Renderer class" << std::endl;}
309 {
Log.
error() <<
"renderTwoColoredLine_ not implemented in derived Renderer class" << std::endl;}
313 {
Log.
error() <<
"renderTwoColoredTube_ not implemented in derived Renderer class" << std::endl;}
317 {
Log.
error() <<
"renderGridVisualisation_ not implemented in derived Renderer class" << std::endl;}
320 {
Log.
error() <<
"renderQuadMesh_ not implemented in derived Renderer class" << std::endl;}
#define BALL_CREATE(name)
BALL_EXPORT LogStream Log
BALL_EXPORT bool operator==(const String &s1, const String &s2)
LogStream & error(int n=0)
Size stereo_frustum_conversion_height_
bool use_continuous_loop_
virtual bool renderOneRepresentation(const Representation &representation)
virtual void renderMesh_(const Mesh &)
Render a surface mesh.
virtual Vector3 mapViewportTo3D(Position x, Position y)
virtual const Stage & getStage() const
virtual void renderTwoColoredTube_(const TwoColoredTube &)
Render a tube with two colors.
virtual Vector2 map3DToViewport(const Vector3 &vec)
virtual void setStereoFrustumConversion(int width_factor, int height_factor)
virtual void renderSphere_(const Sphere &)
Render a sphere.
virtual void renderQuadMesh_(const QuadMesh &)
Render a quad mesh.
virtual void renderLabel_(const Label &)
virtual bool init(const Stage &stage, float height, float width)
virtual void renderBox_(const Box &)
Render a box.
virtual float getWidth() const
virtual void setSize(float width, float height)
Set the size of the display.
bool hasStage() const
Test if a Stage was assigned to the Renderer.
virtual void updateMaterialForRepresentation(Representation const *)
Size stereo_frustum_conversion_width_
virtual bool hasFPScounter()
virtual void setStereoMode(StereoMode state)
virtual float getHeight() const
virtual void updateBackgroundColor()
Update the background color from the stage.
virtual StereoMode getStereoMode() const
virtual void render_(const GeometricObject *object)
Wrapper for the renderering of special GeometricObjects.
virtual void setupEnvironmentMap(const QImage &image)
Setup an environment map.
@ DUAL_VIEW_STEREO
Stereo mode for output on two projectors.
@ DUAL_VIEW_DIFFERENT_DISPLAY_STEREO
Stereo mode for output on two projectors with one display per head.
@ TOP_BOTTOM_STEREO
Stereo mode for top bottom views.
@ ACTIVE_STEREO
Stereo mode for shutter glasses.
virtual void setupStereo(float eye_separation, float focal_length)
virtual void getFrustum(float &near_f, float &far_f, float &left_f, float &right_f, float &top_f, float &bottom_f)
virtual void renderDisc_(const Disc &)
Render a disc.
virtual void showLightSources(bool show_light_sources)
virtual void renderMultiLine_(const MultiLine &)
Render an illuminated line.
virtual void renderClippingPlane_(const ClippingPlane &)
virtual void removeRepresentation(const Representation &)
virtual void pickObjects(Position x1, Position y1, Position x2, Position y2, std::list< GeometricObject * > &objects)
virtual void updateCamera(const Camera *camera=0)
virtual void useContinuousLoop(bool use_loop)
virtual void setStage(const Stage &stage)
virtual void renderTwoColoredLine_(const TwoColoredLine &)
Render a line with two colors.
virtual bool init(Scene &scene)
virtual void setPreviewMode(bool show_preview)
virtual void renderRuler()
virtual void setLights(bool reset_all=false)
Set the light sources according to the stage.
virtual void renderGridVisualisation_(const GridVisualisation &)
Render a grid.
virtual void renderSimpleBox_(const SimpleBox &)
Render a simple box (parallel to the axes)
virtual void renderPoint_(const Point &)
Render a single point.
virtual void bufferRepresentation(const Representation &)
virtual void renderTube_(const Tube &)
Render a tube.
virtual void renderLine_(const Line &)
Render a line.