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 Types | |
| using | S = S_ | 
| Public Member Functions | |
| const Vector3< S > & | center () const | 
| Center of the kIOS.  More... | |
| bool | contain (const Vector3< S > &p) const | 
| Check whether the kIOS contains a point.  More... | |
| S | depth () const | 
| Depth of the kIOS.  More... | |
| S | distance (const kIOS< S > &other, Vector3< S > *P=nullptr, Vector3< S > *Q=nullptr) const | 
| The distance between two kIOS.  More... | |
| S | height () const | 
| Height of the kIOS.  More... | |
| kIOS< S > | operator+ (const kIOS< S > &other) const | 
| Return the merged kIOS of current kIOS and the other one.  More... | |
| kIOS< S > & | operator+= (const kIOS< S > &other) | 
| Merge the kIOS and another kIOS.  More... | |
| kIOS< S > & | operator+= (const Vector3< S > &p) | 
| A simple way to merge the kIOS and a point.  More... | |
| bool | overlap (const kIOS< S > &other) const | 
| Check collision between two kIOS.  More... | |
| bool | overlap (const kIOS< S > &other, kIOS< S > &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.  More... | |
| S | size () const | 
| size of the kIOS (used in BV_Splitter to order two kIOSs)  More... | |
| S | volume () const | 
| Volume of the kIOS.  More... | |
| S | width () const | 
| Width of the kIOS.  More... | |
| Static Public Member Functions | |
| static S | cosA () | 
| static constexpr S | invSinA () | 
| static constexpr S | ratio () | 
| Public Attributes | |
| unsigned int | num_spheres | 
| The number of spheres, no larger than 5.  More... | |
| OBB< S > | obb | 
| OBB related with kIOS.  More... | |
| kIOS_Sphere | spheres [5] | 
| The (at most) five spheres for intersection.  More... | |
| Static Private Member Functions | |
| static kIOS_Sphere | encloseSphere (const kIOS_Sphere &s0, const kIOS_Sphere &s1) | 
| generate one sphere enclosing two spheres  More... | |
A class describing the kIOS collision structure, which is a set of spheres.
Center of the kIOS.
Definition at line 166 of file kIOS-inl.h.
Check whether the kIOS contains a point.
Definition at line 108 of file kIOS-inl.h.
Depth of the kIOS.
Definition at line 187 of file kIOS-inl.h.
| S fcl::kIOS< S >::distance | ( | const kIOS< S > & | other, | 
| Vector3< S > * | P = nullptr, | ||
| Vector3< S > * | Q = nullptr | ||
| ) | const | 
The distance between two kIOS.
Definition at line 208 of file kIOS-inl.h.
| 
 | staticprivate | 
generate one sphere enclosing two spheres
The sphere with the larger radius encloses the other
spheres partially overlapping or disjoint
Definition at line 52 of file kIOS-inl.h.
Height of the kIOS.
Definition at line 180 of file kIOS-inl.h.
Return the merged kIOS of current kIOS and the other one.
Definition at line 148 of file kIOS-inl.h.
Merge the kIOS and another kIOS.
Definition at line 140 of file kIOS-inl.h.
A simple way to merge the kIOS and a point.
Definition at line 122 of file kIOS-inl.h.
Check collision between two kIOS.
Definition at line 80 of file kIOS-inl.h.
size of the kIOS (used in BV_Splitter to order two kIOSs)
Definition at line 201 of file kIOS-inl.h.
Volume of the kIOS.
Definition at line 194 of file kIOS-inl.h.
Width of the kIOS.
Definition at line 173 of file kIOS-inl.h.
| unsigned int fcl::kIOS< S_ >::num_spheres | 
| kIOS_Sphere fcl::kIOS< S_ >::spheres[5] |