calculateCcdContact(const Math::SegmentMeshShape &segmentShape1AtTime0, const Math::RigidTransform3d &segmentPose1AtTime0, const Math::SegmentMeshShape &segmentShape1AtTime1, const Math::RigidTransform3d &segmentPose1AtTime1, const Math::SegmentMeshShape &segmentShape2AtTime0, const Math::RigidTransform3d &segmentPose2AtTime0, const Math::SegmentMeshShape &segmentShape2AtTime1, const Math::RigidTransform3d &segmentPose2AtTime1) const override | SurgSim::Collision::SegmentSelfContact | virtual |
SurgSim::Collision::ContactCalculation::calculateCcdContact(const Math::PosedShapeMotion< std::shared_ptr< Math::Shape >> posedShapeMotion1, const Math::PosedShapeMotion< std::shared_ptr< Math::Shape >> posedShapeMotion2) | SurgSim::Collision::ContactCalculation | |
calculateContact(std::shared_ptr< CollisionPair > pair) | SurgSim::Collision::ContactCalculation | |
SurgSim::Collision::ContactCalculation::calculateDcdContact(const Math::PosedShape< std::shared_ptr< Math::Shape >> posedShape1, const Math::PosedShape< std::shared_ptr< Math::Shape >> posedShape2) | SurgSim::Collision::ContactCalculation | |
ContactCalculation() | SurgSim::Collision::ContactCalculation | |
detectCollision(const std::array< SurgSim::Math::Vector3d, 2 > &pt0Positions, const std::array< SurgSim::Math::Vector3d, 2 > &pt1Positions, const std::array< SurgSim::Math::Vector3d, 2 > &qt0Positions, const std::array< SurgSim::Math::Vector3d, 2 > &qt1Positions, double segmentRadius1, double segmentRadius2, double timePrecision, double *r, double *s, double *t, SurgSim::Math::Vector3d *pToQDir, SurgSim::Math::Vector3d *contactPtP, SurgSim::Math::Vector3d *contactPtQ) const | SurgSim::Collision::SegmentSelfContact | protected |
detectExcessMovement(const SurgSim::Math::Vector3d &pt0, const SurgSim::Math::Vector3d &pt1, double threshold) const | SurgSim::Collision::SegmentSelfContact | protected |
distanceEpsilon() | SurgSim::Collision::SegmentSelfContact | |
findSegSegContact(const Math::SegmentMeshShape &segmentShape, const std::list< std::shared_ptr< Contact >> &contacts, double t, Collision::CollisionDetectionType collisionType, size_t segId1, double s1, size_t segId2, double s2, double timeEpsilon) const | SurgSim::Collision::SegmentSelfContact | protected |
getCcdContactTable() | SurgSim::Collision::ContactCalculation | static |
getDcdContactTable() | SurgSim::Collision::ContactCalculation | static |
getShapeTypes() override | SurgSim::Collision::SegmentSelfContact | virtual |
getTimeMaxPrecisionEpsilon() | SurgSim::Collision::SegmentSelfContact | |
getTimeMinPrecisionEpsilon() | SurgSim::Collision::SegmentSelfContact | |
getUniqueCandidates(const std::list< SurgSim::DataStructures::AabbTree::TreeNodePairType > &intersectionList, std::set< std::pair< size_t, size_t >> *segmentIds) const | SurgSim::Collision::SegmentSelfContact | protected |
isSameSegContactPoint(const Math::SegmentMeshShape &segmentShape, size_t segId1, double s1, size_t segId2, double s2) const | SurgSim::Collision::SegmentSelfContact | protected |
m_distanceEpsilon | SurgSim::Collision::SegmentSelfContact | private |
m_logger | SurgSim::Collision::SegmentSelfContact | private |
m_maxMovementThreshold | SurgSim::Collision::SegmentSelfContact | private |
m_timeMaxPrecisionEpsilon | SurgSim::Collision::SegmentSelfContact | private |
m_timeMinPrecisionEpsilon | SurgSim::Collision::SegmentSelfContact | private |
m_useSegmentThickness | SurgSim::Collision::SegmentSelfContact | private |
maxTimePrecision(const std::array< SurgSim::Math::Vector3d, 2 > &pt0Positions, const std::array< SurgSim::Math::Vector3d, 2 > &pt1Positions, const std::array< SurgSim::Math::Vector3d, 2 > &qt0Positions, const std::array< SurgSim::Math::Vector3d, 2 > &qt1Positions, double effectiveThickness) const | SurgSim::Collision::SegmentSelfContact | protected |
registerCcdContactCalculation(const std::shared_ptr< ContactCalculation > &calculation) | SurgSim::Collision::ContactCalculation | static |
registerDcdContactCalculation(const std::shared_ptr< ContactCalculation > &calculation) | SurgSim::Collision::ContactCalculation | static |
removeInvalidCollisions(const Math::SegmentMeshShape &segmentA, const Math::SegmentMeshShape &segmentB, size_t segment1SegID, size_t segment2SegID) const | SurgSim::Collision::SegmentSelfContact | protected |
SegmentSelfContact() | SurgSim::Collision::SegmentSelfContact | |
setDistanceEpsilon(double precision) | SurgSim::Collision::SegmentSelfContact | |
setTimeMaxPrecisionEpsilon(double precision) | SurgSim::Collision::SegmentSelfContact | |
setTimeMinPrecisionEpsilon(double precision) | SurgSim::Collision::SegmentSelfContact | |
TableType typedef | SurgSim::Collision::ContactCalculation | |
~ContactCalculation() | SurgSim::Collision::ContactCalculation | virtual |