Free Electron
SketchI.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 __vegetation_SketchI_h__
8 #define __vegetation_SketchI_h__
9 
10 namespace fe
11 {
12 namespace ext
13 {
14 
15 /**************************************************************************//**
16  @brief Generic drawable object
17 
18  @ingroup vegetation
19 
20  This can be useful for holding internal cached state.
21 *//***************************************************************************/
22 class FE_DL_EXPORT SketchI:
23  virtual public Component,
24  public CastableAs<SketchI>
25 {
26  public:
27 
28 #if FE_VEG_VIEWER
29 virtual void bind(sp<CameraControllerI> spCameraControllerI) =0;
30 #endif
31 virtual void bind(sp<Component> spComponent) =0;
32 virtual void draw(sp<DrawI> spDrawI) =0;
33 
34 virtual SpatialTransform transform(void) const =0;
35 virtual void setTransform(SpatialTransform a_transform) =0;
36 
37 virtual void setPaused(BWORD paused) =0;
38 virtual BWORD paused(void) const =0;
39 
40 virtual String stickForm(void) =0;
41 virtual void setStickForm(String a_stickForm) =0;
42 
43 virtual String leafForm(void) =0;
44 virtual void setLeafForm(String a_leafForm) =0;
45 };
46 
47 } /* namespace ext */
48 } /* namespace fe */
49 
50 #endif /* __vegetation_SketchI_h__ */
kernel
Definition: namespace.dox:3
Automatically reference-counted string container.
Definition: String.h:128
Base for all interfacable components.
Definition: Component.h:20
Generic drawable object.
Definition: SketchI.h:22
Per-class participation non-RTTI fallback dynamic casting mechanism.
Definition: Castable.h:192