Blender
V2.93
source
blender
freestyle
intern
scene_graph
SceneVisitor.h
Go to the documentation of this file.
1
/*
2
* This program is free software; you can redistribute it and/or
3
* modify it under the terms of the GNU General Public License
4
* as published by the Free Software Foundation; either version 2
5
* of the License, or (at your option) any later version.
6
*
7
* This program is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10
* GNU General Public License for more details.
11
*
12
* You should have received a copy of the GNU General Public License
13
* along with this program; if not, write to the Free Software Foundation,
14
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15
*/
16
17
#pragma once
18
24
#include "../system/FreestyleConfig.h"
25
26
#ifdef WITH_CXX_GUARDEDALLOC
27
# include "
MEM_guardedalloc.h
"
28
#endif
29
30
namespace
Freestyle
{
31
32
#define VISIT_COMPLETE_DEF(type) \
33
virtual void visit##type(type &) \
34
{ \
35
} \
36
virtual void visit##type##Before(type &) \
37
{ \
38
} \
39
virtual void visit##type##After(type &) \
40
{ \
41
}
42
43
#define VISIT_DECL(type) virtual void visit##type(type &)
44
45
#define VISIT_COMPLETE_DECL(type) \
46
virtual void visit##type##Before(type &); \
47
virtual void visit##type(type &); \
48
virtual void visit##type##After(type &)
49
50
class
Node
;
51
class
NodeShape;
52
class
NodeGroup;
53
class
NodeLight;
54
class
NodeCamera;
55
class
NodeDrawingStyle;
56
class
NodeTransform;
57
class
NodeViewLayer;
58
59
class
Rep;
60
class
LineRep;
61
class
OrientedLineRep;
62
class
TriangleRep;
63
class
VertexRep;
64
class
IndexedFaceSet;
65
class
DrawingStyle;
66
class
FrsMaterial;
67
68
class
SceneVisitor
{
69
public
:
70
SceneVisitor
()
71
{
72
}
73
virtual
~SceneVisitor
()
74
{
75
}
76
77
virtual
void
beginScene
()
78
{
79
}
80
virtual
void
endScene
()
81
{
82
}
83
84
//
85
// visitClass methods
86
//
88
89
VISIT_COMPLETE_DEF
(
Node
)
90
VISIT_COMPLETE_DEF
(
NodeShape
)
91
VISIT_COMPLETE_DEF
(
NodeGroup
)
92
VISIT_COMPLETE_DEF
(
NodeLight
)
93
VISIT_COMPLETE_DEF
(
NodeCamera
)
94
VISIT_COMPLETE_DEF
(
NodeDrawingStyle
)
95
VISIT_COMPLETE_DEF
(
NodeTransform
)
96
VISIT_COMPLETE_DEF
(
NodeViewLayer
)
97
98
VISIT_COMPLETE_DEF
(
Rep
)
99
VISIT_COMPLETE_DEF
(
LineRep
)
100
VISIT_COMPLETE_DEF
(
OrientedLineRep
)
101
VISIT_COMPLETE_DEF
(
TriangleRep
)
102
VISIT_COMPLETE_DEF
(
VertexRep
)
103
VISIT_COMPLETE_DEF
(
IndexedFaceSet
)
104
VISIT_COMPLETE_DEF
(
DrawingStyle
)
105
VISIT_COMPLETE_DEF
(
FrsMaterial
)
106
107
#ifdef WITH_CXX_GUARDEDALLOC
108
MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:SceneVisitor"
)
109
#endif
110
};
111
112
}
/* namespace Freestyle */
MEM_guardedalloc.h
Read Guarded memory(de)allocation.
VISIT_COMPLETE_DEF
#define VISIT_COMPLETE_DEF(type)
Definition:
SceneVisitor.h:32
Freestyle::DrawingStyle
Definition:
DrawingStyle.h:30
Freestyle::FrsMaterial
Definition:
FrsMaterial.h:33
Freestyle::IndexedFaceSet
Definition:
IndexedFaceSet.h:34
Freestyle::LineRep
Definition:
LineRep.h:36
Freestyle::NodeCamera
Definition:
NodeCamera.h:38
Freestyle::NodeDrawingStyle
Definition:
NodeDrawingStyle.h:32
Freestyle::NodeGroup
Definition:
NodeGroup.h:36
Freestyle::NodeLight
Definition:
NodeLight.h:34
Freestyle::NodeShape
Definition:
NodeShape.h:41
Freestyle::NodeTransform
Definition:
NodeTransform.h:35
Freestyle::NodeViewLayer
Definition:
NodeViewLayer.h:32
Freestyle::Node
Definition:
Node.h:40
Freestyle::OrientedLineRep
Definition:
OrientedLineRep.h:30
Freestyle::Rep
Definition:
Rep.h:43
Freestyle::SceneVisitor
Definition:
SceneVisitor.h:68
Freestyle::SceneVisitor::beginScene
virtual void beginScene()
Definition:
SceneVisitor.h:77
Freestyle::SceneVisitor::SceneVisitor
SceneVisitor()
Definition:
SceneVisitor.h:70
Freestyle::SceneVisitor::~SceneVisitor
virtual ~SceneVisitor()
Definition:
SceneVisitor.h:73
Freestyle::SceneVisitor::endScene
virtual void endScene()
Definition:
SceneVisitor.h:80
Freestyle::TriangleRep
Definition:
TriangleRep.h:30
Freestyle::VertexRep
Definition:
VertexRep.h:28
Freestyle
inherits from class Rep
Definition:
AppCanvas.cpp:32
Node
Definition:
node.h:98
Generated on Tue Jan 31 2023 14:37:24 for Blender by
doxygen
1.9.1