libnuklei
io
nuklei
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
26
class
BuiltinVTKObservation
:
public
Observation
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
46
BuiltinVTKObservation
();
47
BuiltinVTKObservation
(
const
kernel::r3
& k);
48
~
BuiltinVTKObservation
() {};
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
nuklei::Observation
Definition:
Observation.h:17
nuklei
Public namespace.
Definition:
Color.cpp:9
nuklei::weight_t
double weight_t
Type for particle weights.
Definition:
Definitions.h:31
LinearAlgebra.h
nuklei::BuiltinVTKObservation
Definition:
BuiltinVTKObservation.h:26
nuklei::kernel::base
Polymorphic kernel class.
Definition:
Kernel.h:45
nuklei::kernel::r3
Definition:
Kernel.h:626
Definitions.h
Observation.h
nuklei::Color
Definition:
Color.h:18
Color.h
nuklei::kernel::implementation_prototype::clone
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.