Free Electron
ProxBrute.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_ProxBrute_h__
8 #define __spatial_ProxBrute_h__
9 
10 #include "signal/signal.h"
11 #include "Proximity.h"
12 
13 namespace fe
14 {
15 namespace ext
16 {
17 
18 /** currently this brute force method is incomplete since it does not
19  honor wrap around boundaries.
20 
21  @b particle attributes
22  @li AsParticle::location
23  @li AsBounded::radius
24 
25  @b pair attributes
26  @li AsProximity::left
27  @li AsProximity::right
28  */
29 class ProxBrute : virtual public ProxI
30 {
31  public:
32  ProxBrute(void);
33 virtual ~ProxBrute(void);
34 
35  // AS ProxI
36 virtual unsigned int detect( sp<Layout> l_pair,
37  sp<RecordGroup> rg_in,
38  sp<RecordGroup> rg_out);
39 
40  private:
41  Array<BaseAccessor> m_filters;
42  AsBounded m_asBounded;
43  AsParticle m_asParticle;
44  AsProximity m_asProximity;
45 };
46 
47 } /* namespace ext */
48 } /* namespace fe */
49 
50 
51 #endif /* __spatial_ProxBrute_h__ */
52 
currently this brute force method is incomplete since it does not honor wrap around boundaries...
Definition: ProxBrute.h:29
kernel
Definition: namespace.dox:3
proximity detection interface
Definition: Proximity.h:21
particle in physical space
Definition: shapeAS.h:58
possible bounding area/volume attributes
Definition: shapeAS.h:148
Wrapper for std::vector.
Definition: Array.h:21