Free Electron
Theater.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 __intelligence_Theater_h__
8 #define __intelligence_Theater_h__
9 namespace fe
10 {
11 namespace ext
12 {
13 
14 /**************************************************************************//**
15  @brief Theater RecordView
16 
17  @ingroup intelligence
18 *//***************************************************************************/
19 class FE_DL_EXPORT Theater: public Arena
20 {
21  public:
22  Functor<SpatialVector> cameraLoc;
23  Functor<SpatialVector> cameraAt;
24  Functor<SpatialVector> cameraUp;
25  Functor<Record> viewpoint;
26  Functor< sp<Component> > directorI;
27  Functor< sp<Component> > behaviorPalette;
28 
29  Theater(void) { setName("Theater"); }
30 virtual void addFunctors(void)
31  {
33 
34  add(cameraLoc, FE_SPEC("ai:cameraLoc",
35  "Location of camera"));
36  add(cameraAt, FE_SPEC("ai:cameraAt",
37  "Direction of camera"));
38  add(cameraUp, FE_SPEC("ai:cameraUp",
39  "Up vector of camera"));
40  add(viewpoint, FE_USE("ai:viewpoint"));
41 
42  add(directorI, FE_SPEC("ai:DirectorI",
43  "DirectorI behavior manipulator"));
44  add(behaviorPalette, FE_SPEC("ai:behaviorPal",
45  "Palette of behaviors"));
46  }
47 virtual void initializeRecord(void)
48  {
50 
51  directorI.createAndSetComponent("DirectorI");
52  behaviorPalette.createAndSetComponent("PaletteI");
53  }
54 };
55 
56 } /* namespace ext */
57 } /* namespace fe */
58 
59 #endif /* __intelligence_Theater_h__ */
kernel
Definition: namespace.dox:3
Bound accessor in a RecordView.
Definition: RecordView.h:147
Theater RecordView.
Definition: Theater.h:19
virtual void initializeRecord(void)
Called at instantiation to initialize attributes.
Definition: Theater.h:47
void createAndSetComponent(String componentName)
Create a named component for the attribute.
Definition: RecordView.h:236
virtual void initializeRecord(void)
Called at instantiation to initialize attributes.
Definition: Arena.h:50
Arena RecordView.
Definition: Arena.h:19
virtual void addFunctors(void)
Called at instantiation to add functors.
Definition: Arena.h:32
virtual void addFunctors(void)
Called at instantiation to add functors.
Definition: Theater.h:30