openrave.org

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions
Geometric Primitives

Classes

class  OpenRAVE::geometry::ray< T >
 A ray defined by an origin and a direction. More...
 
class  OpenRAVE::geometry::aabb< T >
 An axis aligned bounding box. More...
 
class  OpenRAVE::geometry::OrientedBox< T >
 An oriented bounding box. More...
 
class  OpenRAVE::geometry::obb< T >
 An oriented bounding box. More...
 
class  OpenRAVE::geometry::triangle< T >
 A triangle defined by 3 points. More...
 
class  OpenRAVE::geometry::frustum< T >
 A pyramid with its vertex clipped. More...
 

Functions

template<typename T >
int OpenRAVE::geometry::insideQuadrilateral (const RaveVector< T > &v, const RaveVector< T > &verts)
 Tests a point inside a 3D quadrilateral.
 
template<typename T >
int OpenRAVE::geometry::insideTriangle (const RaveVector< T > v, const triangle< T > &tri)
 Tests a point insdie a 3D triangle.
 
template<typename T >
bool OpenRAVE::geometry::RayAABBTest (const ray< T > &r, const aabb< T > &ab)
 Test collision of a ray with an axis aligned bounding box.
 
template<typename T >
bool OpenRAVE::geometry::RayOBBTest (const ray< T > &r, const obb< T > &o)
 Test collision of a ray and an oriented bounding box.
 
template<typename T >
bool OpenRAVE::geometry::IsOBBinFrustum (const obb< T > &o, const frustum< T > &fr)
 Test collision of an oriented bounding box and a frustum.
 
template<typename T , typename U >
bool OpenRAVE::geometry::IsOBBinConvexHull (const obb< T > &o, const U &vplanes)
 Tests if an oriented bounding box is inside a 3D convex hull.
 
template<typename T >
bool OpenRAVE::geometry::TriTriCollision (const RaveVector< T > &u1, const RaveVector< T > &u2, const RaveVector< T > &u3, const RaveVector< T > &v1, const RaveVector< T > &v2, const RaveVector< T > &v3, RaveVector< T > &contactpos, RaveVector< T > &contactnorm)
 Test collision if two 3D triangles.Assuming triangle vertices are declared counter-clockwise!!
 
template<typename T >
obb< T > OpenRAVE::geometry::OBBFromAABB (const aabb< T > &ab, const RaveTransformMatrix< T > &t)
 Transform an axis aligned bounding box to an oriented bounding box.
 
template<typename T >
obb< T > OpenRAVE::geometry::OBBFromAABB (const aabb< T > &ab, const RaveTransform< T > &t)
 Transform an axis aligned bounding box to an oriented bounding box.
 
template<typename T >
obb< T > OpenRAVE::geometry::TransformOBB (const RaveTransform< T > &t, const obb< T > &o)
 Transforms an oriented bounding box.
 
template<typename T >
obb< T > OpenRAVE::geometry::TransformOBB (const RaveTransformMatrix< T > &t, const obb< T > &o)
 Transforms an oriented bounding box.
 
template<typename T >
bool OpenRAVE::geometry::AABBCollision (const aabb< T > &ab1, const aabb< T > &ab2)
 projects an obb along the world axes
 

Distnace functions.

template<typename T >
OpenRAVE::geometry::DistVertexOBBSq (const RaveVector< T > &v, const obb< T > &o)
 The minimum distance form the vertex to the oriented bounding box.
 

Detailed Description

A set of geometric primitives and functions offering collision detection and other distance measurement capabilities.

Function Documentation

template<typename T >
bool OpenRAVE::geometry::AABBCollision ( const aabb< T > &  ab1,
const aabb< T > &  ab2 
)
inline

projects an obb along the world axes

Test collision between two axis-aligned bounding boxes.

Definition at line 1782 of file geometry.h.

template<typename T >
T OpenRAVE::geometry::DistVertexOBBSq ( const RaveVector< T > &  v,
const obb< T > &  o 
)

The minimum distance form the vertex to the oriented bounding box.

Definition at line 2350 of file geometry.h.

template<typename T >
int OpenRAVE::geometry::insideQuadrilateral ( const RaveVector< T > &  v,
const RaveVector< T > &  verts 
)
inline

Tests a point inside a 3D quadrilateral.

Definition at line 1192 of file geometry.h.

template<typename T >
int OpenRAVE::geometry::insideTriangle ( const RaveVector< T >  v,
const triangle< T > &  tri 
)
inline

Tests a point insdie a 3D triangle.

Definition at line 1221 of file geometry.h.

template<typename T , typename U >
bool OpenRAVE::geometry::IsOBBinConvexHull ( const obb< T > &  o,
const U &  vplanes 
)
inline

Tests if an oriented bounding box is inside a 3D convex hull.

Parameters
vplanesthe plane normals of the convex hull, normals should be facing inside.

Definition at line 1540 of file geometry.h.

template<typename T >
bool OpenRAVE::geometry::IsOBBinFrustum ( const obb< T > &  o,
const frustum< T > &  fr 
)
inline

Test collision of an oriented bounding box and a frustum.

Definition at line 1468 of file geometry.h.

template<typename T >
obb<T> OpenRAVE::geometry::OBBFromAABB ( const aabb< T > &  ab,
const RaveTransformMatrix< T > &  t 
)
inline

Transform an axis aligned bounding box to an oriented bounding box.

Parameters
[in]ttransformation used to set the coordinate system of ab.

Definition at line 1714 of file geometry.h.

template<typename T >
obb<T> OpenRAVE::geometry::OBBFromAABB ( const aabb< T > &  ab,
const RaveTransform< T > &  t 
)
inline

Transform an axis aligned bounding box to an oriented bounding box.

Parameters
[in]ttransformation used to set the coordinate system of ab.

Definition at line 1730 of file geometry.h.

template<typename T >
bool OpenRAVE::geometry::RayAABBTest ( const ray< T > &  r,
const aabb< T > &  ab 
)
inline

Test collision of a ray with an axis aligned bounding box.

Definition at line 1251 of file geometry.h.

template<typename T >
bool OpenRAVE::geometry::RayOBBTest ( const ray< T > &  r,
const obb< T > &  o 
)
inline

Test collision of a ray and an oriented bounding box.

Definition at line 1273 of file geometry.h.

template<typename T >
obb<T> OpenRAVE::geometry::TransformOBB ( const RaveTransform< T > &  t,
const obb< T > &  o 
)
inline

Transforms an oriented bounding box.

Parameters
[in]ttransformation used to set the coordinate system of o.

Definition at line 1740 of file geometry.h.

template<typename T >
obb<T> OpenRAVE::geometry::TransformOBB ( const RaveTransformMatrix< T > &  t,
const obb< T > &  o 
)
inline

Transforms an oriented bounding box.

Parameters
[in]ttransformation used to set the coordinate system of o.

Definition at line 1756 of file geometry.h.

template<typename T >
bool OpenRAVE::geometry::TriTriCollision ( const RaveVector< T > &  u1,
const RaveVector< T > &  u2,
const RaveVector< T > &  u3,
const RaveVector< T > &  v1,
const RaveVector< T > &  v2,
const RaveVector< T > &  v3,
RaveVector< T > &  contactpos,
RaveVector< T > &  contactnorm 
)
inline

Test collision if two 3D triangles.Assuming triangle vertices are declared counter-clockwise!!

Parameters
[out]contactnormif triangles collide, then filled with the normal of the second triangle
Returns
true if triangles collide.

Definition at line 1617 of file geometry.h.