CGAL utilities. More...
Classes | |
class | SPL::Arcball< T > |
Arcball. More... | |
struct | SPL::Rotation_3< T > |
A 3-D rotation. More... | |
struct | SPL::Quaternion< T > |
A quaternion represented in terms of its scalar and vector parts. More... | |
Functions | |
template<class T > | |
T::Point_3 | SPL::closestPointOnRay (const typename CGAL::Point_3< T > &rayOrigin, const typename CGAL::Vector_3< T > &rayDir, const typename CGAL::Point_3< T > &point) |
Compute the closest point on a ray to the specified point. More... | |
template<class T > | |
std::pair< bool, typename T::Point_3 > | SPL::findRaySphereIntersection (const typename CGAL::Point_3< T > &sphereCenter, typename T::FT sphereRadius, const typename CGAL::Point_3< T > &rayOrigin, const typename CGAL::Vector_3< T > &rayDir) |
Compute the intersection of a ray and a sphere. More... | |
template<class T > | |
std::pair< bool, typename T::Point_3 > | SPL::findRayPlaneIntersection (const typename CGAL::Point_3< T > &planePoint, const typename CGAL::Vector_3< T > &planeNormal, const typename CGAL::Point_3< T > &rayOrigin, const typename CGAL::Vector_3< T > &rayDir) |
Compute the intersection of a ray and a plane. More... | |
template<class T > | |
T::FT | SPL::norm (const typename CGAL::Vector_3< T > &v) |
Compute the norm of a vector. More... | |
template<class T > | |
T::Vector_3 | SPL::normalize (const typename CGAL::Vector_3< T > &v) |
Compute a unit vector. More... | |
template<class T > | |
T::FT | SPL::angleBetweenVectors (const typename CGAL::Vector_3< T > &u, const CGAL::Vector_3< T > &v) |
Compute the angle between two vectors. More... | |
template<class T > | |
Quaternion< T > | SPL::operator* (const Quaternion< T > &q, const Quaternion< T > &r) |
Compute the product of two quaternions. More... | |
template<class T > | |
Quaternion< T > | SPL::operator/ (const Quaternion< T > &q, const Quaternion< T > &r) |
Compute the quotient of two quaternions. More... | |
template<class T > | |
Quaternion< T > | SPL::rotationToQuaternion (const Rotation_3< T > &rot) |
Convert a rotation into its corresponding quaternion. More... | |
template<class T > | |
Rotation_3< T > | SPL::quaternionToRotation (const Quaternion< T > &q) |
Convert a unit-norm quaternion into its corresponding rotation. More... | |
SPL::Arcball< T >::Arcball () | |
Create an arcball. More... | |
void | SPL::Arcball< T >::initialize (double arcBallRadius, const Point &eyePos, const Vector &eyeDir, const Vector &eyeUp, const Point &sceneCenter) |
Initialize the state of an arcball. More... | |
void | SPL::Arcball< T >::setMode (int mode) |
Set the arcball rotation mode. More... | |
void | SPL::Arcball< T >::start (const Point &pos) |
Set the starting position for arcball movement. More... | |
void | SPL::Arcball< T >::move (const Point &pos) |
Set the current position for arcball movement. More... | |
void | SPL::Arcball< T >::clear () |
Clear the starting and current positions for the arcball. More... | |
Rotation | SPL::Arcball< T >::getRotation () const |
Get the rotation required to turn the arcball from the starting position to the current position. More... | |
static Rotation | SPL::Arcball< T >::combineRotations (const Rotation &, const Rotation &) |
Combine two rotations. More... | |
CGAL utilities.
|
inline |
Compute the angle between two vectors.
SPL::Arcball< T >::Arcball | ( | ) |
Create an arcball.
void SPL::Arcball< T >::clear | ( | ) |
Clear the starting and current positions for the arcball.
T::Point_3 SPL::closestPointOnRay | ( | const typename CGAL::Point_3< T > & | rayOrigin, |
const typename CGAL::Vector_3< T > & | rayDir, | ||
const typename CGAL::Point_3< T > & | point | ||
) |
Compute the closest point on a ray to the specified point.
|
static |
Combine two rotations.
std::pair<bool, typename T::Point_3> SPL::findRayPlaneIntersection | ( | const typename CGAL::Point_3< T > & | planePoint, |
const typename CGAL::Vector_3< T > & | planeNormal, | ||
const typename CGAL::Point_3< T > & | rayOrigin, | ||
const typename CGAL::Vector_3< T > & | rayDir | ||
) |
Compute the intersection of a ray and a plane.
Compute the intersection of a ray and a plane. The return value is a pair. The first element of the pair is a boolean. This value is true if an intersection point was found, and is false otherwise. The second element in the pair is the intersection point closest to the ray's origin. If no intersection point was found, the ray's origin is returned.
std::pair<bool, typename T::Point_3> SPL::findRaySphereIntersection | ( | const typename CGAL::Point_3< T > & | sphereCenter, |
typename T::FT | sphereRadius, | ||
const typename CGAL::Point_3< T > & | rayOrigin, | ||
const typename CGAL::Vector_3< T > & | rayDir | ||
) |
Compute the intersection of a ray and a sphere.
Compute the intersection of a ray and a sphere. The return value is a pair. The first element in the pair is a boolean value. This value is true if an intersection point was found, and is false otherwise. The second element in the pair is the intersection point closest to the ray's origin. If no intersection was found, the point on the sphere that is closest to the ray is returned.
Arcball< T >::Rotation SPL::Arcball< T >::getRotation | ( | ) | const |
Get the rotation required to turn the arcball from the starting position to the current position.
void SPL::Arcball< T >::initialize | ( | double | arcBallRadius, |
const Point & | eyePos, | ||
const Vector & | eyeDir, | ||
const Vector & | eyeUp, | ||
const Point & | sceneCenter | ||
) |
Initialize the state of an arcball.
void SPL::Arcball< T >::move | ( | const Point & | pos | ) |
Set the current position for arcball movement.
|
inline |
Compute the norm of a vector.
|
inline |
Compute a unit vector.
Compute a unit vector in the direction of the given vector. If the zero vector is given, the zero vector is returned.
Quaternion<T> SPL::operator* | ( | const Quaternion< T > & | q, |
const Quaternion< T > & | r | ||
) |
Compute the product of two quaternions.
Quaternion<T> SPL::operator/ | ( | const Quaternion< T > & | q, |
const Quaternion< T > & | r | ||
) |
Compute the quotient of two quaternions.
Rotation_3<T> SPL::quaternionToRotation | ( | const Quaternion< T > & | q | ) |
Convert a unit-norm quaternion into its corresponding rotation.
Quaternion<T> SPL::rotationToQuaternion | ( | const Rotation_3< T > & | rot | ) |
Convert a rotation into its corresponding quaternion.
void SPL::Arcball< T >::setMode | ( | int | mode | ) |
Set the arcball rotation mode.
void SPL::Arcball< T >::start | ( | const Point & | pos | ) |
Set the starting position for arcball movement.