mbsim
4.0.0
MBSim Kernel
|
basic class for contact kinematical calculations More...
#include <contact_kinematics.h>
Public Member Functions | |
ContactKinematics (int maxNumContacts_=1) | |
constructor | |
~ContactKinematics () override=default | |
destructor | |
virtual void | assignContours (const std::vector< Contour * > &contour_) |
treats ordering of contours More... | |
virtual void | calcisSize () |
void | setisInd (int ind) |
int | getisSize () |
virtual void | updateInternalStateRef (fmatvec::Vec &curisParent, fmatvec::Vec &nextisParent) |
virtual void | search () |
virtual void | updateg (std::vector< SingleContact > &contact) |
compute contact kinematics for all contacts More... | |
virtual void | updateg (SingleContact &contact, int i=0) |
compute contact kinematics for a single contact More... | |
virtual void | updatewb (std::vector< SingleContact > &contact) |
compute contact kinematics on acceleration level for all contacts More... | |
virtual void | updatewb (SingleContact &contact, int i=0) |
compute contact kinematics on acceleration level for a single contact More... | |
void | assignContours (Contour *contour1, Contour *contour2) |
treats ordering of contours More... | |
int | getMaximumNumberOfContacts () const |
void | setGlobalSearch (bool gS_=true) |
void | setInitialGlobalSearch (bool iGS_=true) |
virtual void | setInitialGuess (const fmatvec::MatV &zeta0_) |
set initial guess for root-finding More... | |
void | setTolerance (double tol_) |
set tolerance for root-finding | |
void | setMaximumNumberOfContacts (int maxNumContacts_) |
set maximum number of contacts | |
Static Public Member Functions | |
static std::vector< double > | searchPossibleContactPoints (Function< double(double)> *func, double eta, const std::vector< double > &nodes, double tol) |
static std::vector< double > | searchPossibleContactPoints (Function< fmatvec::Vec(fmatvec::Vec)> *func, int i, fmatvec::Vec &zeta, const std::vector< double > &nodes, double tol) |
Protected Attributes | |
double | tol {1e-10} |
tolerance for root-finding | |
int | maxNumContacts {1} |
maximum number of contacts | |
fmatvec::Vec | curis |
fmatvec::Vec | nextis |
int | isInd { 0 } |
int | isSize { 0 } |
std::vector< Contour * > | contour |
bool | gS {false} |
bool | iGS {false} |
basic class for contact kinematical calculations
|
inlinevirtual |
treats ordering of contours
contour | vector |
Reimplemented in MBSim::ContactKinematicsBevelGearBevelGear, MBSim::ContactKinematicsBevelGearPlanarGear, MBSim::ContactKinematicsCircleCircle, MBSim::ContactKinematicsCircleExtrusion, MBSim::ContactKinematicsCircleFrustum, MBSim::ContactKinematicsCircleLine, MBSim::ContactKinematicsCircleLineSegment, MBSim::ContactKinematicsCirclePlanarContour, MBSim::ContactKinematicsCirclePlanarFrustum, MBSim::ContactKinematicsCirclePlane, MBSim::ContactKinematicsCircleSpatialContour, MBSim::ContactKinematicsCompoundContourCompoundContour, MBSim::ContactKinematicsCylindricalGearCylindricalGear, MBSim::ContactKinematicsCylindricalGearRack, MBSim::ContactKinematicsEdgeEdge, MBSim::ContactKinematicsLinePlanarContour, MBSim::ContactKinematicsPlanarContourPlanarContour, MBSim::ContactKinematicsPlaneSpatialContour, MBSim::ContactKinematicsPlatePolynomialFrustum, MBSim::ContactKinematicsPointCircle, MBSim::ContactKinematicsPointContourInterpolation, MBSim::ContactKinematicsPointCylinder, MBSim::ContactKinematicsPointFrustum, MBSim::ContactKinematicsPointLine, MBSim::ContactKinematicsPointLineSegment, MBSim::ContactKinematicsPointPlanarContour, MBSim::ContactKinematicsPointPlane, MBSim::ContactKinematicsPointPlaneWithFrustum, MBSim::ContactKinematicsPointPlate, MBSim::ContactKinematicsPointPolynomialFrustum, MBSim::ContactKinematicsPointSpatialContour, MBSim::ContactKinematicsPointSphere, MBSim::ContactKinematicsSpatialContourSpatialContour, MBSim::ContactKinematicsSphereFrustum, MBSim::ContactKinematicsSpherePlane, MBSim::ContactKinematicsSpherePlate, MBSim::ContactKinematicsSpherePolynomialFrustum, MBSim::ContactKinematicsSphereSpatialContour, MBSim::ContactKinematicsSphereSphere, and MBSim::ContactKinematicsCompoundContourContour.
treats ordering of contours
first | contour |
second | contour |
|
inline |
|
inlinevirtual |
set initial guess for root-finding
Reimplemented in MBSim::ContactKinematicsCircleExtrusion, MBSim::ContactKinematicsCircleFrustum, MBSim::ContactKinematicsCirclePlanarContour, MBSim::ContactKinematicsCircleSpatialContour, MBSim::ContactKinematicsLinePlanarContour, MBSim::ContactKinematicsPlanarContourPlanarContour, MBSim::ContactKinematicsPlaneSpatialContour, MBSim::ContactKinematicsPointExtrusion, MBSim::ContactKinematicsPointPlanarContour, MBSim::ContactKinematicsPointSpatialContour, MBSim::ContactKinematicsSpatialContourSpatialContour, and MBSim::ContactKinematicsSphereSpatialContour.
|
inlinevirtual |
compute contact kinematics for a single contact
conctact | single contact |
i | index of the contact that should be updated |
Reimplemented in MBSim::ContactKinematicsBevelGearBevelGear, MBSim::ContactKinematicsBevelGearPlanarGear, MBSim::ContactKinematicsCircleCircle, MBSim::ContactKinematicsCircleExtrusion, MBSim::ContactKinematicsCircleFrustum, MBSim::ContactKinematicsCircleLine, MBSim::ContactKinematicsCircleLineSegment, MBSim::ContactKinematicsCirclePlanarContour, MBSim::ContactKinematicsCirclePlanarFrustum, MBSim::ContactKinematicsCirclePlane, MBSim::ContactKinematicsCircleSpatialContour, MBSim::ContactKinematicsCylindricalGearCylindricalGear, MBSim::ContactKinematicsCylindricalGearRack, MBSim::ContactKinematicsEdgeEdge, MBSim::ContactKinematicsLinePlanarContour, MBSim::ContactKinematicsPlanarContourPlanarContour, MBSim::ContactKinematicsPlaneSpatialContour, MBSim::ContactKinematicsPlatePolynomialFrustum, MBSim::ContactKinematicsPointCircle, MBSim::ContactKinematicsPointContourInterpolation, MBSim::ContactKinematicsPointCylinder, MBSim::ContactKinematicsPointExtrusion, MBSim::ContactKinematicsPointFrustum, MBSim::ContactKinematicsPointLine, MBSim::ContactKinematicsPointLineSegment, MBSim::ContactKinematicsPointPlanarContour, MBSim::ContactKinematicsPointPlane, MBSim::ContactKinematicsPointPlaneWithFrustum, MBSim::ContactKinematicsPointPlate, MBSim::ContactKinematicsPointPolynomialFrustum, MBSim::ContactKinematicsPointSpatialContour, MBSim::ContactKinematicsPointSphere, MBSim::ContactKinematicsSpatialContourSpatialContour, MBSim::ContactKinematicsSphereFrustum, MBSim::ContactKinematicsSpherePlane, MBSim::ContactKinematicsSpherePlate, MBSim::ContactKinematicsSpherePolynomialFrustum, MBSim::ContactKinematicsSphereSpatialContour, and MBSim::ContactKinematicsSphereSphere.
|
virtual |
compute contact kinematics for all contacts
contact | vector of all contacts |
i | index of the contact point that should be updated |
Reimplemented in MBSim::ContactKinematicsCompoundContourCompoundContour, and MBSim::ContactKinematicsCompoundContourContour.
|
virtual |
compute contact kinematics on acceleration level for a single contact
conctact | single contact |
i | index of the contact that should be updated |
Reimplemented in MBSim::ContactKinematicsBevelGearBevelGear, MBSim::ContactKinematicsBevelGearPlanarGear, MBSim::ContactKinematicsCircleCircle, MBSim::ContactKinematicsCircleExtrusion, MBSim::ContactKinematicsCircleLine, MBSim::ContactKinematicsCircleLineSegment, MBSim::ContactKinematicsCirclePlanarContour, MBSim::ContactKinematicsCirclePlane, MBSim::ContactKinematicsCylindricalGearCylindricalGear, MBSim::ContactKinematicsCylindricalGearRack, MBSim::ContactKinematicsLinePlanarContour, MBSim::ContactKinematicsPlanarContourPlanarContour, MBSim::ContactKinematicsPlaneSpatialContour, MBSim::ContactKinematicsPointCircle, MBSim::ContactKinematicsPointCylinder, MBSim::ContactKinematicsPointLine, MBSim::ContactKinematicsPointLineSegment, MBSim::ContactKinematicsPointPlanarContour, MBSim::ContactKinematicsPointPlane, MBSim::ContactKinematicsPointSpatialContour, MBSim::ContactKinematicsPointSphere, and MBSim::ContactKinematicsSpherePlane.
|
inlinevirtual |
compute contact kinematics on acceleration level for all contacts
conctact | single contact |
i | index of the contact that should be updated |