Blender  V3.3
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:
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 
83 
92 
93 #ifdef WITH_CXX_GUARDEDALLOC
94  MEM_CXX_CLASS_ALLOC_FUNCS("Freestyle:SceneVisitor")
95 #endif
96 };
97 
98 } /* namespace Freestyle */
Read Guarded memory(de)allocation.
#define VISIT_COMPLETE_DEF(type)
Definition: SceneVisitor.h:18
virtual void beginScene()
Definition: SceneVisitor.h:63
virtual void endScene()
Definition: SceneVisitor.h:66
inherits from class Rep
Definition: AppCanvas.cpp:18