Klamp't
0.8.1
|
A wheel contact feature. More...
#include <ContactFeature.h>
Public Member Functions | |
virtual Type | GetType () const |
Vector3 | GetCenter () const |
Returns the center of the wheel. | |
Real | GetRadius () const |
Returns the radius of the wheel. | |
void | GetHold (const Vector3 &x, const Vector3 &n, Real theta, Hold &) const |
Makes the hold that matches the center of the wheel to x. More... | |
void | GetFixedHold (const Vector3 &x, const Vector3 &n, Real theta, Real roll, Hold &) const |
Makes the fixed-orientation hold that matches the center of the wheel to x, and making an rolling angle of roll. More... | |
Public Attributes | |
Line3D | axis |
Vector3 | p |
Real | width |
Public Attributes inherited from ContactFeatureBase | |
int | link |
string | name |
Real | weight |
weight for picking this feature | |
Additional Inherited Members | |
Public Types inherited from ContactFeatureBase | |
enum | Type { Point, Edge, Face, MultipleFaces, Wheel } |
A wheel contact feature.
void WheelContactFeature::GetFixedHold | ( | const Vector3 & | x, |
const Vector3 & | n, | ||
Real | theta, | ||
Real | roll, | ||
Hold & | |||
) | const |
Makes the fixed-orientation hold that matches the center of the wheel to x, and making an rolling angle of roll.
First orients the wheel to be tangent to x at the normal n. Then, rotates the wheel about angle theta around the normal. Finally, fixes the wheel with the rolling angle roll.
Normals are set to n, friction is set to 0.
void WheelContactFeature::GetHold | ( | const Vector3 & | x, |
const Vector3 & | n, | ||
Real | theta, | ||
Hold & | |||
) | const |
Makes the hold that matches the center of the wheel to x.
First orients the wheel to be tangent to x at the normal n. Then, rotates the wheel about angle theta around the normal. Allows the wheel to roll about the axis
Normals are set to n, friction is set to 0.