63 #ifndef KJB_RENDERABLE_H
64 #define KJB_RENDERABLE_H
71 class Base_gl_interface;
86 virtual void render()
const = 0;
266 background_color = rgba;
279 foreground_color = rgba;
290 static Vector background_color;
291 static Vector foreground_color;
532 virtual void render()
const = 0;
551 float offset_factor = 0,
float offset_units = 0) :
Definition: gr_renderable.h:204
void _opengl_offset_edge(double offset_factor=0, double offset_units=0) const
General edge_rendering algorithm using polygon offset.
Definition: gr_renderable.cpp:81
virtual void render(const Generic_renderable &model) const
Definition: gr_renderable.h:432
static unsigned int _rendering_framework
Definition: gr_renderable.h:211
Definition: gr_renderable.h:450
static void set_background_color(const Vector &rgba)
Definition: gr_renderable.h:264
Wire_renderer()
Definition: gr_renderable.h:369
void _opengl_stencil_edge(bool hollow=true) const
General edge-rendering algorithm using stencil buffer.
Definition: gr_renderable.cpp:140
virtual size_t num_views() const =0
Returns the number of views for this object.
Mv_wire_occlude_render_wrapper(const Mv_generic_renderable *model, float offset_factor=0, float offset_units=0)
Definition: gr_renderable.h:550
float m_offset_factor
Definition: gr_renderable.h:437
Definition for the Matrix class, a thin wrapper on the KJB Matrix struct and its related functionalit...
virtual ~Wire_occlude_renderable()
Deletes this Wire_occlude_renderable.
Definition: gr_renderable.h:135
Solid_renderer(const Generic_renderable *model)
Definition: gr_renderable.h:457
virtual void wire_render() const
Render wire mesh.
Definition: gr_renderable.cpp:44
Definition: gr_renderable.h:574
static void set_foreground_color(const Vector &rgba)
Definition: gr_renderable.h:277
virtual void render() const =0
Renders this object with GL.
void wire_renderer() const
Definition: gr_renderable.h:487
void solid_render() const
Render solid object.
Definition: gr_renderable.h:482
Mv_solid_render_wrapper(const Mv_generic_renderable *model)
Definition: gr_renderable.h:601
virtual void render() const
Renders this object with GL.
Definition: gr_renderable.h:161
Wire_occlude_renderer Silhouette_renderer
Definition: gr_renderable.h:441
Abstract class to render this object with GL.
Definition: gr_renderable.h:78
virtual ~Renderable()
Deletes this Renderable.
Definition: gr_renderable.h:82
void wire_occlude_renderer() const
Definition: gr_renderable.h:492
virtual void wire_render() const =0
Renders this object with GL as a wire-frame.
float m_offset_factor
Definition: gr_renderable.h:614
Definition: gr_renderable.h:339
const Generic_renderable * m_model
Definition: gr_renderable.h:328
virtual ~Mv_renderable()
Deletes this Renderable.
Definition: gr_renderable.h:521
This class implements vectors, in the linear-algebra sense, with real-valued elements.
Definition: m_vector.h:87
Definition: gr_renderable.h:598
const Mv_generic_renderable * m_model
Definition: gr_renderable.h:565
static void set_rendering_framework(unsigned int irf)
sets the rendering framework used to render. The only one implemented up to now is OpenGL ...
Definition: gr_renderable.h:176
virtual void operator()(const Generic_renderable &model) const
Definition: gr_renderable.h:323
const Mv_generic_renderable * m_model
Definition: gr_renderable.h:589
void render(const Generic_renderable &model) const
Definition: gr_renderable.h:461
static double get_rendering_framework()
returns the rendering framework used to render. The only one implemented up to now is OpenGL ...
Definition: gr_renderable.h:170
Wire_renderer(const Generic_renderable *model)
Definition: gr_renderable.h:371
virtual void wire_occlude_render() const
Render silhouette edges.
Definition: gr_renderable.h:242
#define IFT(a, ex, msg)
Definition: l_exception.h:101
Renderer(const Generic_renderable *model)
Definition: gr_renderable.h:347
virtual void render() const
Renders this object with GL.
Definition: gr_renderable.h:315
Wire_occlude_renderer(const Generic_renderable *model, float offset_factor=0, float offset_units=0)
Definition: gr_renderable.h:422
Definition: gr_renderable.h:151
Solid_renderer()
Definition: gr_renderable.h:456
void render() const
Renders this object with GL.
Definition: gr_renderable.h:608
Definition: gr_renderable.h:387
Abstract class to render this object with GL as an occluded wire-frame into the depth buffer...
Definition: gr_renderable.h:130
Definition: gr_renderable.h:539
Mv_wire_render_wrapper(const Mv_generic_renderable *model)
Definition: gr_renderable.h:577
virtual void wire_occlude_render(double offset_factor, double offset_units) const
Render silhouette edges.
Definition: gr_renderable.h:247
virtual void set_active_view(size_t i) const =0
Choose a view of this object to render. Active model is not considered part of object state...
size_t num_views() const
Returns the number of views for this object.
Definition: gr_renderable.h:581
float m_offset_units
Definition: gr_renderable.h:567
virtual void wire_occlude_render() const =0
Renders this object with GL as a wireframe occluding hidden lines.
Generic_renderer()
Definition: gr_renderable.h:307
Renderer()
Definition: gr_renderable.h:345
const Mv_generic_renderable * m_model
Definition: gr_renderable.h:613
Definition: gr_renderable.h:472
virtual void render(const Generic_renderable &model) const
Definition: gr_renderable.h:374
Definition: gr_renderable.h:304
Exception often thrown when wrapped C functions return error codes.
Definition: l_exception.h:262
float m_offset_units
Definition: gr_renderable.h:438
void set_active_view(size_t i) const
Choose a view of this object to render. Active model is not considered part of object state...
Definition: gr_renderable.h:582
Generic_renderer(const Generic_renderable *model)
Definition: gr_renderable.h:309
Definition: gr_renderable.h:363
Definition: gr_camera.h:103
Wire_occlude_renderer(float offset_factor=0, float offset_units=0)
Definition: gr_renderable.h:403
float m_offset_factor
Definition: gr_renderable.h:566
float m_offset_units
Definition: gr_renderable.h:615
Abstract class to render an object that has many possible views.
Definition: gr_renderable.h:516
Abstract class to render this object with GL.
Definition: gr_renderable.h:111
Object thrown when an argument to a function is not acceptable.
Definition: l_exception.h:377
virtual ~Solid_renderable()
Deletes this Wire_renderable.
Definition: gr_renderable.h:116
virtual ~Abstract_renderable()
Deletes this Solid_renderable.
Definition: gr_renderable.h:159
size_t num_views() const
Returns the number of views for this object.
Definition: gr_renderable.h:557
get the indices of edges in each direction for i
Definition: APPgetLargeConnectedEdges.m:48
virtual ~Wire_renderable()
Deletes this Wire_renderable.
Definition: gr_renderable.h:99
void render() const
Renders this object with GL.
Definition: gr_renderable.h:477
virtual void render() const =0
Renders this object with GL.
void render() const
Renders this object with GL.
Definition: gr_renderable.h:584
virtual void silhouette_render(const kjb::Base_gl_interface &, double width) const
Renders the silhouette of this object. The most basic implementation is to render the occluded wirefr...
Definition: gr_renderable.h:195
Support for error handling exception classes in libKJB.
void set_active_view(size_t i) const
Choose a view of this object to render. Active model is not considered part of object state...
Definition: gr_renderable.h:558
Rendering_frameworks
Definition: gr_renderable.h:202
void render() const
Renders this object with GL.
Definition: gr_renderable.h:560
size_t num_views() const
Returns the number of views for this object.
Definition: gr_renderable.h:605
Definition: gr_renderable.h:233
void set_active_view(size_t i) const
Choose a view of this object to render. Active model is not considered part of object state...
Definition: gr_renderable.h:606
Definition: gr_renderable.h:547
virtual void solid_render() const =0
Render solid object.
Abstract class to render this object with GL as a wire-frame.
Definition: gr_renderable.h:95
virtual void solid_render() const =0
Renders this object with GL as a wire-frame.
void set_units(float u)
Definition: gr_renderable.h:430
float m_offset_factor
Definition: gr_renderable.h:590
virtual void render(const Generic_renderable &model) const
Definition: gr_renderable.h:350
float m_offset_units
Definition: gr_renderable.h:591
void set_factor(float f)
Definition: gr_renderable.h:429
virtual void render_occluded_wireframe() const
Renders this object with GL as an occluded wire-frame into the depth buffer, to hide unseen lines...
Definition: gr_renderable.h:185