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