BuiltinVTKObservation.h
Go to the documentation of this file.
1 // (C) Copyright Renaud Detry 2007-2015.
2 // Distributed under the GNU General Public License and under the
3 // BSD 3-Clause License (See accompanying file LICENSE.txt).
4 
5 /** @file */
6 
7 #ifndef NUKLEI_BUILTINVTKOBSERVATION_H
8 #define NUKLEI_BUILTINVTKOBSERVATION_H
9 
10 
11 #include <vector>
12 #include <string>
13 #include <utility>
14 #include <stdexcept>
15 #include <iostream>
16 #include <boost/shared_ptr.hpp>
17 
18 #include <nuklei/Definitions.h>
19 #include <nuklei/Color.h>
20 #include <nuklei/LinearAlgebra.h>
21 #include <nuklei/Observation.h>
22 
23 
24 namespace nuklei {
25 
27  {
28  public:
29 
30  Type type() const { return BUILTINVTK; }
31 
32  static const double TOL;
33 
34  NUKLEI_UNIQUE_PTR<kernel::base> getKernel() const
35  {
36  return k_.clone();
37  }
38 
39  void setKernel(const kernel::base& k)
40  {
41  NUKLEI_TRACE_BEGIN();
42  k_ = dynamic_cast<const kernel::r3&>(k);
43  NUKLEI_TRACE_END();
44  }
45 
49 
50  void setLoc(Vector3 loc);
51  Vector3 getLoc() const;
52 
53  void setWeight(weight_t weight);
54  weight_t getWeight() const;
55 
56  void setColor(const Color& color);
57  const Color& getColor() const;
58 
59  private:
60  kernel::r3 k_;
61  };
62 
63 }
64 
65 #endif
Definition: Observation.h:17
Public namespace.
Definition: Color.cpp:9
double weight_t
Type for particle weights.
Definition: Definitions.h:31
Polymorphic kernel class.
Definition: Kernel.h:45
Definition: Kernel.h:626
Definition: Color.h:18
base::ptr clone() const
Clone the kernel.
Definition: Kernel.h:280
© Copyright 2007-2013 Renaud Detry.
Distributed under the terms of the GNU General Public License (GPL).
(See accompanying file LICENSE.txt or copy at http://www.gnu.org/copyleft/gpl.html.)
Revised Sun Sep 13 2020 19:10:06.