Loading...
Searching...
No Matches
BALL::VIEW::Renderer Class Reference
Visualisation » Renderer

`#include <BALL/VIEW/RENDERING/RENDERERS/renderer.h>`

Inheritance diagram for BALL::VIEW::Renderer:

## Public Types

enum | StereoMode { NO_STEREO = 0 , ACTIVE_STEREO , DUAL_VIEW_STEREO , DUAL_VIEW_DIFFERENT_DISPLAY_STEREO , TOP_BOTTOM_STEREO , INTERLACED_STEREO }

## Public Member Functions

Constructors and Destructors
| Renderer ()
| Renderer (const Renderer &renderer)
virtual | ~Renderer ()
virtual void | clear ()
virtual bool | init (Scene &scene)
virtual bool | init (const Stage &stage, float height, float width)
virtual void | setLights (bool reset_all=false)
| Set the light sources according to the stage.
virtual void | updateCamera (const Camera *camera=0)
virtual void | updateMaterialForRepresentation (Representation const *)
virtual void | updateBackgroundColor ()
| Update the background color from the stage.
virtual void | setupEnvironmentMap (const QImage &image)
| Setup an environment map.
virtual void | setupStereo (float eye_separation, float focal_length)
virtual void | useContinuousLoop (bool use_loop)
bool | isContinuous ()
virtual bool | hasFPScounter ()
virtual double | getFPS ()
virtual bool | finish ()
virtual Vector3 | mapViewportTo3D (Position x, Position y)
virtual Vector2 | map3DToViewport (const Vector3 &vec)
virtual void | pickObjects (Position x1, Position y1, Position x2, Position y2, std::list< GeometricObject * > &objects)
virtual void | getFrustum (float &near_f, float &far_f, float &left_f, float &right_f, float &top_f, float &bottom_f)
Accessors
virtual bool | renderOneRepresentation (const Representation &representation)
virtual void | bufferRepresentation (const Representation &)
virtual void | removeRepresentation (const Representation &)
virtual const Stage & | getStage () const
virtual void | setStage (const Stage &stage)
bool | hasStage () const
| Test if a Stage was assigned to the Renderer.
virtual void | setSize (float width, float height)
| Set the size of the display.
virtual float | getWidth () const
virtual float | getHeight () const
virtual void | setPreviewMode (bool show_preview)
virtual void | showLightSources (bool show_light_sources)
virtual void | renderRuler ()
virtual void | setStereoMode (StereoMode state)
virtual StereoMode | getStereoMode () const
virtual void | setStereoFrustumConversion (int width_factor, int height_factor)

## Predicates

Scene * | scene_
const Stage * | stage_
float | width_
float | height_
bool | show_preview_
float | volume_width_
bool | show_light_sources_
Camera | camera_
Vector3 | camera_offset_
bool | use_continuous_loop_
Size | stereo_frustum_conversion_width_
Size | stereo_frustum_conversion_height_
StereoMode | stereo_
bool | operator== (const Renderer &) const
virtual void | render_ (const GeometricObject *object)
| Wrapper for the renderering of special GeometricObjects.
virtual void | renderClippingPlane_ (const ClippingPlane &)
virtual void | renderLabel_ (const Label &)
virtual void | renderLine_ (const Line &)
| Render a line.
virtual void | renderMultiLine_ (const MultiLine &)
| Render an illuminated line.
virtual void | renderMesh_ (const Mesh &)
| Render a surface mesh.
virtual void | renderPoint_ (const Point &)
| Render a single point.
virtual void | renderBox_ (const Box &)
| Render a box.
virtual void | renderSimpleBox_ (const SimpleBox &)
| Render a simple box (parallel to the axes).
virtual void | renderSphere_ (const Sphere &)
| Render a sphere.
virtual void | renderDisc_ (const Disc &)
| Render a disc.
virtual void | renderTube_ (const Tube &)
| Render a tube.
virtual void | renderTwoColoredLine_ (const TwoColoredLine &)
| Render a line with two colors.
virtual void | renderTwoColoredTube_ (const TwoColoredTube &)
| Render a tube with two colors.
virtual void | renderGridVisualisation_ (const GridVisualisation &)
| Render a grid.
virtual void | renderQuadMesh_ (const QuadMesh &)
| Render a quad mesh.

## Detailed Description

Renderer is just a generic base class. Derived classes are GLRenderer and POVRenderer. Every renderer has a pointer to a Stage object, which contains the viewpoint, the LightSource, etc. The renderer also knows the width and height, of the display, it shall render.

Definition at line 54 of file renderer.h.

## Member Enumeration Documentation

## StereoMode

enum BALL::VIEW::Renderer::StereoMode

Enumerator
NO_STEREO |
ACTIVE_STEREO | Stereo mode for shutter glasses.
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.
INTERLACED_STEREO | Line interlaced stereo.

Definition at line 59 of file renderer.h.

## Constructor & Destructor Documentation

## Renderer() [1/2]

BALL::VIEW::Renderer::Renderer | ( |  | ) |

Default Constructor.

## Renderer() [2/2]

BALL::VIEW::Renderer::Renderer | ( | const Renderer & | renderer | ) |

Copy constructor.

## ~Renderer()

virtual BALL::VIEW::Renderer::~Renderer | ( |  | ) |

inline virtual

Destructor

Definition at line 95 of file renderer.h.

## Member Function Documentation

## bufferRepresentation()

virtual void BALL::VIEW::Renderer::bufferRepresentation | ( | const Representation & |  | ) |

inline virtual

Buffer a Representation for later rendering.

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::RTfactRenderer, and BALL::VIEW::TilingRenderer.

Definition at line 191 of file renderer.h.

## clear()

virtual void BALL::VIEW::Renderer::clear | ( |  | ) |

inline virtual

Explicit default initialization.

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::POVRenderer, BALL::VIEW::STLRenderer, BALL::VIEW::VRMLRenderer, and BALL::VIEW::XML3DRenderer.

Definition at line 99 of file renderer.h.

## finish()

virtual bool BALL::VIEW::Renderer::finish | ( |  | ) |

virtual

Reimplemented in BALL::VIEW::POVRenderer, BALL::VIEW::STLRenderer, BALL::VIEW::TilingRenderer, BALL::VIEW::VRMLRenderer, and BALL::VIEW::XML3DRenderer.

## getFPS()

virtual double BALL::VIEW::Renderer::getFPS | ( |  | ) |

inline virtual

Internal renderer FPS if available, otherwise returns 0.

Reimplemented in BALL::VIEW::RTfactRenderer.

Definition at line 154 of file renderer.h.

## getFrustum()

virtual void BALL::VIEW::Renderer::getFrustum | ( | float & | near_f,
|  | float & | far_f,
|  | float & | left_f,
|  | float & | right_f,
|  | float & | top_f,
|  | float & | bottom_f )

virtual

Return the frustum used by this renderer.

Reimplemented in BALL::VIEW::GLRenderer, and BALL::VIEW::RTfactRenderer.

## getHeight()

virtual float BALL::VIEW::Renderer::getHeight | ( |  | ) | const

inline virtual

Definition at line 217 of file renderer.h.

## getStage()

virtual const Stage & BALL::VIEW::Renderer::getStage | ( |  | ) | const

inline virtual

Get the stage for the renderer (const)

Definition at line 199 of file renderer.h.

## getStereoMode()

virtual StereoMode BALL::VIEW::Renderer::getStereoMode | ( |  | ) | const

virtual

## getWidth()

virtual float BALL::VIEW::Renderer::getWidth | ( |  | ) | const

inline virtual

Definition at line 214 of file renderer.h.

## hasFPScounter()

virtual bool BALL::VIEW::Renderer::hasFPScounter | ( |  | ) |

inline virtual

Whether renderer has its own FPS counter.

Reimplemented in BALL::VIEW::RTfactRenderer.

Definition at line 150 of file renderer.h.

## hasStage()

bool BALL::VIEW::Renderer::hasStage | ( |  | ) | const

Test if a Stage was assigned to the Renderer.

## init() [1/2]

virtual bool BALL::VIEW::Renderer::init | ( | const Stage & | stage,
|  | float | height,
|  | float | width )

virtual

Initialisation with the Stage. Called by Scene::exportScene().

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::POVRenderer, and BALL::VIEW::XML3DRenderer.

## init() [2/2]

virtual bool BALL::VIEW::Renderer::init | ( | Scene & | scene | ) |

virtual

Initialization routines. This method is called by Scene::initializeGL.

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::POVRenderer, BALL::VIEW::RTfactRenderer, and BALL::VIEW::XML3DRenderer.

## isContinuous()

bool BALL::VIEW::Renderer::isContinuous | ( |  | ) |

inline

Returns the mode of the render loop.

Definition at line 146 of file renderer.h.

## map3DToViewport()

virtual Vector2 BALL::VIEW::Renderer::map3DToViewport | ( | const Vector3 & | vec | ) |

virtual

Compute the 2D position on the screen corresponding to the 3D point vec

Reimplemented in BALL::VIEW::TilingRenderer.

## mapViewportTo3D()

virtual Vector3 BALL::VIEW::Renderer::mapViewportTo3D | ( | Position | x,
|  | Position | y )

virtual

Compute the 3D position on the view plane corresponding to point (x,y) on the view port

Reimplemented in BALL::VIEW::TilingRenderer.

## operator==()

bool BALL::VIEW::Renderer::operator== | ( | const Renderer & |  | ) | const

inline

Definition at line 255 of file renderer.h.

## pickObjects()

virtual void BALL::VIEW::Renderer::pickObjects | ( | Position | x1,
|  | Position | y1,
|  | Position | x2,
|  | Position | y2,
|  | std::list< GeometricObject * > & | objects )

virtual

Pick all objects in the given screen rectangle.

Reimplemented in BALL::VIEW::GLRenderer, and BALL::VIEW::RTfactRenderer.

## removeRepresentation()

virtual void BALL::VIEW::Renderer::removeRepresentation | ( | const Representation & |  | ) |

inline virtual

Remove a representation from the buffer.

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::RTfactRenderer, and BALL::VIEW::TilingRenderer.

Definition at line 195 of file renderer.h.

## render_()

virtual void BALL::VIEW::Renderer::render_ | ( | const GeometricObject * | object | ) |

virtual

Wrapper for the renderering of special GeometricObjects.

Reimplemented in BALL::VIEW::TilingRenderer.

## renderBox_()

virtual void BALL::VIEW::Renderer::renderBox_ | ( | const Box & |  | ) |

inline protected virtual

Render a box.

Reimplemented in BALL::VIEW::GLRenderer.

Definition at line 288 of file renderer.h.

## renderClippingPlane_()

virtual void BALL::VIEW::Renderer::renderClippingPlane_ | ( | const ClippingPlane & |  | ) |

inline protected virtual

Reimplemented in BALL::VIEW::GLRenderer.

Definition at line 264 of file renderer.h.

## renderDisc_()

virtual void BALL::VIEW::Renderer::renderDisc_ | ( | const Disc & |  | ) |

inline protected virtual

Render a disc.

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::POVRenderer, and BALL::VIEW::XML3DRenderer.

Definition at line 300 of file renderer.h.

## renderGridVisualisation_()

virtual void BALL::VIEW::Renderer::renderGridVisualisation_ | ( | const GridVisualisation & |  | ) |

inline protected virtual

Render a grid.

Reimplemented in BALL::VIEW::GLRenderer.

Definition at line 316 of file renderer.h.

## renderLabel_()

virtual void BALL::VIEW::Renderer::renderLabel_ | ( | const Label & |  | ) |

inline protected virtual

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::POVRenderer, and BALL::VIEW::XML3DRenderer.

Definition at line 268 of file renderer.h.

## renderLine_()

virtual void BALL::VIEW::Renderer::renderLine_ | ( | const Line & |  | ) |

inline protected virtual

Render a line.

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::POVRenderer, BALL::VIEW::STLRenderer, BALL::VIEW::VRMLRenderer, and BALL::VIEW::XML3DRenderer.

Definition at line 272 of file renderer.h.

## renderMesh_()

virtual void BALL::VIEW::Renderer::renderMesh_ | ( | const Mesh & |  | ) |

inline protected virtual

Render a surface mesh.

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::POVRenderer, BALL::VIEW::STLRenderer, BALL::VIEW::VRMLRenderer, and BALL::VIEW::XML3DRenderer.

Definition at line 280 of file renderer.h.

## renderMultiLine_()

virtual void BALL::VIEW::Renderer::renderMultiLine_ | ( | const MultiLine & |  | ) |

inline protected virtual

Render an illuminated line.

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::POVRenderer, and BALL::VIEW::XML3DRenderer.

Definition at line 276 of file renderer.h.

## renderOneRepresentation()

virtual bool BALL::VIEW::Renderer::renderOneRepresentation | ( | const Representation & | representation | ) |

virtual

Render a Representation.

Reimplemented in BALL::VIEW::POVRenderer, BALL::VIEW::TilingRenderer, and BALL::VIEW::XML3DRenderer.

## renderPoint_()

virtual void BALL::VIEW::Renderer::renderPoint_ | ( | const Point & |  | ) |

inline protected virtual

Render a single point.

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::POVRenderer, and BALL::VIEW::XML3DRenderer.

Definition at line 284 of file renderer.h.

## renderQuadMesh_()

virtual void BALL::VIEW::Renderer::renderQuadMesh_ | ( | const QuadMesh & |  | ) |

inline protected virtual

Render a quad mesh.

Reimplemented in BALL::VIEW::GLRenderer.

Definition at line 319 of file renderer.h.

## renderRuler()

virtual void BALL::VIEW::Renderer::renderRuler | ( |  | ) |

virtual

Render a ruler.

If supported by the renderer implementation, this function will produce a simple ruler that is rendered together with the other representations. The main use of this function is in the edit mode, where it can help to straighten-up structures and to correctly estimate angles and distances.

Reimplemented in BALL::VIEW::GLRenderer, and BALL::VIEW::TilingRenderer.

## renderSimpleBox_()

virtual void BALL::VIEW::Renderer::renderSimpleBox_ | ( | const SimpleBox & |  | ) |

inline protected virtual

Render a simple box (parallel to the axes).

Reimplemented in BALL::VIEW::GLRenderer.

Definition at line 292 of file renderer.h.

## renderSphere_()

virtual void BALL::VIEW::Renderer::renderSphere_ | ( | const Sphere & |  | ) |

inline protected virtual

Render a sphere.

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::POVRenderer, BALL::VIEW::STLRenderer, BALL::VIEW::VRMLRenderer, and BALL::VIEW::XML3DRenderer.

Definition at line 296 of file renderer.h.

## renderTube_()

virtual void BALL::VIEW::Renderer::renderTube_ | ( | const Tube & |  | ) |

inline protected virtual

Render a tube.

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::POVRenderer, BALL::VIEW::STLRenderer, BALL::VIEW::VRMLRenderer, and BALL::VIEW::XML3DRenderer.

Definition at line 304 of file renderer.h.

## renderTwoColoredLine_()

virtual void BALL::VIEW::Renderer::renderTwoColoredLine_ | ( | const TwoColoredLine & |  | ) |

inline protected virtual

Render a line with two colors.

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::POVRenderer, BALL::VIEW::STLRenderer, BALL::VIEW::VRMLRenderer, and BALL::VIEW::XML3DRenderer.

Definition at line 308 of file renderer.h.

## renderTwoColoredTube_()

virtual void BALL::VIEW::Renderer::renderTwoColoredTube_ | ( | const TwoColoredTube & |  | ) |

inline protected virtual

Render a tube with two colors.

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::POVRenderer, BALL::VIEW::STLRenderer, BALL::VIEW::VRMLRenderer, and BALL::VIEW::XML3DRenderer.

Definition at line 312 of file renderer.h.

## setLights()

virtual void BALL::VIEW::Renderer::setLights | ( | bool | reset_all = false | ) |

virtual

Set the light sources according to the stage.

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::RTfactRenderer, and BALL::VIEW::TilingRenderer.

## setPreviewMode()

virtual void BALL::VIEW::Renderer::setPreviewMode | ( | bool | show_preview | ) |

inline virtual

Decides whether the renderer should use a faster preview mode. Please note that not all renderers support previews and may choose just to ignore this setting.

Definition at line 223 of file renderer.h.

## setSize()

virtual void BALL::VIEW::Renderer::setSize | ( | float | width,
|  | float | height )

inline virtual

Set the size of the display.

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::RTfactRenderer, BALL::VIEW::TilingRenderer, and BALL::VIEW::XML3DRenderer.

Definition at line 211 of file renderer.h.

## setStage()

virtual void BALL::VIEW::Renderer::setStage | ( | const Stage & | stage | ) |

inline virtual

Set the stage for the renderer

Definition at line 204 of file renderer.h.

## setStereoFrustumConversion()

virtual void BALL::VIEW::Renderer::setStereoFrustumConversion | ( | int | width_factor,
|  | int | height_factor )

virtual

## setStereoMode()

virtual void BALL::VIEW::Renderer::setStereoMode | ( | StereoMode | state | ) |

virtual

## setupEnvironmentMap()

virtual void BALL::VIEW::Renderer::setupEnvironmentMap | ( | const QImage & | image | ) |

virtual

Setup an environment map.

Reimplemented in BALL::VIEW::RTfactRenderer.

## setupStereo()

virtual void BALL::VIEW::Renderer::setupStereo | ( | float | eye_separation,
|  | float | focal_length )

virtual

Sets this renderer as a part of a stereo setup.

eye_separation denotes the distance along the right vector used by this "eye".

Reimplemented in BALL::VIEW::GLRenderer, and BALL::VIEW::RTfactRenderer.

## showLightSources()

virtual void BALL::VIEW::Renderer::showLightSources | ( | bool | show_light_sources | ) |

inline virtual

Decides whether to draw light sources explicitly. Please note that not all renderers support this feature and may choose just to ignore this setting.

Definition at line 229 of file renderer.h.

## updateBackgroundColor()

virtual void BALL::VIEW::Renderer::updateBackgroundColor | ( |  | ) |

virtual

Update the background color from the stage.

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::RTfactRenderer, and BALL::VIEW::TilingRenderer.

## updateCamera()

virtual void BALL::VIEW::Renderer::updateCamera | ( | const Camera * | camera = 0 | ) |

virtual

Update the camera position either from a given Camera, or from the default Stage.

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::RTfactRenderer, and BALL::VIEW::TilingRenderer.

## updateMaterialForRepresentation()

virtual void BALL::VIEW::Renderer::updateMaterialForRepresentation | ( | Representation const * |  | ) |

inline virtual

Updates the material for the current representation

Reimplemented in BALL::VIEW::GLRenderer, BALL::VIEW::RaytracingRenderer, and BALL::VIEW::RTfactRenderer.

Definition at line 121 of file renderer.h.

## useContinuousLoop()

virtual void BALL::VIEW::Renderer::useContinuousLoop | ( | bool | use_loop | ) |

inline virtual

Decide between event based and (threaded) continuous loop rendering.

Reimplemented in BALL::VIEW::RTfactRenderer.

Definition at line 138 of file renderer.h.

## Member Data Documentation

## camera_

Camera BALL::VIEW::Renderer::camera_

protected

Definition at line 345 of file renderer.h.

## camera_offset_

Vector3 BALL::VIEW::Renderer::camera_offset_

protected

Definition at line 348 of file renderer.h.

## height_

float BALL::VIEW::Renderer::height_

protected

Definition at line 333 of file renderer.h.

## scene_

Scene* BALL::VIEW::Renderer::scene_

protected

Definition at line 324 of file renderer.h.

## show_light_sources_

bool BALL::VIEW::Renderer::show_light_sources_

protected

Definition at line 342 of file renderer.h.

## show_preview_

bool BALL::VIEW::Renderer::show_preview_

protected

Definition at line 336 of file renderer.h.

## stage_

const Stage* BALL::VIEW::Renderer::stage_

protected

Definition at line 327 of file renderer.h.

## stereo_

StereoMode BALL::VIEW::Renderer::stereo_

protected

Definition at line 355 of file renderer.h.

## stereo_frustum_conversion_height_

Size BALL::VIEW::Renderer::stereo_frustum_conversion_height_

protected

Definition at line 353 of file renderer.h.

## stereo_frustum_conversion_width_

Size BALL::VIEW::Renderer::stereo_frustum_conversion_width_

protected

Definition at line 352 of file renderer.h.

## use_continuous_loop_

bool BALL::VIEW::Renderer::use_continuous_loop_

protected

Definition at line 350 of file renderer.h.

## volume_width_

float BALL::VIEW::Renderer::volume_width_

protected

Definition at line 339 of file renderer.h.

## width_

float BALL::VIEW::Renderer::width_

protected

Definition at line 330 of file renderer.h.