Code_TYMPAN  4.4.0
Industrial site acoustic simulation
BruteForceAccelerator.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) <2012-2024> <EDF-DTG> <FRANCE>
3  * This file is part of Code_TYMPAN (R).
4  * Code_TYMPAN (R) is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  * Code_TYMPAN (R) is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
11  * See the GNU General Public License for more details.
12  * You should have received a copy of the GNU General Public License along
13  * with Code_TYMPAN (R). If not, see <https://www.gnu.org/licenses/>.
14  */
15 
16 #ifndef BRUTE_FORCE_ACCELERATOR_H
17 #define BRUTE_FORCE_ACCELERATOR_H
18 
19 #include "Accelerator.h"
20 
25 {
26 
27 public:
31  BruteForceAccelerator(std::vector<Shape*>* _shapes, BBox& _globalBox) : Accelerator(_shapes, _globalBox)
32  {
33  }
36  {
37  shapes = other.shapes;
38  globalBox = other.globalBox;
40  }
43 
44  virtual bool build()
45  {
46  return true;
47  }
48 
49  virtual decimal traverse(Ray* r, std::list<Intersection>& result) const;
50 };
51 #endif
Base class for accelerators.
Definition: Accelerator.h:27
leafTreatment::treatment intersectionChoice
Intersection choice.
Definition: Accelerator.h:100
BBox globalBox
Global bounding box.
Definition: Accelerator.h:103
std::vector< Shape * > * shapes
Vector of pointers to shapes.
Definition: Accelerator.h:102
Definition of a bounding box which is aligned along the axis (BBox AABB).
Definition: BBox.h:32
Brute-force algorithm.
BruteForceAccelerator(std::vector< Shape * > *_shapes, BBox &_globalBox)
Constructor.
BruteForceAccelerator(const BruteForceAccelerator &other)
Copy constructor.
virtual ~BruteForceAccelerator()
Destructor.
BruteForceAccelerator()
Default constructor.
virtual decimal traverse(Ray *r, std::list< Intersection > &result) const
Run this accelerator.
virtual bool build()
Build this accelerator.
: Describes a ray by a pair of unsigned int. The first one gives the source number (in the range 0-40...
Definition: Ray.h:38
float decimal
Definition: mathlib.h:45