cheshirekow
v0.1.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
rect_dist.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2012 Josh Bialkowski (jbialk@mit.edu)
3
*
4
* This file is part of mpblocks.
5
*
6
* mpblocks is free software: you can redistribute it and/or modify
7
* it under the terms of the GNU General Public License as published by
8
* the Free Software Foundation, either version 3 of the License, or
9
* (at your option) any later version.
10
*
11
* mpblocks is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with mpblocks. If not, see <http://www.gnu.org/licenses/>.
18
*/
27
#ifndef MPBLOCKS_CUDA_NN_RECT_DIST_H_
28
#define MPBLOCKS_CUDA_NN_RECT_DIST_H_
29
30
31
#include <
mpblocks/cudaNN/QueryPoint.h
>
32
33
namespace
mpblocks {
34
namespace
cudaNN {
35
36
37
38
39
template
<
bool
Pseudo,
typename
Scalar,
unsigned
int
NDim >
40
struct
so3_distance
41
{
42
Scalar*
g_out
;
43
Scalar
h_out
[16];
44
45
so3_distance
();
46
~so3_distance
();
47
48
void
operator()
(
RectangleQuery<Scalar,NDim>
query,
49
Scalar*
h_out
);
50
51
template
<
class
inserter >
52
void
operator()
(
const
RectangleQuery<Scalar,NDim>
& query, inserter&
insert
)
53
{
54
(*this)(query,
h_out
);
55
std::copy
(
h_out
,
h_out
+16,insert);
56
}
57
};
58
59
template
<
bool
Pseudo,
typename
Scalar,
unsigned
int
NDim >
60
struct
euclidean_distance
61
{
62
Scalar*
g_out
;
63
Scalar
h_out
[16];
64
65
euclidean_distance
();
66
~euclidean_distance
();
67
68
void
operator()
(
RectangleQuery<Scalar,NDim>
query,
69
Scalar*
h_out
);
70
71
template
<
class
inserter >
72
void
operator()
(
const
RectangleQuery<Scalar,NDim>
& query, inserter&
insert
)
73
{
74
(*this)(query,
h_out
);
75
std::copy
(
h_out
,
h_out
+16,insert);
76
}
77
};
78
79
80
81
}
// cudaNN
82
}
// mpblocks
83
84
85
#endif // RECT_DIST_H_
mpblocks::cudaNN::so3_distance::so3_distance
so3_distance()
Definition:
rect_dist.cu.hpp:39
mpblocks::cudaNN::so3_distance::operator()
void operator()(const RectangleQuery< Scalar, NDim > &query, inserter &insert)
Definition:
rect_dist.h:52
mpblocks::cudaNN::so3_distance::~so3_distance
~so3_distance()
Definition:
rect_dist.cu.hpp:45
mpblocks::cudaNN::so3_distance::operator()
void operator()(RectangleQuery< Scalar, NDim > query, Scalar *h_out)
Definition:
rect_dist.cu.hpp:51
mpblocks::cudaNN::euclidean_distance::euclidean_distance
euclidean_distance()
Definition:
rect_dist.cu.hpp:66
mpblocks::cudaNN::euclidean_distance::g_out
Scalar * g_out
Definition:
rect_dist.h:62
mpblocks::cudaNN::RectangleQuery
Definition:
QueryPoint.h:40
mpblocks::cudaNN::euclidean_distance::operator()
void operator()(const RectangleQuery< Scalar, NDim > &query, inserter &insert)
Definition:
rect_dist.h:72
mpblocks::cudaNN::so3_distance::h_out
Scalar h_out[16]
Definition:
rect_dist.h:43
mpblocks::cudaNN::euclidean_distance::~euclidean_distance
~euclidean_distance()
Definition:
rect_dist.cu.hpp:72
QueryPoint.h
fontconfig::str::copy
Char8_t * copy(const Char8_t *s)
mpblocks::cudaNN::euclidean_distance::h_out
Scalar h_out[16]
Definition:
rect_dist.h:63
mpblocks::cudaNN::euclidean_distance
Definition:
rect_dist.h:60
mpblocks::cudaNN::so3_distance
Definition:
rect_dist.h:40
mpblocks::cudaNN::euclidean_distance::operator()
void operator()(RectangleQuery< Scalar, NDim > query, Scalar *h_out)
Definition:
rect_dist.cu.hpp:78
mpblocks::kd2::insert
void insert(NodeRef node, PointRef point, const IsLeafFn &isLeaf, const LeafInsertFn &leafInsert, const IdxFn &idx, const ValueFn &value, const ChildFn &child, const PointGetFn &pointGet)
Definition:
insert.h:46
mpblocks::cudaNN::so3_distance::g_out
Scalar * g_out
Definition:
rect_dist.h:42
include
mpblocks
cudaNN
rect_dist.h
Generated on Sun Mar 22 2015 22:47:44 for cheshirekow by
1.8.6