OpenStructure
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
Examples
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
build-2.7-doc
stage
include
ost
gfx
impl
cartoon_renderer.hh
Go to the documentation of this file.
1
//------------------------------------------------------------------------------
2
// This file is part of the OpenStructure project <www.openstructure.org>
3
//
4
// Copyright (C) 2008-2020 by the OpenStructure authors
5
//
6
// This library is free software; you can redistribute it and/or modify it under
7
// the terms of the GNU Lesser General Public License as published by the Free
8
// Software Foundation; either version 3.0 of the License, or (at your option)
9
// any later version.
10
// This library is distributed in the hope that it will be useful, but WITHOUT
11
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
12
// FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
13
// details.
14
//
15
// You should have received a copy of the GNU Lesser General Public License
16
// along with this library; if not, write to the Free Software Foundation, Inc.,
17
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18
//------------------------------------------------------------------------------
19
20
/*
21
Author: Ansgar Philippsen
22
*/
23
24
#ifndef OST_GFX_CARTOON_RENDERER_HH
25
#define OST_GFX_CARTOON_RENDERER_HH
26
27
#include <
ost/geom/geom.hh
>
28
29
#include <
ost/gfx/entity_fw.hh
>
30
31
#include <
ost/gfx/impl/trace_renderer_base.hh
>
32
#include <
ost/gfx/impl/entity_detail.hh
>
33
#include <
ost/gfx/render_options/cartoon_render_options.hh
>
34
#include <
ost/gfx/impl/backbone_trace.hh
>
35
36
namespace
ost {
namespace
gfx {
namespace
impl {
37
40
class
DLLEXPORT_OST_GFX
CartoonRenderer
:
public
TraceRendererBase
{
41
public
:
42
CartoonRenderer
(
BackboneTrace
* trace,
bool
force_tube=
false
);
43
44
virtual
geom::AlignedCuboid
GetBoundingBox()
const
;
45
46
virtual
void
PrepareRendering();
47
48
virtual
bool
CanSetOptions(
RenderOptionsPtr
& render_options);
49
virtual
void
SetOptions(
RenderOptionsPtr
& render_options);
50
virtual
RenderOptionsPtr
GetOptions();
51
52
virtual
void
SetForceTube(
bool
force_tube);
53
54
private
:
55
void
prepare_rendering(
const
BackboneTrace
&,
56
IndexedVertexArray
&,
57
SplineEntryListList
&);
58
59
void
fudge_spline_obj(
SplineEntryListList
&);
60
61
void
rebuild_spline_obj(
IndexedVertexArray
&,
62
const
SplineEntryListList
&,
63
bool
);
64
65
void
cap_profile(
const
impl::TraceProfile
&,
66
const
impl::SplineEntry
&,
67
bool
,
68
IndexedVertexArray
&);
69
70
void
assemble_profile(
const
TraceProfile
&,
71
const
TraceProfile
&,
72
IndexedVertexArray
&,
73
size_t
);
74
75
TraceProfile
transform_and_add_profile(
const
std::vector<TraceProfile>&,
76
const
SplineEntry
&,
77
IndexedVertexArray
&);
78
79
TraceProfile
get_circ_profile(
unsigned
int
detail,
float
rx,
float
ry,
unsigned
int
type,
float
ecc);
80
81
bool
force_tube_;
82
CartoonRenderOptionsPtr
options_;
83
SplineEntryListList
spline_list_list_;
84
SplineEntryListList
sel_spline_list_list_;
85
};
86
87
}}}
88
89
#endif // OST_GFX_CARTOON_RENDERER_HH
geom.hh
entity_detail.hh
cartoon_render_options.hh
ost::gfx::impl::TraceProfile
std::vector< TraceProfileEntry > TraceProfile
Definition:
entity_detail.hh:137
geom::AlignedCuboid
axis-aligned cuboid
Definition:
aligned_cuboid.hh:35
entity_fw.hh
DLLEXPORT_OST_GFX
#define DLLEXPORT_OST_GFX
Definition:
module_config.hh:27
ost::gfx::impl::SplineEntryListList
std::vector< SplineEntryList > SplineEntryListList
Definition:
entity_detail.hh:192
ost::gfx::CartoonRenderOptionsPtr
boost::shared_ptr< CartoonRenderOptions > CartoonRenderOptionsPtr
Definition:
cartoon_render_options.hh:137
ost::gfx::impl::CartoonRenderer
display entity in cartoon mode
Definition:
cartoon_renderer.hh:40
ost::gfx::RenderOptionsPtr
boost::shared_ptr< RenderOptions > RenderOptionsPtr
Definition:
render_options.hh:37
backbone_trace.hh
ost::gfx::impl::BackboneTrace
Definition:
backbone_trace.hh:40
ost::gfx::IndexedVertexArray
Definition:
vertex_array.hh:50
trace_renderer_base.hh
ost::gfx::impl::SplineEntry
Definition:
entity_detail.hh:139
ost::gfx::impl::TraceRendererBase
Definition:
trace_renderer_base.hh:40
Generated by
1.8.5