Classes | Public Member Functions | Public Attributes
fcl::kIOS Class Reference

A class describing the kIOS collision structure, which is a set of spheres. More...

#include <hpp/fcl/BV/kIOS.h>

Collaboration diagram for fcl::kIOS:
[legend]

List of all members.

Classes

struct  kIOS_Sphere
 One sphere in kIOS.

Public Member Functions

bool overlap (const kIOS &other) const
 Check collision between two kIOS.
bool overlap (const kIOS &other, FCL_REAL &sqrDistLowerBound) const
 Check collision between two kIOS.
bool overlap (const kIOS &other, kIOS &) const
 Check collision between two kIOS and return the overlap part.
bool contain (const Vec3f &p) const
 Check whether the kIOS contains a point.
kIOSoperator+= (const Vec3f &p)
 A simple way to merge the kIOS and a point.
kIOSoperator+= (const kIOS &other)
 Merge the kIOS and another kIOS.
kIOS operator+ (const kIOS &other) const
 Return the merged kIOS of current kIOS and the other one.
const Vec3fcenter () const
 Center of the kIOS.
FCL_REAL width () const
 Width of the kIOS.
FCL_REAL height () const
 Height of the kIOS.
FCL_REAL depth () const
 Depth of the kIOS.
FCL_REAL volume () const
 Volume of the kIOS.
FCL_REAL size () const
 size of the kIOS (used in BV_Splitter to order two kIOSs)
FCL_REAL distance (const kIOS &other, Vec3f *P=NULL, Vec3f *Q=NULL) const
 The distance between two kIOS.

Public Attributes

kIOS_Sphere spheres [5]
 The (at most) five spheres for intersection.
unsigned int num_spheres
 The number of spheres, no larger than 5.
OBB obb
 @ OBB related with kIOS

Detailed Description

A class describing the kIOS collision structure, which is a set of spheres.


Member Function Documentation

const Vec3f& fcl::kIOS::center ( ) const [inline]

Center of the kIOS.

References spheres.

bool fcl::kIOS::contain ( const Vec3f p) const [inline]

Check whether the kIOS contains a point.

FCL_REAL fcl::kIOS::depth ( ) const

Depth of the kIOS.

FCL_REAL fcl::kIOS::distance ( const kIOS other,
Vec3f P = NULL,
Vec3f Q = NULL 
) const

The distance between two kIOS.

FCL_REAL fcl::kIOS::height ( ) const

Height of the kIOS.

kIOS fcl::kIOS::operator+ ( const kIOS other) const

Return the merged kIOS of current kIOS and the other one.

kIOS& fcl::kIOS::operator+= ( const Vec3f p)

A simple way to merge the kIOS and a point.

kIOS& fcl::kIOS::operator+= ( const kIOS other) [inline]

Merge the kIOS and another kIOS.

bool fcl::kIOS::overlap ( const kIOS other) const

Check collision between two kIOS.

Referenced by overlap().

bool fcl::kIOS::overlap ( const kIOS other,
FCL_REAL sqrDistLowerBound 
) const

Check collision between two kIOS.

bool fcl::kIOS::overlap ( const kIOS other,
kIOS  
) const [inline]

Check collision between two kIOS and return the overlap part.

For kIOS, we return nothing, as the overlappart of two kIOS usually is not an kIOS

Todo:
Not efficient. It first checks the sphere collisions and then use OBB for further culling.

References overlap().

FCL_REAL fcl::kIOS::size ( ) const

size of the kIOS (used in BV_Splitter to order two kIOSs)

FCL_REAL fcl::kIOS::volume ( ) const

Volume of the kIOS.

FCL_REAL fcl::kIOS::width ( ) const

Width of the kIOS.


Member Data Documentation

unsigned int fcl::kIOS::num_spheres

The number of spheres, no larger than 5.

@ OBB related with kIOS

kIOS_Sphere fcl::kIOS::spheres[5]

The (at most) five spheres for intersection.

Referenced by center().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines