Blender
V3.3
source
blender
freestyle
intern
scene_graph
SceneVisitor.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: GPL-2.0-or-later */
2
3
#pragma once
4
10
#include "../system/FreestyleConfig.h"
11
12
#ifdef WITH_CXX_GUARDEDALLOC
13
# include "
MEM_guardedalloc.h
"
14
#endif
15
16
namespace
Freestyle
{
17
18
#define VISIT_COMPLETE_DEF(type) \
19
virtual void visit##type(type &) \
20
{ \
21
} \
22
virtual void visit##type##Before(type &) \
23
{ \
24
} \
25
virtual void visit##type##After(type &) \
26
{ \
27
}
28
29
#define VISIT_DECL(type) virtual void visit##type(type &)
30
31
#define VISIT_COMPLETE_DECL(type) \
32
virtual void visit##type##Before(type &); \
33
virtual void visit##type(type &); \
34
virtual void visit##type##After(type &)
35
36
class
Node
;
37
class
NodeShape;
38
class
NodeGroup;
39
class
NodeLight;
40
class
NodeCamera;
41
class
NodeDrawingStyle;
42
class
NodeTransform;
43
class
NodeViewLayer;
44
45
class
Rep;
46
class
LineRep;
47
class
OrientedLineRep;
48
class
TriangleRep;
49
class
VertexRep;
50
class
IndexedFaceSet;
51
class
DrawingStyle;
52
class
FrsMaterial;
53
54
class
SceneVisitor
{
55
public
:
56
SceneVisitor
()
57
{
58
}
59
virtual
~SceneVisitor
()
60
{
61
}
62
63
virtual
void
beginScene
()
64
{
65
}
66
virtual
void
endScene
()
67
{
68
}
69
70
//
71
// visitClass methods
72
//
74
75
VISIT_COMPLETE_DEF
(
Node
)
76
VISIT_COMPLETE_DEF
(
NodeShape
)
77
VISIT_COMPLETE_DEF
(
NodeGroup
)
78
VISIT_COMPLETE_DEF
(
NodeLight
)
79
VISIT_COMPLETE_DEF
(
NodeCamera
)
80
VISIT_COMPLETE_DEF
(
NodeDrawingStyle
)
81
VISIT_COMPLETE_DEF
(
NodeTransform
)
82
VISIT_COMPLETE_DEF
(
NodeViewLayer
)
83
84
VISIT_COMPLETE_DEF
(
Rep
)
85
VISIT_COMPLETE_DEF
(
LineRep
)
86
VISIT_COMPLETE_DEF
(
OrientedLineRep
)
87
VISIT_COMPLETE_DEF
(
TriangleRep
)
88
VISIT_COMPLETE_DEF
(
VertexRep
)
89
VISIT_COMPLETE_DEF
(
IndexedFaceSet
)
90
VISIT_COMPLETE_DEF
(
DrawingStyle
)
91
VISIT_COMPLETE_DEF
(
FrsMaterial
)
92
93
#ifdef WITH_CXX_GUARDEDALLOC
94
MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:SceneVisitor"
)
95
#endif
96
};
97
98
}
/* namespace Freestyle */
MEM_guardedalloc.h
Read Guarded memory(de)allocation.
VISIT_COMPLETE_DEF
#define VISIT_COMPLETE_DEF(type)
Definition:
SceneVisitor.h:18
Freestyle::DrawingStyle
Definition:
DrawingStyle.h:16
Freestyle::FrsMaterial
Definition:
FrsMaterial.h:19
Freestyle::IndexedFaceSet
Definition:
IndexedFaceSet.h:20
Freestyle::LineRep
Definition:
LineRep.h:22
Freestyle::NodeCamera
Definition:
NodeCamera.h:24
Freestyle::NodeDrawingStyle
Definition:
NodeDrawingStyle.h:18
Freestyle::NodeGroup
Definition:
NodeGroup.h:22
Freestyle::NodeLight
Definition:
NodeLight.h:20
Freestyle::NodeShape
Definition:
NodeShape.h:27
Freestyle::NodeTransform
Definition:
NodeTransform.h:21
Freestyle::NodeViewLayer
Definition:
NodeViewLayer.h:18
Freestyle::Node
Definition:
Node.h:26
Freestyle::OrientedLineRep
Definition:
OrientedLineRep.h:16
Freestyle::Rep
Definition:
Rep.h:29
Freestyle::SceneVisitor
Definition:
SceneVisitor.h:54
Freestyle::SceneVisitor::beginScene
virtual void beginScene()
Definition:
SceneVisitor.h:63
Freestyle::SceneVisitor::SceneVisitor
SceneVisitor()
Definition:
SceneVisitor.h:56
Freestyle::SceneVisitor::~SceneVisitor
virtual ~SceneVisitor()
Definition:
SceneVisitor.h:59
Freestyle::SceneVisitor::endScene
virtual void endScene()
Definition:
SceneVisitor.h:66
Freestyle::TriangleRep
Definition:
TriangleRep.h:16
Freestyle::VertexRep
Definition:
VertexRep.h:14
Freestyle
inherits from class Rep
Definition:
AppCanvas.cpp:18
Node
Definition:
graph/node.h:89
Generated on Tue Oct 22 2024 13:18:25 for Blender by
doxygen
1.9.1