Free Electron
FENode.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __godot_FENode_h__
8 #define __godot_FENode_h__
9 
10 #define FE_USE_SAGM FALSE
11 
12 /**************************************************************************//**
13  @brief Generic Godot Node
14 
15  @ingroup godot
16 *//***************************************************************************/
17 class FE_DL_EXPORT FENode: public MeshInstance
18 {
19  GDCLASS(FENode, MeshInstance);
20 
21  public:
22 
23  FENode(void);
24  ~FENode(void);
25 
26 virtual void _notification(int p_notification);
27 
28 virtual void postinitiialize(void);
29 virtual void process(float delta);
30 
31  private:
32  void createOperator(void);
33  void updateMesh(void);
34 
35  float m_time_passed;
36  float m_time_emit;
37 
38  fe::sp<fe::SingleMaster> m_spSingleMaster;
39  fe::ext::TerminalNode m_terminalNode;
40  fe::sp<fe::ext::SurfaceAccessibleI> m_spOutputAccessible;
41 
42  Ref<MeshDataTool> m_refMeshDataTool;
43 #if FE_USE_SAGM
44  fe::sp<fe::ext::GodotDraw> m_spGodotDraw;
45 #else
46  Ref<ArrayMesh> m_refMesh;
47 #endif
48 };
49 
50 #endif /* __godot_FENode_h__ */
Terminal control of an OperatorSurfaceI.
Definition: TerminalNode.h:20
Generic Godot Node.
Definition: FENode.h:17