Main Page
Namespaces
Classes
Files
File List
File Members
src
grid_line.cpp
Go to the documentation of this file.
1
// -*- mode: C++ -*-
2
/*********************************************************************
3
* Software License Agreement (BSD License)
4
*
5
* Copyright (c) 2014, JSK Lab
6
* All rights reserved.
7
*
8
* Redistribution and use in source and binary forms, with or without
9
* modification, are permitted provided that the following conditions
10
* are met:
11
*
12
* * Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
* * Redistributions in binary form must reproduce the above
15
* copyright notice, this list of conditions and the following
16
* disclaimer in the documentation and/o2r other materials provided
17
* with the distribution.
18
* * Neither the name of the JSK Lab nor the names of its
19
* contributors may be used to endorse or promote products derived
20
* from this software without specific prior written permission.
21
*
22
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
25
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
26
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
27
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
28
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
30
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
32
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33
* POSSIBILITY OF SUCH DAMAGE.
34
*********************************************************************/
35
36
#include "
jsk_recognition_utils/grid_line.h
"
37
38
namespace
jsk_recognition_utils
39
{
40
GridLine::GridLine
(
const
pcl::PointXYZRGB a,
const
pcl::PointXYZRGB b)
41
: from(a.getVector3fMap()), to(b.getVector3fMap()), d_(from - to)
42
{
43
d_
.normalized();
44
}
45
46
GridLine::~GridLine
()
47
{
48
49
}
50
51
// bool GridLine::penetrateGrid(const Eigen::Vector3f A,
52
// const Eigen::Vector3f B,
53
// const Eigen::Vector3f C,
54
// const Eigen::Vector3f D)
55
// {
56
// Eigen::Vector3f Across = (A - from).cross(d_);
57
// Eigen::Vector3f Bcross = (B - from).cross(d_);
58
// Eigen::Vector3f Ccross = (C - from).cross(d_);
59
// Eigen::Vector3f Dcross = (D - from).cross(d_);
60
// bool ab_direction = Across.dot(Bcross) < 0;
61
// bool ac_direction = Across.dot(Ccross) < 0;
62
// bool ad_direction = Across.dot(Dcross) < 0;
63
// if ((ab_direction == ac_direction) && (ab_direction == ad_direction)) {
64
// return false;
65
// }
66
// else {
67
// return true;
68
// }
69
// }
70
71
bool
GridLine::penetrateGrid
(
const
pcl::PointXYZRGB& A,
72
const
pcl::PointXYZRGB& B,
73
const
pcl::PointXYZRGB& C,
74
const
pcl::PointXYZRGB& D)
75
{
76
return
penetrateGrid
(A.getVector3fMap(),
77
B.getVector3fMap(),
78
C.getVector3fMap(),
79
D.getVector3fMap());
80
}
81
}
grid_line.h
jsk_recognition_utils::GridLine::d_
const Eigen::Vector3f d_
Definition:
grid_line.h:98
jsk_recognition_utils::GridLine::~GridLine
virtual ~GridLine()
Definition:
grid_line.cpp:46
jsk_recognition_utils::GridLine::GridLine
GridLine(const pcl::PointXYZRGB a, const pcl::PointXYZRGB b)
Definition:
grid_line.cpp:40
jsk_recognition_utils::GridLine::penetrateGrid
virtual bool penetrateGrid(const pcl::PointXYZRGB &A, const pcl::PointXYZRGB &B, const pcl::PointXYZRGB &C, const pcl::PointXYZRGB &D)
Definition:
grid_line.cpp:71
jsk_recognition_utils
Definition:
color_utils.h:41
jsk_recognition_utils
Author(s):
autogenerated on Mon May 3 2021 03:03:03