Free Electron
DrawAtoms.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 __world_DrawAtoms_h__
8 #define __world_DrawAtoms_h__
9 
10 #include "signal/signal.h"
11 #include "draw/draw.h"
12 #include "window/window.h"
13 #include "shape/shape.h"
14 #include "viewer/DrawView.h"
15 #include "mechanics/mechanicsAS.h"
16 namespace fe
17 {
18 namespace ext
19 {
20 
21 /** Draw atoms/particles
22 
23  @copydoc DrawAtoms_info__
24  */
25 class FE_DL_EXPORT DrawAtoms :
26  public Initialize<DrawAtoms>,
27  virtual public HandlerI,
28  virtual public Dispatch,
29  virtual public Config
30 {
31  public:
32  DrawAtoms(void);
33 virtual ~DrawAtoms(void);
34 
35  void initialize(void);
36 
37  // AS HandlerI
38 virtual void handle( Record &record);
39 
40  // AS DispatchI
41 virtual bool call(const String &a_name, std::vector<Instance> a_argv);
42 
43  typedef enum
44  {
45  e_none = 0,
46  e_point = 1,
47  e_circle = 2,
48  e_sphere = 3
49  } t_mode;
50 
51  void setMode(t_mode a_mode);
52 
53  private:
54  AsParticle m_asParticle;
55  AsLabeled m_asLabeled;
56  AsBounded m_asBounded;
57  AsSelectable m_asSelectable;
58  AsColored m_asColored;
59  DrawView m_drawview;
60  t_mode m_mode;
61 
62 };
63 
64 } /* namespace ext */
65 } /* namespace fe */
66 
67 #endif /* __world_DrawAtoms_h__ */
UI selectable.
Definition: windowAS.h:100
Convienience base class for specification and use of path accessors.
Definition: Config.h:19
kernel
Definition: namespace.dox:3
Per-class participation in the Initialized <> mechanism.
Definition: Initialized.h:117
Draw atoms/particles.
Definition: DrawAtoms.h:25
Interface to handle signals from an SignalerI.
Definition: HandlerI.h:22
particle in physical space
Definition: shapeAS.h:58
Automatically reference-counted string container.
Definition: String.h:128
possible bounding area/volume attributes
Definition: shapeAS.h:148
Reference to an instance of a Layout.
Definition: RecordSB.h:35
Helper class for draw operators (handlers)
Definition: DrawView.h:22
Labeled.
Definition: shapeAS.h:187