|
COAL_DLLAPI void | buildMesh (const coal::Vec3s &scale, const aiScene *scene, unsigned vertices_offset, TriangleAndVertices &tv) |
| Recursive procedure for building a mesh. More...
|
|
CoalScalar | clamp (const CoalScalar &num, const CoalScalar &denom) |
| Clamp num / denom in [0, 1]. More...
|
|
void | clamped_linear (Vec3s &a_sd, const Vec3s &a, const CoalScalar &s_n, const CoalScalar &s_d, const Vec3s &d) |
| Clamp s=s_n/s_d in [0, 1] and stores a + s * d in a_sd. More...
|
|
void | computeNeighbors (const std::vector< Vec6s > &boxes, std::vector< Neighbors > &neighbors) |
|
template<class BoundingVolume > |
void | meshFromAssimpScene (const coal::Vec3s &scale, const aiScene *scene, const shared_ptr< BVHModel< BoundingVolume > > &mesh) |
| Convert an assimp scene to a mesh. More...
|
|
CoalScalar | obbDisjoint_check_A_axis (const Vec3s &T, const Vec3s &a, const Vec3s &b, const Matrix3s &Bf) |
|
CoalScalar | obbDisjoint_check_B_axis (const Matrix3s &B, const Vec3s &T, const Vec3s &a, const Vec3s &b, const Matrix3s &Bf) |
|
unsigned | recurseBuildMesh (const coal::Vec3s &scale, const aiScene *scene, const aiNode *node, unsigned vertices_offset, TriangleAndVertices &tv) |
| Recursive procedure for building a mesh. More...
|
|
template<> |
CoalScalar | ShapeShapeDistance< Box, Halfspace > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Box, Plane > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Box, Sphere > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Capsule, Capsule > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &wp1, Vec3s &wp2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Capsule, Halfspace > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Capsule, Plane > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Capsule, Sphere > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Cone, Halfspace > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Cone, Plane > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< ConvexBase, Halfspace > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< ConvexBase, Plane > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Cylinder, Halfspace > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Cylinder, Plane > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Cylinder, Sphere > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Ellipsoid, Halfspace > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Ellipsoid, Plane > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Halfspace, Box > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Halfspace, Capsule > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Halfspace, Cone > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Halfspace, ConvexBase > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Halfspace, Cylinder > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Halfspace, Ellipsoid > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Halfspace, Halfspace > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Halfspace, Plane > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Halfspace, Sphere > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Halfspace, TriangleP > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Plane, Box > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Plane, Capsule > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Plane, Cone > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Plane, ConvexBase > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Plane, Cylinder > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Plane, Ellipsoid > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Plane, Halfspace > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Plane, Plane > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Plane, Sphere > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Plane, TriangleP > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Sphere, Box > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Sphere, Capsule > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Sphere, Cylinder > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Sphere, Halfspace > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Sphere, Plane > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Sphere, Sphere > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< Sphere, TriangleP > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< TriangleP, Halfspace > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< TriangleP, Plane > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< TriangleP, Sphere > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
template<> |
CoalScalar | ShapeShapeDistance< TriangleP, TriangleP > (const CollisionGeometry *o1, const Transform3s &tf1, const CollisionGeometry *o2, const Transform3s &tf2, const GJKSolver *solver, const bool, Vec3s &p1, Vec3s &p2, Vec3s &normal) |
|
void | updateDistanceLowerBoundFromBV (const CollisionRequest &, CollisionResult &res, const CoalScalar sqrDistLowerBound) |
|
void | updateDistanceLowerBoundFromLeaf (const CollisionRequest &, CollisionResult &res, const CoalScalar &distance, const Vec3s &p0, const Vec3s &p1, const Vec3s &normal) |
|