Free Electron
DirectorI.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_DirectorI_h__
8 #define __intelligence_DirectorI_h__
9 namespace fe
10 {
11 namespace ext
12 {
13 
14 /**************************************************************************//**
15  @brief Tells others how to behave
16 
17  @ingroup intelligence
18 
19  The director is a stateless grab-bag of utilities to manipulate the scene.
20 *//***************************************************************************/
21 class FE_DL_EXPORT DirectorI: virtual public Component
22 {
23  public:
24 virtual bool addBehavior(Record& rControlRecord,
25  String name) const =0;
26 
27 virtual void moveRecordGroup(sp<RecordGroup> spRecordGroup,
28  const SpatialVector displacement) const =0;
29 
30 virtual void adoptRecordGroup(Record arena,
31  sp<RecordGroup> spRecordGroup) const =0;
32 
33 virtual Record searchRecordGroup(sp<RecordGroup> spRG,
34  String particlename) =0;
35 };
36 
37 } /* namespace ext */
38 } /* namespace fe */
39 
40 #endif /* __intelligence_DirectorI_h__ */
kernel
Definition: namespace.dox:3
Tells others how to behave.
Definition: DirectorI.h:21
Automatically reference-counted string container.
Definition: String.h:128
Reference to an instance of a Layout.
Definition: RecordSB.h:35
Base for all interfacable components.
Definition: Component.h:20