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 | |
calculateDcdContact(const Math::SegmentMeshShape &shape1, const Math::RigidTransform3d &pose1, const Math::SegmentMeshShape &shape2, const Math::RigidTransform3d &pose2) const | SurgSim::Collision::ShapeShapeContactCalculation< Math::SegmentMeshShape, Math::SegmentMeshShape > | inlineprivatevirtual |
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 | |
doCalculateCcdContact(const Math::PosedShapeMotion< std::shared_ptr< Math::Shape >> &posedShapeMotion1, const Math::PosedShapeMotion< std::shared_ptr< Math::Shape >> &posedShapeMotion2) override | SurgSim::Collision::ShapeShapeContactCalculation< Math::SegmentMeshShape, Math::SegmentMeshShape > | inlineprivatevirtual |
doCalculateContact(std::shared_ptr< CollisionPair > pair) | SurgSim::Collision::ContactCalculation | privatevirtual |
doCalculateDcdContact(const Math::PosedShape< std::shared_ptr< Math::Shape >> &posedShape1, const Math::PosedShape< std::shared_ptr< Math::Shape >> &posedShape2) override | SurgSim::Collision::ShapeShapeContactCalculation< Math::SegmentMeshShape, Math::SegmentMeshShape > | inlineprivatevirtual |
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 |
initializeTables() | SurgSim::Collision::ContactCalculation | privatestatic |
isSameSegContactPoint(const Math::SegmentMeshShape &segmentShape, size_t segId1, double s1, size_t segId2, double s2) const | SurgSim::Collision::SegmentSelfContact | protected |
m_contactCcdCalculations | SurgSim::Collision::ContactCalculation | privatestatic |
m_contactDcdCalculations | SurgSim::Collision::ContactCalculation | privatestatic |
m_distanceEpsilon | SurgSim::Collision::SegmentSelfContact | private |
m_initializationFlag | SurgSim::Collision::ContactCalculation | privatestatic |
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 |
privateCcdRegister(const std::shared_ptr< ContactCalculation > &calculation, const std::pair< int, int > &types) | SurgSim::Collision::ContactCalculation | privatestatic |
privateCcdRegister(const std::shared_ptr< ContactCalculation > &calculation) | SurgSim::Collision::ContactCalculation | privatestatic |
privateDcdRegister(const std::shared_ptr< ContactCalculation > &calculation, const std::pair< int, int > &types) | SurgSim::Collision::ContactCalculation | privatestatic |
privateDcdRegister(const std::shared_ptr< ContactCalculation > &calculation) | SurgSim::Collision::ContactCalculation | privatestatic |
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 |