#include <DiscreteIntersection.h>


Definition at line 48 of file DiscreteIntersection.h.
| typedef sofa::helper::vector<sofa::core::componentmodel::collision::DetectionOutput> sofa::component::collision::DiscreteIntersection::OutputVector |
Definition at line 73 of file DiscreteIntersection.h.
| sofa::component::collision::DiscreteIntersection::DiscreteIntersection | ( | ) |
Definition at line 56 of file DiscreteIntersection.cpp.
| int sofa::component::collision::DiscreteIntersection::beginIntersection | ( | sofa::core::CollisionModel * | , | |
| sofa::core::CollisionModel * | , | |||
| OutputVector * | ||||
| ) | [inline] |
Definition at line 75 of file DiscreteIntersection.h.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | Ray & | e2, | |
| FFDDistanceGridCollisionElement & | e1, | |||
| OutputVector * | contacts | |||
| ) |
Definition at line 1799 of file DiscreteIntersection.cpp.
References sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::center, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::deform(), sofa::component::collision::Ray::direction(), sofa::core::componentmodel::collision::DetectionOutput::elem, sofa::core::TCollisionElementIterator< TModel >::getCollisionModel(), sofa::component::collision::FFDDistanceGridCollisionElement::getGrid(), sofa::core::BaseCollisionElementIterator::getIndex(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::initpos(), sofa::component::collision::DistanceGrid::interp(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::invDP, sofa::component::collision::Ray::l(), sofa::defaulttype::Vec< N, real >::norm2(), sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::component::collision::Ray::origin(), sofa::core::componentmodel::collision::DetectionOutput::point, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::radius, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::undeform0(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::undeformDir(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::updateFaces(), and sofa::core::componentmodel::collision::DetectionOutput::value.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | FFDDistanceGridCollisionElement & | e1, | |
| Triangle & | e2, | |||
| OutputVector * | contacts | |||
| ) |
Definition at line 1564 of file DiscreteIntersection.cpp.
References sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::baryCoords(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::corners, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::deform(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::deformDir(), sofa::core::componentmodel::collision::DetectionOutput::elem, sofa::component::collision::TriangleModel::FLAG_P1, sofa::component::collision::TriangleModel::FLAG_P2, sofa::component::collision::TriangleModel::FLAG_P3, sofa::component::collision::TriangleModel::FLAG_POINTS, sofa::component::collision::Triangle::flags(), sofa::core::TCollisionElementIterator< TModel >::getCollisionModel(), sofa::core::componentmodel::collision::Intersection::getContactDistance(), sofa::component::collision::FFDDistanceGridCollisionElement::getGrid(), sofa::core::BaseCollisionElementIterator::getIndex(), sofa::core::TCollisionElementIterator< TModel >::getProximity(), sofa::component::collision::DistanceGrid::grad(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::initpos(), sofa::component::collision::DistanceGrid::interp(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::invDP, sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::component::collision::Triangle::p1(), sofa::component::collision::Triangle::p2(), sofa::component::collision::Triangle::p3(), sofa::core::componentmodel::collision::DetectionOutput::point, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::undeform0(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::undeformDir(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::updateFaces(), and sofa::core::componentmodel::collision::DetectionOutput::value.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | FFDDistanceGridCollisionElement & | e1, | |
| Sphere & | e2, | |||
| OutputVector * | contacts | |||
| ) | [inline] |
Definition at line 384 of file DiscreteIntersection.inl.
References sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::baryCoords(), sofa::component::collision::TSphere< DataTypes >::center(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::corners, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::deform(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::deformDir(), sofa::core::componentmodel::collision::DetectionOutput::elem, sofa::core::TCollisionElementIterator< TModel >::getCollisionModel(), sofa::core::componentmodel::collision::Intersection::getContactDistance(), sofa::component::collision::FFDDistanceGridCollisionElement::getGrid(), sofa::core::BaseCollisionElementIterator::getIndex(), sofa::core::TCollisionElementIterator< TModel >::getProximity(), sofa::component::collision::DistanceGrid::grad(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::initpos(), sofa::component::collision::DistanceGrid::interp(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::invDP, sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::core::componentmodel::collision::DetectionOutput::point, sofa::component::collision::TSphere< DataTypes >::r(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::undeform0(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::undeformDir(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::updateFaces(), and sofa::core::componentmodel::collision::DetectionOutput::value.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | FFDDistanceGridCollisionElement & | e1, | |
| Point & | e2, | |||
| OutputVector * | contacts | |||
| ) |
Definition at line 1475 of file DiscreteIntersection.cpp.
References sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::baryCoords(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::corners, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::deform(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::deformDir(), sofa::core::componentmodel::collision::DetectionOutput::elem, sofa::core::TCollisionElementIterator< TModel >::getCollisionModel(), sofa::core::componentmodel::collision::Intersection::getContactDistance(), sofa::component::collision::FFDDistanceGridCollisionElement::getGrid(), sofa::core::BaseCollisionElementIterator::getIndex(), sofa::core::TCollisionElementIterator< TModel >::getProximity(), sofa::component::collision::DistanceGrid::grad(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::initpos(), sofa::component::collision::DistanceGrid::interp(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::invDP, sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::component::collision::Point::p(), sofa::core::componentmodel::collision::DetectionOutput::point, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::undeform0(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::undeformDir(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::updateFaces(), and sofa::core::componentmodel::collision::DetectionOutput::value.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | FFDDistanceGridCollisionElement & | e1, | |
| FFDDistanceGridCollisionElement & | e2, | |||
| OutputVector * | contacts | |||
| ) |
Definition at line 1296 of file DiscreteIntersection.cpp.
References sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::baryCoords(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::center, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::corners, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::deform(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::deformDir(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::deformedPoints, sofa::core::componentmodel::collision::DetectionOutput::elem, sofa::core::TCollisionElementIterator< TModel >::getCollisionModel(), sofa::component::collision::FFDDistanceGridCollisionElement::getGrid(), sofa::core::BaseCollisionElementIterator::getIndex(), sofa::core::TCollisionElementIterator< TModel >::getProximity(), sofa::component::collision::DistanceGrid::grad(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::initpos(), sofa::component::collision::DistanceGrid::interp(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::invDP, sofa::component::collision::DistanceGrid::meshPts, sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::core::componentmodel::collision::DetectionOutput::point, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::points, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::radius, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::undeform0(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::undeformDir(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::updateFaces(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::updatePoints(), and sofa::core::componentmodel::collision::DetectionOutput::value.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | FFDDistanceGridCollisionElement & | e1, | |
| RigidDistanceGridCollisionElement & | e2, | |||
| OutputVector * | contacts | |||
| ) |
Definition at line 1135 of file DiscreteIntersection.cpp.
References sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::baryCoords(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::center, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::corners, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::deform(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::deformDir(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::deformedPoints, sofa::core::componentmodel::collision::DetectionOutput::elem, sofa::defaulttype::ExtVector< T >::empty(), sofa::core::TCollisionElementIterator< TModel >::getCollisionModel(), sofa::component::collision::RigidDistanceGridCollisionElement::getGrid(), sofa::component::collision::FFDDistanceGridCollisionElement::getGrid(), sofa::core::BaseCollisionElementIterator::getIndex(), sofa::core::TCollisionElementIterator< TModel >::getProximity(), sofa::component::collision::RigidDistanceGridCollisionElement::getRotation(), sofa::component::collision::RigidDistanceGridCollisionElement::getTranslation(), sofa::component::collision::DistanceGrid::grad(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::component::collision::DistanceGrid::inBBox(), sofa::component::collision::DistanceGrid::inGrid(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::initpos(), sofa::component::collision::DistanceGrid::interp(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::invDP, sofa::component::collision::RigidDistanceGridCollisionElement::isTransformed(), sofa::component::collision::DistanceGrid::meshPts, sofa::defaulttype::Mat< L, C, real >::multTranspose(), sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::core::componentmodel::collision::DetectionOutput::point, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::points, sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::radius, sofa::defaulttype::ExtVector< T >::size(), sofa::defaulttype::Mat< L, C, real >::transpose(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::undeform0(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::undeformDir(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::updateFaces(), sofa::component::collision::FFDDistanceGridCollisionModel::DeformedCube::updatePoints(), and sofa::core::componentmodel::collision::DetectionOutput::value.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | Ray & | e2, | |
| RigidDistanceGridCollisionElement & | e1, | |||
| OutputVector * | contacts | |||
| ) |
Definition at line 1016 of file DiscreteIntersection.cpp.
References sofa::component::collision::Ray::direction(), sofa::core::componentmodel::collision::DetectionOutput::elem, sofa::component::collision::DistanceGrid::getBBMax(), sofa::component::collision::DistanceGrid::getBBMin(), sofa::component::collision::DistanceGrid::getCellWidth(), sofa::component::collision::RigidDistanceGridCollisionElement::getGrid(), sofa::core::BaseCollisionElementIterator::getIndex(), sofa::component::collision::RigidDistanceGridCollisionElement::getRotation(), sofa::component::collision::RigidDistanceGridCollisionElement::getTranslation(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::component::collision::DistanceGrid::interp(), sofa::component::collision::RigidDistanceGridCollisionElement::isTransformed(), sofa::component::collision::Ray::l(), sofa::defaulttype::Mat< L, C, real >::multTranspose(), sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::component::collision::Ray::origin(), sofa::core::componentmodel::collision::DetectionOutput::point, and sofa::core::componentmodel::collision::DetectionOutput::value.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | RigidDistanceGridCollisionElement & | e1, | |
| Triangle & | e2, | |||
| OutputVector * | contacts | |||
| ) |
Definition at line 874 of file DiscreteIntersection.cpp.
References sofa::core::componentmodel::collision::DetectionOutput::elem, sofa::component::collision::TriangleModel::FLAG_P1, sofa::component::collision::TriangleModel::FLAG_P2, sofa::component::collision::TriangleModel::FLAG_P3, sofa::component::collision::TriangleModel::FLAG_POINTS, sofa::component::collision::Triangle::flags(), sofa::core::TCollisionElementIterator< TModel >::getCollisionModel(), sofa::core::componentmodel::collision::Intersection::getContactDistance(), sofa::component::collision::RigidDistanceGridCollisionElement::getGrid(), sofa::core::BaseCollisionElementIterator::getIndex(), sofa::core::TCollisionElementIterator< TModel >::getProximity(), sofa::component::collision::RigidDistanceGridCollisionElement::getRotation(), sofa::component::collision::RigidDistanceGridCollisionElement::getTranslation(), sofa::component::collision::DistanceGrid::grad(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::component::collision::DistanceGrid::inBBox(), sofa::component::collision::DistanceGrid::inGrid(), sofa::component::collision::DistanceGrid::interp(), sofa::component::collision::RigidDistanceGridCollisionElement::isTransformed(), sofa::defaulttype::Mat< L, C, real >::multTranspose(), sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::component::collision::Triangle::p1(), sofa::component::collision::Triangle::p2(), sofa::component::collision::Triangle::p3(), sofa::core::componentmodel::collision::DetectionOutput::point, and sofa::core::componentmodel::collision::DetectionOutput::value.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | RigidDistanceGridCollisionElement & | e1, | |
| Sphere & | e2, | |||
| OutputVector * | contacts | |||
| ) | [inline] |
Definition at line 330 of file DiscreteIntersection.inl.
References sofa::component::collision::TSphere< DataTypes >::center(), sofa::core::componentmodel::collision::DetectionOutput::elem, sofa::core::TCollisionElementIterator< TModel >::getCollisionModel(), sofa::core::componentmodel::collision::Intersection::getContactDistance(), sofa::component::collision::RigidDistanceGridCollisionElement::getGrid(), sofa::core::BaseCollisionElementIterator::getIndex(), sofa::core::TCollisionElementIterator< TModel >::getProximity(), sofa::component::collision::RigidDistanceGridCollisionElement::getRotation(), sofa::component::collision::RigidDistanceGridCollisionElement::getTranslation(), sofa::component::collision::DistanceGrid::grad(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::component::collision::DistanceGrid::inBBox(), sofa::component::collision::DistanceGrid::inGrid(), sofa::component::collision::DistanceGrid::interp(), sofa::component::collision::RigidDistanceGridCollisionElement::isTransformed(), sofa::defaulttype::Mat< L, C, real >::multTranspose(), sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::core::componentmodel::collision::DetectionOutput::point, sofa::component::collision::TSphere< DataTypes >::r(), and sofa::core::componentmodel::collision::DetectionOutput::value.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | RigidDistanceGridCollisionElement & | e1, | |
| Point & | e2, | |||
| OutputVector * | contacts | |||
| ) |
Definition at line 822 of file DiscreteIntersection.cpp.
References sofa::core::componentmodel::collision::DetectionOutput::elem, sofa::core::TCollisionElementIterator< TModel >::getCollisionModel(), sofa::core::componentmodel::collision::Intersection::getContactDistance(), sofa::component::collision::RigidDistanceGridCollisionElement::getGrid(), sofa::core::BaseCollisionElementIterator::getIndex(), sofa::core::TCollisionElementIterator< TModel >::getProximity(), sofa::component::collision::RigidDistanceGridCollisionElement::getRotation(), sofa::component::collision::RigidDistanceGridCollisionElement::getTranslation(), sofa::component::collision::DistanceGrid::grad(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::component::collision::DistanceGrid::inBBox(), sofa::component::collision::DistanceGrid::inGrid(), sofa::component::collision::DistanceGrid::interp(), sofa::component::collision::RigidDistanceGridCollisionElement::isTransformed(), sofa::defaulttype::Mat< L, C, real >::multTranspose(), sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::component::collision::Point::p(), sofa::core::componentmodel::collision::DetectionOutput::point, and sofa::core::componentmodel::collision::DetectionOutput::value.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | RigidDistanceGridCollisionElement & | e1, | |
| RigidDistanceGridCollisionElement & | e2, | |||
| OutputVector * | contacts | |||
| ) |
Definition at line 346 of file DiscreteIntersection.cpp.
References sofa::defaulttype::Mat< L, C, real >::col(), sofa::core::componentmodel::collision::DetectionOutput::elem, sofa::defaulttype::ExtVector< T >::empty(), sofa::core::TCollisionElementIterator< TModel >::getCollisionModel(), sofa::component::collision::DistanceGrid::getCubeDim(), sofa::component::collision::RigidDistanceGridCollisionElement::getGrid(), sofa::component::collision::RigidDistanceGridCollisionElement::getRotation(), sofa::component::collision::RigidDistanceGridCollisionElement::getTranslation(), sofa::component::collision::DistanceGrid::grad(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::component::collision::DistanceGrid::inBBox(), sofa::component::collision::DistanceGrid::inGrid(), sofa::component::collision::DistanceGrid::interp(), sofa::component::collision::DistanceGrid::isCube(), sofa::component::collision::RigidDistanceGridCollisionElement::isTransformed(), sofa::component::collision::DistanceGrid::meshPts, sofa::defaulttype::Mat< L, C, real >::multTranspose(), norm2(), sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::core::componentmodel::collision::DetectionOutput::point, sofa::helper::rabs(), sofa::defaulttype::ExtVector< T >::size(), and sofa::core::componentmodel::collision::DetectionOutput::value.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | Tetrahedron & | e1, | |
| Point & | e2, | |||
| OutputVector * | contacts | |||
| ) |
Definition at line 285 of file DiscreteIntersection.cpp.
References sofa::core::componentmodel::collision::DetectionOutput::elem, sofa::component::collision::Tetrahedron::getBary(), sofa::core::TCollisionElementIterator< TModel >::getCollisionModel(), sofa::component::collision::Tetrahedron::getDBary(), sofa::core::BaseCollisionElementIterator::getIndex(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::component::collision::Point::n(), sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::component::collision::Point::p(), sofa::component::collision::Tetrahedron::p1Index(), sofa::component::collision::Tetrahedron::p2Index(), sofa::component::collision::Tetrahedron::p3Index(), sofa::component::collision::Tetrahedron::p4Index(), sofa::core::componentmodel::collision::DetectionOutput::point, and sofa::core::componentmodel::collision::DetectionOutput::value.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | Ray & | e1, | |
| Tetrahedron & | e2, | |||
| OutputVector * | contacts | |||
| ) |
Definition at line 221 of file DiscreteIntersection.cpp.
References sofa::component::collision::Ray::direction(), sofa::core::componentmodel::collision::DetectionOutput::elem, sofa::component::collision::Tetrahedron::getBary(), sofa::component::collision::Tetrahedron::getDBary(), sofa::core::BaseCollisionElementIterator::getIndex(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::component::collision::Ray::l(), sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::component::collision::Ray::origin(), sofa::core::componentmodel::collision::DetectionOutput::point, and sofa::core::componentmodel::collision::DetectionOutput::value.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | Ray & | e1, | |
| Triangle & | e2, | |||
| OutputVector * | contacts | |||
| ) |
Reimplemented in sofa::component::collision::LocalMinDistance, and sofa::component::collision::NewProximityIntersection.
Definition at line 178 of file DiscreteIntersection.cpp.
References sofa::component::collision::Ray::direction(), sofa::core::componentmodel::collision::DetectionOutput::elem, sofa::core::BaseCollisionElementIterator::getIndex(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::defaulttype::Mat< L, C, real >::invert(), sofa::component::collision::Ray::l(), sofa::component::collision::Triangle::n(), sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::component::collision::Ray::origin(), sofa::component::collision::Triangle::p1(), sofa::component::collision::Triangle::p2(), sofa::component::collision::Triangle::p3(), sofa::core::componentmodel::collision::DetectionOutput::point, and sofa::core::componentmodel::collision::DetectionOutput::value.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | Triangle & | e1, | |
| Line & | e2, | |||
| OutputVector * | contacts | |||
| ) |
Reimplemented in sofa::component::collision::NewProximityIntersection.
Definition at line 134 of file DiscreteIntersection.cpp.
References sofa::core::componentmodel::collision::DetectionOutput::elem, sofa::core::BaseCollisionElementIterator::getIndex(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::defaulttype::Mat< L, C, real >::invert(), sofa::component::collision::Triangle::n(), sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::component::collision::Line::p1(), sofa::component::collision::Triangle::p1(), sofa::component::collision::Line::p2(), sofa::component::collision::Triangle::p2(), sofa::component::collision::Triangle::p3(), sofa::core::componentmodel::collision::DetectionOutput::point, and sofa::core::componentmodel::collision::DetectionOutput::value.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | Sphere & | sph, | |
| Triangle & | triangle, | |||
| OutputVector * | contacts | |||
| ) | [inline] |
Definition at line 153 of file DiscreteIntersection.inl.
References sofa::component::collision::TSphere< DataTypes >::center(), cross(), sofa::core::componentmodel::collision::DetectionOutput::elem, EPSILON, sofa::core::BaseCollisionElementIterator::getIndex(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::component::collision::Triangle::p1(), sofa::component::collision::Triangle::p2(), sofa::component::collision::Triangle::p3(), sofa::core::componentmodel::collision::DetectionOutput::point, sofa::component::collision::TSphere< DataTypes >::r(), SAMESIDE, and sofa::core::componentmodel::collision::DetectionOutput::value.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | Ray & | ray1, | |
| Sphere & | sph2, | |||
| OutputVector * | contacts | |||
| ) | [inline] |
Reimplemented in sofa::component::collision::LocalMinDistance.
Definition at line 289 of file DiscreteIntersection.inl.
References sofa::component::collision::TSphere< DataTypes >::center(), sofa::component::collision::Ray::direction(), sofa::core::componentmodel::collision::DetectionOutput::elem, sofa::core::BaseCollisionElementIterator::getIndex(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::component::collision::Ray::l(), sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::component::collision::Ray::origin(), sofa::core::componentmodel::collision::DetectionOutput::point, sofa::component::collision::TSphere< DataTypes >::r(), and sofa::core::componentmodel::collision::DetectionOutput::value.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | Sphere & | , | |
| Cube & | , | |||
| OutputVector * | ||||
| ) | [inline] |
Definition at line 282 of file DiscreteIntersection.inl.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | Sphere & | sph1, | |
| Sphere & | sph2, | |||
| OutputVector * | contacts | |||
| ) | [inline] |
Reimplemented in sofa::component::collision::LocalMinDistance, sofa::component::collision::MinProximityIntersection, and sofa::component::collision::NewProximityIntersection.
Definition at line 257 of file DiscreteIntersection.inl.
References sofa::component::collision::TSphere< DataTypes >::center(), sofa::core::componentmodel::collision::DetectionOutput::elem, sofa::core::TCollisionElementIterator< TModel >::getCollisionModel(), sofa::core::BaseCollisionElementIterator::getIndex(), sofa::core::componentmodel::collision::DetectionOutput::id, sofa::core::componentmodel::collision::DetectionOutput::normal, sofa::core::componentmodel::collision::DetectionOutput::point, sofa::component::collision::TSphere< DataTypes >::r(), and sofa::core::componentmodel::collision::DetectionOutput::value.
| int sofa::component::collision::DiscreteIntersection::computeIntersection | ( | Cube & | , | |
| Cube & | , | |||
| OutputVector * | ||||
| ) |
Reimplemented in sofa::component::collision::LocalMinDistance, sofa::component::collision::MinProximityIntersection, and sofa::component::collision::NewProximityIntersection.
Definition at line 118 of file DiscreteIntersection.cpp.
| sofa::core::componentmodel::collision::TDetectionOutputVector<Model1,Model2>* sofa::component::collision::DiscreteIntersection::createOutputVector | ( | Model1 * | , | |
| Model2 * | ||||
| ) | [inline] |
Definition at line 62 of file DiscreteIntersection.h.
| int sofa::component::collision::DiscreteIntersection::endIntersection | ( | sofa::core::CollisionModel * | , | |
| sofa::core::CollisionModel * | , | |||
| OutputVector * | ||||
| ) | [inline] |
Definition at line 80 of file DiscreteIntersection.h.
| ElementIntersector * sofa::component::collision::DiscreteIntersection::findIntersector | ( | core::CollisionModel * | object1, | |
| core::CollisionModel * | object2, | |||
| bool & | swapModels | |||
| ) | [virtual] |
Return the intersector class handling the given pair of collision models, or NULL if not supported.
| swapModel | output value set to true if the collision models must be swapped before calling the intersector. |
Implements sofa::core::componentmodel::collision::Intersection.
Definition at line 89 of file DiscreteIntersection.cpp.
References sofa::core::componentmodel::collision::IntersectorMap::get(), and intersectors.
| sofa::core::componentmodel::collision::TDetectionOutputVector<Model1,Model2>* sofa::component::collision::DiscreteIntersection::getOutputVector | ( | Model1 * | , | |
| Model2 * | , | |||
| sofa::core::componentmodel::collision::DetectionOutputVector * | contacts | |||
| ) | [inline] |
Definition at line 68 of file DiscreteIntersection.h.
| bool sofa::component::collision::DiscreteIntersection::testIntersection | ( | Ray & | , | |
| FFDDistanceGridCollisionElement & | ||||
| ) |
Definition at line 1794 of file DiscreteIntersection.cpp.
| bool sofa::component::collision::DiscreteIntersection::testIntersection | ( | FFDDistanceGridCollisionElement & | , | |
| Triangle & | ||||
| ) |
Definition at line 1559 of file DiscreteIntersection.cpp.
| bool sofa::component::collision::DiscreteIntersection::testIntersection | ( | FFDDistanceGridCollisionElement & | , | |
| Sphere & | ||||
| ) | [inline] |
Definition at line 378 of file DiscreteIntersection.inl.
| bool sofa::component::collision::DiscreteIntersection::testIntersection | ( | FFDDistanceGridCollisionElement & | , | |
| Point & | ||||
| ) |
Definition at line 1470 of file DiscreteIntersection.cpp.
| bool sofa::component::collision::DiscreteIntersection::testIntersection | ( | FFDDistanceGridCollisionElement & | , | |
| FFDDistanceGridCollisionElement & | ||||
| ) |
Definition at line 1291 of file DiscreteIntersection.cpp.
| bool sofa::component::collision::DiscreteIntersection::testIntersection | ( | FFDDistanceGridCollisionElement & | , | |
| RigidDistanceGridCollisionElement & | ||||
| ) |
Definition at line 1130 of file DiscreteIntersection.cpp.
| bool sofa::component::collision::DiscreteIntersection::testIntersection | ( | Ray & | , | |
| RigidDistanceGridCollisionElement & | ||||
| ) |
Definition at line 1011 of file DiscreteIntersection.cpp.
| bool sofa::component::collision::DiscreteIntersection::testIntersection | ( | RigidDistanceGridCollisionElement & | , | |
| Triangle & | ||||
| ) |
Definition at line 869 of file DiscreteIntersection.cpp.
| bool sofa::component::collision::DiscreteIntersection::testIntersection | ( | RigidDistanceGridCollisionElement & | , | |
| Sphere & | ||||
| ) | [inline] |
Definition at line 324 of file DiscreteIntersection.inl.
| bool sofa::component::collision::DiscreteIntersection::testIntersection | ( | RigidDistanceGridCollisionElement & | , | |
| Point & | ||||
| ) |
Definition at line 817 of file DiscreteIntersection.cpp.
| bool sofa::component::collision::DiscreteIntersection::testIntersection | ( | RigidDistanceGridCollisionElement & | , | |
| RigidDistanceGridCollisionElement & | ||||
| ) |
Definition at line 339 of file DiscreteIntersection.cpp.
| bool sofa::component::collision::DiscreteIntersection::testIntersection | ( | Tetrahedron & | , | |
| Point & | ||||
| ) |
Definition at line 280 of file DiscreteIntersection.cpp.
| bool sofa::component::collision::DiscreteIntersection::testIntersection | ( | Ray & | , | |
| Tetrahedron & | ||||
| ) |
Definition at line 216 of file DiscreteIntersection.cpp.
Reimplemented in sofa::component::collision::LocalMinDistance, and sofa::component::collision::NewProximityIntersection.
Definition at line 173 of file DiscreteIntersection.cpp.
Reimplemented in sofa::component::collision::NewProximityIntersection.
Definition at line 129 of file DiscreteIntersection.cpp.
| bool sofa::component::collision::DiscreteIntersection::testIntersection | ( | Sphere & | sph, | |
| Triangle & | triangle | |||
| ) | [inline] |
Definition at line 83 of file DiscreteIntersection.inl.
References sofa::component::collision::TSphere< DataTypes >::center(), cross(), EPSILON, sofa::component::collision::Triangle::p1(), sofa::component::collision::Triangle::p2(), sofa::component::collision::Triangle::p3(), sofa::component::collision::TSphere< DataTypes >::r(), and SAMESIDE.
| bool sofa::component::collision::DiscreteIntersection::testIntersection | ( | Ray & | ray1, | |
| Sphere & | sph2 | |||
| ) | [inline] |
Reimplemented in sofa::component::collision::LocalMinDistance.
Definition at line 134 of file DiscreteIntersection.inl.
References sofa::component::collision::TSphere< DataTypes >::center(), sofa::component::collision::Ray::direction(), sofa::component::collision::Ray::l(), sofa::component::collision::Ray::origin(), and sofa::component::collision::TSphere< DataTypes >::r().
| bool sofa::component::collision::DiscreteIntersection::testIntersection | ( | Sphere & | sph1, | |
| Sphere & | sph2 | |||
| ) | [inline] |
Reimplemented in sofa::component::collision::LocalMinDistance, sofa::component::collision::MinProximityIntersection, and sofa::component::collision::NewProximityIntersection.
Definition at line 50 of file DiscreteIntersection.inl.
References sofa::component::collision::TSphere< DataTypes >::center(), and sofa::component::collision::TSphere< DataTypes >::r().
| bool sofa::component::collision::DiscreteIntersection::testIntersection | ( | Cube & | cube1, | |
| Cube & | cube2 | |||
| ) |
Reimplemented in sofa::component::collision::LocalMinDistance, sofa::component::collision::MinProximityIntersection, and sofa::component::collision::NewProximityIntersection.
Definition at line 94 of file DiscreteIntersection.cpp.
References sofa::component::collision::Cube::maxVect(), and sofa::component::collision::Cube::minVect().
core::componentmodel::collision::IntersectorMap sofa::component::collision::DiscreteIntersection::intersectors [protected] |
Definition at line 58 of file DiscreteIntersection.h.
Referenced by findIntersector(), sofa::component::collision::NewProximityIntersection::init(), sofa::component::collision::MinProximityIntersection::init(), and sofa::component::collision::LocalMinDistance::init().
1.5.7.1