Free Electron
SceneNodeI.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 __scene_SceneNodeI_h__
8 #define __scene_SceneNodeI_h__
9 namespace fe
10 {
11 namespace ext
12 {
13 
14 /**************************************************************************//**
15  @brief Scene graph node
16 
17  @ingroup scene
18 *//***************************************************************************/
19 class FE_DL_EXPORT SceneNodeI: virtual public Component
20 {
21  public:
22 virtual BWORD load(String a_filename) =0;
23 virtual U32 childCount(void) const =0;
24 virtual sp<SceneNodeI> child(U32 a_index) const =0;
25 
26 virtual sp<SceneNodeI> createChild(void) =0;
27 virtual BWORD append(sp<SceneNodeI> a_spChild) =0;
28 virtual BWORD remove(sp<SceneNodeI> a_spChild) =0;
29 };
30 
31 } /* namespace ext */
32 } /* namespace fe */
33 
34 #endif /* __scene_SceneNodeI_h__ */
kernel
Definition: namespace.dox:3
Scene graph node.
Definition: SceneNodeI.h:19
Automatically reference-counted string container.
Definition: String.h:128
Base for all interfacable components.
Definition: Component.h:20
Intrusive Smart Pointer.
Definition: src/core/ptr.h:53