cgv
drawable.h
1
#pragma once
2
3
#include <cgv/base/base.h>
4
#include <cgv/base/traverser.h>
5
#include <cgv/render/context.h>
6
#include <cgv/render/view.h>
7
8
#include "lib_begin.h"
9
10
namespace
cgv
{
11
namespace
render {
12
14
class
CGV_API
drawable
:
public
base::traverse_policy
,
public
render_types
15
{
16
private
:
18
context
* ctx;
19
public
:
21
drawable
();
22
24
void
hide();
26
void
show();
28
bool
is_visible()
const
;
29
31
context
* get_context()
const
;
33
void
set_context(
context
* _ctx);
35
36
cgv::render::view
* find_view_as_node(
size_t
view_idx = 0)
const
;
38
40
bool
get_world_location(
int
x,
int
y,
const
cgv::render::view
& V,
cgv::math::fvec<double, 3>
& world_location,
double
* window_z_ptr = 0)
const
;
42
void
post_redraw();
44
void
force_redraw();
45
47
virtual
bool
init(
context
&);
49
virtual
void
resize(
unsigned
int
w,
unsigned
int
h);
51
virtual
void
init_frame(
context
&);
53
virtual
void
draw(
context
&);
55
virtual
void
finish_draw(
context
&);
57
virtual
void
finish_frame(
context
&);
59
virtual
void
after_finish(
cgv::render::context
&);
61
virtual
void
clear(
context
&);
62
};
63
65
class
CGV_API
multi_pass_drawable
:
public
drawable
66
{
67
protected
:
68
// mark current render pass
69
int
current_render_pass;
70
// store recursion depth on which render passes are initiated
71
unsigned
render_pass_recursion_depth;
72
public
:
74
multi_pass_drawable
();
76
bool
initiate_render_pass_recursion(
context
& ctx);
78
void
perform_render_pass(
context
& ctx,
int
rp_idx,
RenderPass
rp =
RP_USER_DEFINED
,
int
excluded_flags = RPF_HANDLE_SCREEN_SHOT,
int
included_flags = 0);
80
void
initiate_terminal_render_pass(
int
rp_idx);
82
bool
multi_pass_ignore_finish(
const
context
& ctx);
84
bool
multi_pass_terminate(
const
context
& ctx);
85
};
86
87
}
88
}
89
90
#include <cgv/config/lib_end.h>
cgv::render::view
Definition:
view.h:22
cgv::math::fvec< double, 3 >
cgv::base::traverse_policy
nodes should inherit from this policy class to allow selective tree traversals
Definition:
traverser.h:24
cgv::render::multi_pass_drawable
Definition:
drawable.h:66
cgv::render::RP_USER_DEFINED
@ RP_USER_DEFINED
in picking pass a small rectangle around the mouse is rendered
Definition:
context.h:75
cgv::render::drawable
Definition:
drawable.h:15
cgv
the cgv namespace
Definition:
vr_calib.cxx:9
cgv::render::RenderPass
RenderPass
enumeration of different render passes, which can be queried from the context and used to specify a n...
Definition:
context.h:66
cgv::render::context
Definition:
context.h:525
projects
git
cgv
cgv
render
drawable.h
Generated by
1.8.18