38 #ifndef FCL_SHAPE_HALFSPACE_INL_H    39 #define FCL_SHAPE_HALFSPACE_INL_H    41 #include "fcl/geometry/shape/halfspace.h"    48 class Halfspace<double>;
    52 Halfspace<double> transform(
const Halfspace<double>& a, 
const Transform3<double>& tf);
    88   return std::abs(
n.dot(p) - 
d);
    95   this->
aabb_local.min_.setConstant(-std::numeric_limits<S>::max());
    96   this->
aabb_local.max_.setConstant(std::numeric_limits<S>::max());
    97   if(
n[1] == (S)0.0 && 
n[2] == (S)0.0)
   105   else if(
n[0] == (S)0.0 && 
n[2] == (S)0.0)
   113   else if(
n[0] == (S)0.0 && 
n[1] == (S)0.0)
   127 template <
typename S>
   130   return GEOM_HALFSPACE;
   134 template <
typename S>
   152 template <
typename S>
   161   Vector3<S> 
n = tf.linear() * a.
n;
   162   S 
d = a.
d + n.dot(tf.translation());
 Vector3< S_ > aabb_center
AABB center in local coordinate. 
Definition: collision_geometry.h:91
 
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
 
Half Space: this is equivalent to the Planed in ODE. The separation plane is defined as n * x = d; Po...
Definition: halfspace.h:55
 
Main namespace. 
Definition: broadphase_bruteforce-inl.h:45
 
Base class for all basic geometric shapes. 
Definition: shape_base.h:48
 
S_ aabb_radius
AABB radius. 
Definition: collision_geometry.h:94
 
S d
Planed offset. 
Definition: halfspace.h:83
 
NODE_TYPE getNodeType() const override
Get node type: a half space. 
Definition: halfspace-inl.h:128
 
void unitNormalTest()
Turn non-unit normal into unit. 
Definition: halfspace-inl.h:135
 
AABB< S_ > aabb_local
AABB in local coordinate, used for tight AABB when only translation transform. 
Definition: collision_geometry.h:97
 
void computeLocalAABB() override
Compute AABB. 
Definition: halfspace-inl.h:93
 
Vector3< S > n
Planed normal. 
Definition: halfspace.h:80