FCL
0.6.0
Flexible Collision Library
Main Page
Related Pages
Namespaces
Classes
Files
File List
plane.h
1
/*
2
* Software License Agreement (BSD License)
3
*
4
* Copyright (c) 2011-2014, Willow Garage, Inc.
5
* Copyright (c) 2014-2016, Open Source Robotics Foundation
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/or other materials provided
17
* with the distribution.
18
* * Neither the name of Open Source Robotics Foundation 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
38
#ifndef FCL_SHAPE_PLANE_H
39
#define FCL_SHAPE_PLANE_H
40
41
#include "fcl/geometry/shape/shape_base.h"
42
43
namespace
fcl
44
{
45
47
template
<
typename
S_>
48
class
Plane
:
public
ShapeBase
<S_>
49
{
50
public
:
51
52
using
S = S_;
53
55
Plane
(
const
Vector3<S>&
n
, S
d
);
56
58
Plane
(S a, S b, S c, S d);
59
60
Plane
();
61
62
S signedDistance(
const
Vector3<S>& p)
const
;
63
64
S distance(
const
Vector3<S>& p)
const
;
65
67
void
computeLocalAABB
()
override
;
68
70
NODE_TYPE
getNodeType
()
const override
;
71
73
Vector3<S>
n
;
74
76
S
d
;
77
78
protected
:
79
81
void
unitNormalTest
();
82
};
83
84
using
Planef
=
Plane<float>
;
85
using
Planed
=
Plane<double>
;
86
87
template
<
typename
S>
88
Plane<S>
transform(
const
Plane<S>
& a,
const
Transform3<S>& tf);
89
90
}
// namespace fcl
91
92
#include "fcl/geometry/shape/plane-inl.h"
93
94
#endif
fcl::Plane::unitNormalTest
void unitNormalTest()
Turn non-unit normal into unit.
Definition:
plane-inl.h:135
fcl::NODE_TYPE
NODE_TYPE
traversal node type: bounding volume (AABB, OBB, RSS, kIOS, OBBRSS, KDOP16, KDOP18, kDOP24), basic shape (box, sphere, ellipsoid, capsule, cone, cylinder, convex, plane, halfspace, triangle), and octree
Definition:
collision_geometry.h:54
fcl
Main namespace.
Definition:
broadphase_bruteforce-inl.h:45
fcl::ShapeBase
Base class for all basic geometric shapes.
Definition:
shape_base.h:48
fcl::Plane::getNodeType
NODE_TYPE getNodeType() const override
Get node type: a plane.
Definition:
plane-inl.h:128
fcl::Plane
Infinite plane.
Definition:
plane.h:48
fcl::Plane::d
S d
Plane offset.
Definition:
plane.h:76
fcl::Plane::computeLocalAABB
void computeLocalAABB() override
Compute AABB.
Definition:
plane-inl.h:93
fcl::Plane::n
Vector3< S > n
Plane normal.
Definition:
plane.h:73
include
fcl
geometry
shape
plane.h
Generated by
1.8.11