Blender
V5.0
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
11
12
#include "
../system/FreestyleConfig.h
"
13
14
#include "
MEM_guardedalloc.h
"
15
16
namespace
Freestyle
{
17
18
#define VISIT_COMPLETE_DEF(type) \
19
virtual void visit##type(type &) {} \
20
virtual void visit##type##Before(type &) {} \
21
virtual void visit##type##After(type &) {}
22
23
#define VISIT_DECL(type) virtual void visit##type(type &)
24
25
#define VISIT_COMPLETE_DECL(type) \
26
virtual void visit##type##Before(type &); \
27
virtual void visit##type(type &); \
28
virtual void visit##type##After(type &)
29
30
class
Node
;
31
class
NodeShape;
32
class
NodeGroup;
33
class
NodeLight;
34
class
NodeCamera;
35
class
NodeDrawingStyle;
36
class
NodeTransform;
37
class
NodeViewLayer;
38
39
class
Rep;
40
class
LineRep;
41
class
OrientedLineRep;
42
class
TriangleRep;
43
class
VertexRep;
44
class
IndexedFaceSet;
45
class
DrawingStyle;
46
class
FrsMaterial;
47
48
class
SceneVisitor
{
49
public
:
50
SceneVisitor
() {}
51
virtual
~SceneVisitor
() {}
52
53
virtual
void
beginScene
() {}
54
virtual
void
endScene
() {}
55
56
//
57
// visitClass methods
58
//
60
61
VISIT_COMPLETE_DEF
(
Node
)
62
VISIT_COMPLETE_DEF
(
NodeShape
)
63
VISIT_COMPLETE_DEF
(
NodeGroup
)
64
VISIT_COMPLETE_DEF
(
NodeLight
)
65
VISIT_COMPLETE_DEF
(
NodeCamera
)
66
VISIT_COMPLETE_DEF
(
NodeDrawingStyle
)
67
VISIT_COMPLETE_DEF
(
NodeTransform
)
68
VISIT_COMPLETE_DEF
(
NodeViewLayer
)
69
70
VISIT_COMPLETE_DEF
(
Rep
)
71
VISIT_COMPLETE_DEF
(
LineRep
)
72
VISIT_COMPLETE_DEF
(
OrientedLineRep
)
73
VISIT_COMPLETE_DEF
(
TriangleRep
)
74
VISIT_COMPLETE_DEF
(
VertexRep
)
75
VISIT_COMPLETE_DEF
(
IndexedFaceSet
)
76
VISIT_COMPLETE_DEF
(
DrawingStyle
)
77
VISIT_COMPLETE_DEF
(
FrsMaterial
)
78
79
MEM_CXX_CLASS_ALLOC_FUNCS(
"Freestyle:SceneVisitor"
)
80
};
81
82
}
/* 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:18
Freestyle::DrawingStyle
Definition
DrawingStyle.h:16
Freestyle::FrsMaterial
Definition
FrsMaterial.h:19
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::beginScene
virtual void beginScene()
Definition
SceneVisitor.h:53
Freestyle::SceneVisitor::SceneVisitor
SceneVisitor()
Definition
SceneVisitor.h:50
Freestyle::SceneVisitor::~SceneVisitor
virtual ~SceneVisitor()
Definition
SceneVisitor.h:51
Freestyle::SceneVisitor::endScene
virtual void endScene()
Definition
SceneVisitor.h:54
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
for Blender by
doxygen
1.16.1