Free Electron
Observation.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_Observation_h__
8 #define __intelligence_Observation_h__
9 
10 FE_ATTRIBUTE("sim:spectrum",
11  "Named domain of exposure (visible, infrared, radar)");
12 namespace fe
13 {
14 namespace ext
15 {
16 
17 /**************************************************************************//**
18  @brief Observation RecordView
19 
20  @ingroup intelligence
21 *//***************************************************************************/
22 class FE_DL_EXPORT Observation: public RecordView
23 {
24  public:
25  Functor<Record> shape;
26  Functor<String> spectrum;
27  Functor<WeakRecord> observer;
28  Functor<WeakRecord> viewpoint;
29 
30  Observation(void) { setName("Observation"); }
31 virtual void addFunctors(void)
32  {
33  add(shape, FE_USE("bnd:shape"));
34  add(spectrum, FE_USE("sim:spectrum"));
35 
36  add(observer, FE_SPEC("node:owner",
37  "Link back to Record that owns this Record"));
38 
39  add(viewpoint, FE_SPEC("node:group",
40  "Link to a RecordGroup that is using this Record"));
41  }
42 virtual void initializeRecord(void)
43  {
44  spectrum()="visible";
45  }
46 };
47 
48 } /* namespace ext */
49 } /* namespace fe */
50 
51 #endif /* __intelligence_Observation_h__ */
kernel
Definition: namespace.dox:3
Bound accessor in a RecordView.
Definition: RecordView.h:147
Observation RecordView.
Definition: Observation.h:22
virtual void addFunctors(void)
Called at instantiation to add functors.
Definition: Observation.h:31
Bindable collection of accessor Functors.
Definition: RecordView.h:106
virtual void initializeRecord(void)
Called at instantiation to initialize attributes.
Definition: Observation.h:42