Free Electron
BruteCollide.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 __element_BruteCollide_h__
8 #define __element_BruteCollide_h__
9 namespace fe
10 {
11 namespace ext
12 {
13 
14 /**************************************************************************//**
15  @brief n-squared collision detection and resolution
16 
17  @ingroup element
18 *//***************************************************************************/
19 class FE_DL_EXPORT BruteCollide: virtual public HandlerI
20 {
21  public:
22  BruteCollide(void) {}
23 
24  //* as HandlerI
25 virtual void handle(Record &record);
26 
27  private:
28  Accessor< sp<RecordGroup> > m_aRecordGroup;
29 
30  Arena m_arenaRV;
31  RecordArrayView<Explosion> m_explosionRAV;
32  RecordArrayView<Particle> m_particleRAV;
33  RecordArrayView<Particle> m_particleRAV2;
34 };
35 
36 } /* namespace ext */
37 } /* namespace fe */
38 
39 #endif /* __element_BruteCollide_h__ */
kernel
Definition: namespace.dox:3
The main data access class for the data system.
Definition: Accessor.h:128
RecordView Iteration over a RecordArray.
Definition: RecordArrayView.h:37
Interface to handle signals from an SignalerI.
Definition: HandlerI.h:22
n-squared collision detection and resolution
Definition: BruteCollide.h:19
Reference to an instance of a Layout.
Definition: RecordSB.h:35
Arena RecordView.
Definition: Arena.h:19