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);
124 virtual void updateBackgroundColor();
127 virtual void setupEnvironmentMap(
const QImage& image);
134 virtual void setupStereo(
float eye_separation,
float focal_length);
141 use_continuous_loop_ = use_loop;
157 virtual bool finish();
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);
186 virtual bool renderOneRepresentation(
const Representation& representation);
208 bool hasStage()
const;
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; }
238 virtual void renderRuler();
241 virtual void setStereoMode(StereoMode state);
244 virtual StereoMode getStereoMode()
const;
247 virtual void setStereoFrustumConversion(
int width_factor,
int height_factor);
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;}
361 #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 updateMaterialForRepresentation(Representation const *)
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)
BALL_EXPORT bool operator==(const String &s1, const String &s2)
virtual void setPreviewMode(bool show_preview)
virtual void renderLine_(const Line &)
Render a line.
virtual bool hasFPScounter()
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