Free Electron
AsOrbiter.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 #pragma once
8 
9 namespace fe
10 {
11 namespace ext
12 {
13 
14 /**
15  * Test-only.
16  *
17  * Accessor Set for objects that should orbit stuff.
18  */
19 class AsOrbiter :
20  public fe::AccessorSet,
21  public fe::Initialize<AsOrbiter>
22 {
23 public:
24  void initialize()
25  {
26  add(transform, FE_USE("transform"));
27  add(orbitAngle, FE_USE("orbitAngle"));
28  add(orbitPoint, FE_USE("orbitPoint"));
29  add(orbitRadius, FE_USE("orbitRadius"));
30  };
31 
32  /** Object transform to modify. */
34  /** Current orbit angle. */
36  /** Point to orbit about. */
38  /** Radius of orbit. */
40 };
41 
42 } /* namespace ext */
43 } /* namespace fe */
Set of accessors.
Definition: AccessorSet.h:18
kernel
Definition: namespace.dox:3
Per-class participation in the Initialized <> mechanism.
Definition: Initialized.h:117
The main data access class for the data system.
Definition: Accessor.h:128
fe::Accessor< fe::Real > orbitRadius
Radius of orbit.
Definition: AsOrbiter.h:39
fe::Accessor< fe::SpatialTransform > transform
Object transform to modify.
Definition: AsOrbiter.h:30
Test-only.
Definition: AsOrbiter.h:19
fe::Accessor< fe::SpatialVector > orbitPoint
Point to orbit about.
Definition: AsOrbiter.h:37
fe::Accessor< fe::Real > orbitAngle
Current orbit angle.
Definition: AsOrbiter.h:35