Free Electron
GridVectorField.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 __spatial_GridVectorField_h__
8 #define __spatial_GridVectorField_h__
9 
10 #include "fe/plugin.h"
11 #include "spatial/VectorFieldI.h"
12 
13 namespace fe
14 {
15 namespace ext
16 {
17 
18 class FE_DL_EXPORT GridVectorField :
19  virtual public VectorFieldI,
20  public Initialize<GridVectorField>
21 {
22  public:
23 typedef Continuum<SpatialVector> t_continuum;
24 
25  GridVectorField(void);
26 virtual ~GridVectorField(void);
27 
28  void initialize(void);
29 
30  // AS VectorFieldI
31 virtual bool sample( SpatialVector &a_result,
32  const SpatialVector &a_location);
33 
34  void create( const sp<SpaceI> &a_space,
35  const Vector3i &a_count);
36 
37  t_continuum &continuum(void);
38 
39 
40 
41  private:
42  t_continuum m_continuum;
43 };
44 
45 } /* namespace ext */
46 } /* namespace fe */
47 
48 #endif /* __spatial_GridVectorField_h__ */
49 
kernel
Definition: namespace.dox:3