#include "Base/spStandard.hpp"
#include "Base/spMath.hpp"
#include "Base/spDimensionPolygon.hpp"
Go to the source code of this file.
Namespaces | |
namespace | sp |
!! | |
namespace | sp::scene |
Add 3D object management functions and scene rendering can be found in this namespace. | |
namespace | sp::math |
This namespace contains all mathematical basic functions such as sine, cosine, distance calculations etc. | |
namespace | sp::math::CollisionLibrary |
Here you will find each function for collision detection, distance computation and intersection tests. | |
Functions | |
SP_EXPORT dim::vector3df | sp::math::CollisionLibrary::getClosestPoint (const dim::triangle3df &Triangle, const dim::vector3df &Point) |
SP_EXPORT bool | sp::math::CollisionLibrary::getClosestPointStraight (const dim::triangle3df &Triangle, const dim::vector3df &Point, dim::vector3df &PointOnTriangle) |
SP_EXPORT dim::vector3df | sp::math::CollisionLibrary::getClosestPoint (const dim::aabbox3df &Box, const dim::vector3df &Point) |
SP_EXPORT dim::vector3df | sp::math::CollisionLibrary::getClosestPoint (const dim::aabbox3df &Box, const dim::vector3df &Point, dim::vector3df &Normal) |
SP_EXPORT dim::vector3df | sp::math::CollisionLibrary::getClosestPoint (const dim::obbox3df &Box, const dim::vector3df &Point) |
SP_EXPORT dim::line3df | sp::math::CollisionLibrary::getClosestLine (const dim::triangle3df &Triangle, const dim::line3df &Line) |
SP_EXPORT bool | sp::math::CollisionLibrary::getClosestLineStraight (const dim::triangle3df &Triangle, const dim::line3df &Line, dim::line3df &LineToTriangle) |
SP_EXPORT dim::line3df | sp::math::CollisionLibrary::getClosestLine (const dim::quadrangle3df &Quadrangle, const dim::line3df &Line) |
SP_EXPORT dim::line3df | sp::math::CollisionLibrary::getClosestLine (const dim::aabbox3df &Box, const dim::line3df &Line) |
SP_EXPORT f32 | sp::math::CollisionLibrary::getPointBoxDistanceSq (const dim::obbox3df &Box, const dim::vector3df &Point) |
Computes the squared distance between the given box and point. | |
f32 | sp::math::CollisionLibrary::getPointBoxDistance (const dim::obbox3df &Box, const dim::vector3df &Point) |
Computes the distance between the given box and point. | |
SP_EXPORT f32 | sp::math::CollisionLibrary::getLineBoxDistanceSq (const dim::aabbox3df &Box, const dim::line3df &Line) |
f32 | sp::math::CollisionLibrary::getLineBoxDistance (const dim::aabbox3df &Box, const dim::line3df &Line) |
Computes the distance between the given box and line. | |
SP_EXPORT f32 | sp::math::CollisionLibrary::getLineLineDistanceSq (const dim::line3df &LineA, const dim::line3df &LineB, dim::vector3df &PointP, dim::vector3df &PointQ) |
f32 | sp::math::CollisionLibrary::getLineLineDistance (const dim::line3df &LineA, const dim::line3df &LineB, dim::vector3df &PointP, dim::vector3df &PointQ) |
Returns the square root of the result of the getLineLineDistanceSq function. | |
SP_EXPORT bool | sp::math::CollisionLibrary::getLineLineIntersection (const dim::line3df &LineA, const dim::line3df &LineB, dim::vector3df &Intersection) |
SP_EXPORT dim::point2df | sp::math::CollisionLibrary::get2DLineLineIntersectionStraight (const dim::point2df &A, const dim::point2df &B, const dim::point2df &C, const dim::point2df &D) |
SP_EXPORT bool | sp::math::CollisionLibrary::checkLineTriangleIntersection (const dim::triangle3df &Triangle, const dim::line3df &Line, dim::vector3df &Intersection) |
SP_EXPORT bool | sp::math::CollisionLibrary::checkLineSphereIntersection (const dim::line3df &Line, const dim::vector3df &SpherePosition, const f32 SphereRadius, dim::vector3df &Intersection, bool MakeRayTest) |
SP_EXPORT bool | sp::math::CollisionLibrary::checkLineBoxIntersection (const dim::line3df &Line, const dim::aabbox3df &Box, dim::vector3df &Intersection, bool MakeRayTest) |
SP_EXPORT bool | sp::math::CollisionLibrary::checkTriangleTriangleIntersection (const dim::triangle3df &TriangleA, const dim::triangle3df &TriangleB, dim::line3df &Intersection) |
SP_EXPORT bool | sp::math::CollisionLibrary::checkLineBoxOverlap (const dim::line3df &Line, const dim::aabbox3df &Box) |
Returns true if an intersection between "Line" and "Box" has been detected. | |
SP_EXPORT bool | sp::math::CollisionLibrary::checkPlaneBoxOverlap (const dim::plane3df &Plane, const dim::aabbox3df &Box) |
Returns true if an intersection between "Plane" and "Box" has been detected. | |
SP_EXPORT bool | sp::math::CollisionLibrary::checkTriangleBoxOverlap (const dim::triangle3df &Triangle, const dim::aabbox3df &Box) |
Returns true if an intersection between "Triangle" and "Box" has been detected. | |
SP_EXPORT bool | sp::math::CollisionLibrary::checkOBBoxOBBoxOverlap (const dim::obbox3df &BoxA, const dim::obbox3df &BoxB) |
bool | sp::math::CollisionLibrary::checkPyramidPyramidOverlap (const dim::vector3df &OriginA, const scene::ViewFrustum &FrustumA, const dim::vector3df &OriginB, const scene::ViewFrustum &FrustumB) |
template<typename T , typename C > | |
bool | sp::math::CollisionLibrary::getLinePlaneIntersection (const dim::plane3d< T > &Plane, const C &LineStart, const C &LineEnd, C &Intersection) |
template<typename T , typename C > | |
bool | sp::math::CollisionLibrary::clipPolygon (const dim::polygon< C > &Poly, const dim::plane3d< T > &Plane, dim::polygon< C > &FrontPoly, dim::polygon< C > &BackPoly) |