Go to the documentation of this file.
16 #ifndef SURGSIM_COLLISION_SEGMENTSELFCONTACT_H
17 #define SURGSIM_COLLISION_SEGMENTSELFCONTACT_H
101 const std::array<SurgSim::Math::Vector3d, 2>& pt0Positions,
102 const std::array<SurgSim::Math::Vector3d, 2>& pt1Positions,
103 const std::array<SurgSim::Math::Vector3d, 2>& qt0Positions,
104 const std::array<SurgSim::Math::Vector3d, 2>& qt1Positions,
105 double segmentRadius1,
double segmentRadius2,
106 double timePrecision,
107 double* r,
double* s,
double* t,
117 const std::list<SurgSim::DataStructures::AabbTree::TreeNodePairType>& intersectionList,
118 std::set<std::pair<size_t, size_t>>* segmentIds)
const;
133 size_t segment1SegID,
size_t segment2SegID)
const;
143 double threshold)
const;
157 const std::list<std::shared_ptr<Contact>>& contacts,
158 double t, Collision::CollisionDetectionType collisionType,
159 size_t segId1,
double s1,
size_t segId2,
double s2,
double timeEpsilon)
const;
169 size_t segId1,
double s1,
size_t segId2,
double s2)
const;
182 const std::array<SurgSim::Math::Vector3d, 2>& pt0Positions,
183 const std::array<SurgSim::Math::Vector3d, 2>& pt1Positions,
184 const std::array<SurgSim::Math::Vector3d, 2>& qt0Positions,
185 const std::array<SurgSim::Math::Vector3d, 2>& qt1Positions,
186 double effectiveThickness)
const;
205 std::shared_ptr<SurgSim::Framework::Logger>
m_logger;
211 #endif // SURGSIM_COLLISION_SEGMENTSELFCONTACT_H
Eigen::Transform< double, 3, Eigen::Isometry > RigidTransform3d
A 3D rigid (isometric) transform, represented as doubles.
Definition: RigidTransform.h:46
Eigen::Matrix< double, 3, 1 > Vector3d
A 3D vector of doubles.
Definition: Vector.h:57
Definition: CompoundShapeToGraphics.cpp:29
set(SURGSIM_COLLISION_SOURCES BoxCapsuleContact.cpp BoxDoubleSidedPlaneContact.cpp BoxPlaneContact.cpp BoxSphereContact.cpp CapsuleSphereContact.cpp CollisionPair.cpp CompoundShapeContact.cpp ContactCalculation.cpp ContactFilter.cpp DefaultContactCalculation.cpp ElementContactFilter.cpp OctreeCapsuleContact.cpp OctreeContact.cpp OctreeDoubleSidedPlaneContact.cpp OctreePlaneContact.cpp OctreeSphereContact.cpp Representation.cpp SegmentMeshTriangleMeshContact.cpp SegmentSegmentCcdIntervalCheck.cpp SegmentSegmentCcdMovingContact.cpp SegmentSegmentCcdStaticContact.cpp SegmentSelfContact.cpp ShapeCollisionRepresentation.cpp SphereDoubleSidedPlaneContact.cpp SpherePlaneContact.cpp SphereSphereContact.cpp TriangleMeshParticlesContact.cpp TriangleMeshPlaneContact.cpp TriangleMeshSurfaceMeshContact.cpp TriangleMeshTriangleMeshContact.cpp) set(SURGSIM_COLLISION_HEADERS BoxCapsuleContact.h BoxDoubleSidedPlaneContact.h BoxPlaneContact.h BoxSphereContact.h CapsuleSphereContact.h CcdDcdCollision.h CollisionPair.h CompoundShapeContact.h ContactCalculation.h ContactFilter.h DefaultContactCalculation.h ElementContactFilter.h OctreeCapsuleContact.h OctreeContact.h OctreeDoubleSidedPlaneContact.h OctreePlaneContact.h OctreeSphereContact.h Representation.h SegmentMeshTriangleMeshContact.h SegmentSegmentCcdIntervalCheck.h SegmentSegmentCcdMovingContact.h SegmentSegmentCcdStaticContact.h SegmentSelfContact.h ShapeCollisionRepresentation.h ShapeShapeContactCalculation.h SphereDoubleSidedPlaneContact.h SpherePlaneContact.h SphereSphereContact.h TriangleMeshParticlesContact.h TriangleMeshPlaneContact.h TriangleMeshSurfaceMeshContact.h TriangleMeshTriangleMeshContact.h) surgsim_create_library_header(Collision.h "$
Definition: CMakeLists.txt:16
SegmentMeshShape defines a shape based on a mesh, like MeshShape.
Definition: SegmentMeshShape.h:36