Free Electron
aiAS.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 __ai_aiAS_h__
8 #define __ai_aiAS_h__
9 
10 #include "spatial/spatial.h"
11 
12 namespace fe
13 {
14 
15 class AsNav
16  : public AsPoint, public Initialize<AsNav>
17 {
18  public:
19  void initialize(void)
20  {
21  add(field, FE_SPEC("ai:field", "navigation field"));
22  add(calculated, FE_SPEC("_ai:target", "calculated target"));
23  }
24  /// navigation field
25  Accessor< sp<Component> > field;
26  /// calculated target (internal)
27  Accessor<SpatialVector> calculated;
28 };
29 
30 class AsNavDebug
31  : public AccessorSet, public Initialize<AsNavDebug>
32 {
33  public:
34  void initialize(void)
35  {
36  add(potential, FE_SPEC("ai:potential", "potential field"));
37  }
38  /// potential field
39  Accessor<sp<Component> > potential;
40 };
41 
42 class AsNavable
43  : public AccessorSet, public Initialize<AsNavable>
44 {
45  public:
46  void initialize(void)
47  {
48  add(nav, FE_SPEC("ai:nav", "nav record"));
49  }
50  /// nav record
51  Accessor<Record> nav;
52 };
53 
54 } /* namespace */
55 
56 #endif /* __ai_aiAS_h__ */
57 
kernel
Definition: namespace.dox:3