OPAL (Object Oriented Parallel Accelerator Library)
2021.1.99
OPAL
src
src
Classic
Fields
Interpolation
TriLinearInterpolator.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2012, Chris Rogers
3
* All rights reserved.
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are met:
6
* 1. Redistributions of source code must retain the above copyright notice,
7
* this list of conditions and the following disclaimer.
8
* 2. Redistributions in binary form must reproduce the above copyright notice,
9
* this list of conditions and the following disclaimer in the documentation
10
* and/or other materials provided with the distribution.
11
* 3. Neither the name of STFC nor the names of its contributors may be used to
12
* endorse or promote products derived from this software without specific
13
* prior written permission.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
19
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25
* POSSIBILITY OF SUCH DAMAGE.
26
*/
27
28
#ifndef _SRC_LEGACY_INTERFACE_INTERPOLATION_TRILINEARINTERPOLATOR_HH_
29
#define _SRC_LEGACY_INTERFACE_INTERPOLATION_TRILINEARINTERPOLATOR_HH_
30
31
#include "
Fields/Interpolation/Interpolator3dGridTo1d.h
"
32
namespace
interpolation
{
33
38
class
TriLinearInterpolator
:
public
Interpolator3dGridTo1d
{
39
public
:
49
inline
TriLinearInterpolator
(
ThreeDGrid
*grid,
double
***F);
50
55
TriLinearInterpolator
(
const
TriLinearInterpolator
& tli);
56
59
inline
~TriLinearInterpolator
();
60
71
void
function
(
const
double
Point
[3],
double
Value
[1])
const
;
72
74
inline
virtual
void
function
75
(
const
Mesh::Iterator
& point,
double
* value)
const
{
76
VectorMap::function
(point, value);
77
}
78
80
inline
TriLinearInterpolator
*
clone
()
const
;
81
};
82
83
TriLinearInterpolator::TriLinearInterpolator
(
ThreeDGrid
*grid,
double
***F)
84
:
Interpolator3dGridTo1d
(grid, F) {
85
}
86
87
TriLinearInterpolator::~TriLinearInterpolator
() {
88
}
89
90
TriLinearInterpolator
*
TriLinearInterpolator::clone
()
const
{
91
return
new
TriLinearInterpolator
(*
this
);
92
}
93
}
94
#endif
95
96
Interpolator3dGridTo1d.h
interpolation
Definition:
DumpEMFields.h:29
Value
Definition:
Value.h:24
Point
Definition:
Component.h:37
interpolation::Interpolator3dGridTo1d
Definition:
Interpolator3dGridTo1d.h:44
interpolation::Mesh::Iterator
Definition:
Mesh.h:169
interpolation::ThreeDGrid
Definition:
ThreeDGrid.h:57
interpolation::TriLinearInterpolator
Definition:
TriLinearInterpolator.h:38
interpolation::TriLinearInterpolator::~TriLinearInterpolator
~TriLinearInterpolator()
Definition:
TriLinearInterpolator.h:87
interpolation::TriLinearInterpolator::clone
TriLinearInterpolator * clone() const
Definition:
TriLinearInterpolator.h:90
interpolation::TriLinearInterpolator::TriLinearInterpolator
TriLinearInterpolator(ThreeDGrid *grid, double ***F)
Definition:
TriLinearInterpolator.h:83
interpolation::VectorMap::function
virtual void function(const double *point, double *value) const =0
Generated on Wed Aug 25 2021 16:41:03 for OPAL (Object Oriented Parallel Accelerator Library) by
1.9.1