fcl::kIOS Class Reference

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

`#include <kIOS.h>`

## Classes | |

struct | kIOS_Sphere |

One sphere in kIOS. More... | |

## Public Member Functions | |

const Vec3f & | center () const |

Center of the kIOS. | |

bool | contain (const Vec3f &p) const |

Check whether the kIOS contains a point. | |

FCL_REAL | depth () const |

Depth of the kIOS. | |

FCL_REAL | distance (const kIOS &other, Vec3f *P=NULL, Vec3f *Q=NULL) const |

The distance between two kIOS. | |

FCL_REAL | height () const |

Height of the kIOS. | |

kIOS | operator+ (const kIOS &other) const |

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

kIOS & | operator+= (const Vec3f &p) |

A simple way to merge the kIOS and a point. | |

kIOS & | operator+= (const kIOS &other) |

Merge the kIOS and another kIOS. | |

bool | overlap (const kIOS &other) const |

Check collision between two kIOS. | |

bool | overlap (const kIOS &other, kIOS &overlap_part) const |

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. | |

FCL_REAL | size () const |

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

FCL_REAL | volume () const |

Volume of the kIOS. | |

FCL_REAL | width () const |

Width of the kIOS. | |

## Public Attributes | |

unsigned int | num_spheres |

The number of spheres, no larger than 5. | |

OBB | obb |

@ OBB related with kIOS | |

kIOS_Sphere | spheres [5] |

The (at most) five spheres for intersection. | |

## Static Private Member Functions | |

static kIOS_Sphere | encloseSphere (const kIOS_Sphere &s0, const kIOS_Sphere &s1) |

generate one sphere enclosing two spheres |

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

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

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

FCL_REAL fcl::kIOS::depth | ( | ) | const |

FCL_REAL fcl::kIOS::distance | ( | const kIOS & | other, |

Vec3f * | P = `NULL` , |
||

Vec3f * | Q = `NULL` |
||

) | const |

static kIOS_Sphere fcl::kIOS::encloseSphere | ( | const kIOS_Sphere & | s0, |

const kIOS_Sphere & | s1 |
||

) | ` [inline, static, private]` |

FCL_REAL fcl::kIOS::height | ( | ) | const |

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

bool fcl::kIOS::overlap | ( | const kIOS & | other, |

kIOS & | overlap_part |
||

) | const` [inline]` |

FCL_REAL fcl::kIOS::size | ( | ) | const |

FCL_REAL fcl::kIOS::volume | ( | ) | const |

FCL_REAL fcl::kIOS::width | ( | ) | const |

unsigned int fcl::kIOS::num_spheres |

The documentation for this class was generated from the following files: