Free Electron
DrawScalarField.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 __misc_DrawScalarField_h__
8 #define __misc_DrawScalarField_h__
9 
10 #include "signal/signal.h"
11 #include "draw/draw.h"
12 #include "window/window.h"
13 #include "shape/shape.h"
14 #include "spatial/spatial.h"
15 #include "viewer/DrawView.h"
16 #include "field/fieldAS.h"
17 namespace fe
18 {
19 namespace ext
20 {
21 
22 /** Draw a scalar field
23 
24  @copydoc DrawScalarField_info
25  */
26 class FE_DL_EXPORT DrawScalarField :
27  public Initialize<DrawScalarField>,
28  public Config,
29  virtual public HandlerI
30 {
31  public:
32  DrawScalarField(void);
33 virtual ~DrawScalarField(void);
34 
35  void initialize(void);
36 
37  // AS HandlerI
38 virtual void handleBind(sp<SignalerI> spSignalerI,
39  sp<Layout> l_sig);
40 virtual void handle(Record &r_sig);
41 
42  private:
43  void draw(sp<DrawI> spDraw, sp<ScalarFieldI> spField,
44  sp<SpaceI> spSpace, Real a_zdepth, Real a_alpha);
45  void clean(void);
46  void resize(int a_size);
47 
48  DrawView m_drawview;
49  AsColor m_asColor;
50  sp<Layout> m_l_sample;
51  sp<Layout> m_l_draw;
52  Vector3f m_cellCount;
53  AsScalarField m_asScalarField;
54 
55  Color m_minSat;
56  Color m_maxSat;
57  Color m_minColor;
58  Color m_maxColor;
59 
60  sp<DrawMode> m_spDrawmode;
61 
62  int m_bufferCnt;
63  SpatialVector *m_va;
64  SpatialVector *m_na;
65  Color *m_ca;
66 
67 };
68 
69 } /* namespace ext */
70 } /* namespace fe */
71 
72 
73 #endif /* __misc_DrawScalarField_h__ */
74 
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
Special vector for color (RGBA)
Definition: Color.h:21
Interface to handle signals from an SignalerI.
Definition: HandlerI.h:22
Reference to an instance of a Layout.
Definition: RecordSB.h:35
color information
Definition: windowAS.h:83
Draw a scalar field.
Definition: DrawScalarField.h:26
Helper class for draw operators (handlers)
Definition: DrawView.h:22