|
void | assignContours (const std::vector< Contour * > &contour) override |
| treats ordering of contours More...
|
|
void | updateg (SingleContact &contact, int i=0) override |
| compute contact kinematics for a single contact More...
|
|
void | setGridSizeY (int gridSizeY_) |
|
void | setGridSizeZ (int gridSizeZ_) |
|
| 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
|
|
|
void | setFrustumOrienationKinematics (const double &x, const double &phi, SingleContact &contact) |
| set the values for the contact kinematics for the frustum due to the given x and phi
|
|
bool | cpLocationInPlate (SingleContact &contact) |
| check if there is a contact point within the plate between the frustum and the plate More...
|
|
bool | gridContact (SingleContact &contact) |
| if the unique contact point cannot be found a grid is walked through and a weighted sum results in the contact point More...
|
|
bool | cornerContact (SingleContact &contact) |
| checks if there is a contact point at one of the corner points More...
|
|
bool | edgeContact (SingleContact &contact) |
| checks if there is a contact on one edge of the plate More...
|
|
fmatvec::Vec3 | computeContourPointFrustum (const double &x, const fmatvec::Vec3 &n) |
| computes the point on the contour of the frustum due to the height-coordinate x and the normal in world coordinates More...
|
|
fmatvec::Vec3 | computeContourPoint (const double &x, const fmatvec::Vec3 &n) |
| computes the point on the contour of the frustum due to the height-coordinate x and the normal in world coordinates More...
|
|
int | checkPossibleContactPoint (const double &x, const fmatvec::Vec3 &n) |
| check if frustum point identified by coordinate x is possible contact point More...
|
|
double | distance2Plate (const fmatvec::Vec3 &point) |
| compute distance between given point and plate More...
|
|
void | updateGrid () |
| updates the grid for the discrete contact point approximation
|
|
|
int | iplate {-1} |
| contour index of plate (in cpData)
|
|
int | ifrustum {-1} |
| contour index of frustum (in cpData)
|
|
Plate * | plate {nullptr} |
| pointer to the contour class for the plate
|
|
PolynomialFrustum * | frustum {nullptr} |
| pointer to the contour class for the polynomial frustum
|
|
double | signh {1.} |
| sign of height-direction
|
|
int | gridSizeY {5} |
| grid size in y-direction for the search with grid points
|
|
int | gridSizeZ {5} |
| grid size in z-direction for the search with grid points
|
|
double | x1 {-1} |
| save last value to use it again as starting value for equation 1
|
|
double | x2 {-1} |
| save last value to use it again as starting value for equation 2
|
|
fmatvec::Vec3 | cornerPoints [4] |
| array of the four corner points of the plate in the frame of the frustum
|
|
std::vector< std::vector< fmatvec::Vec3 > > | gridPoints |
| saves the points for the contact point computation
|
|
MBSim::projectPointAlongNormal * | funcProjectAlongNormal {nullptr} |
| function for intersection point
|
|
MBSim::MultiDimensionalNewtonMethod | newtonProjectAlongNormal |
| newton method for solving the edge contact
|
|
MBSim::projectPointAlongNormalJacobian * | jacobianProjectAlongNormal {nullptr} |
| Jacobian for newton method.
|
|
GlobalResidualCriteriaFunction | criteriaProjectAlongNormal |
| criteria for newton method
|
|
MBSim::StandardDampingFunction | dampingProjectAlongNormal |
| damping function for newton method
|
|
edgePolyFrustum * | funcEdge {nullptr} |
| function for intersection point
|
|
MBSim::MultiDimensionalNewtonMethod | newtonEdge |
| newton method for solving the edge contact
|
|
MBSim::NumericalNewtonJacobianFunction | jacobianEdge |
| Jacobian for newton method.
|
|
edgePolyFrustumCriteria | criteriaEdge |
| criteria for newton method
|
|
MBSim::StandardDampingFunction | dampingEdge |
| damping function for newton method
|
|
int | ilast {-1} |
| index of last edge contact
|
|
fmatvec::Vec | xi |
| last position of edge contact
|
|
fmatvec::Vec2 | zeta |
|
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} |
|
class for contact kinematics between convex frustum and an plate
- Author
- Kilian Grundl, Tingting Sun
- Date
- 09.10.2012