KrisLibrary  1.0.0
Geometry.h
Go to the documentation of this file.
1 #ifndef ROBOTICS_GEOMETRY_H
2 #define ROBOTICS_GEOMETRY_H
3 
5 #include <KrisLibrary/math3d/Sphere3D.h>
6 #include <KrisLibrary/math3d/Circle3D.h>
7 using namespace Math3D;
8 
16 template <class Rot>
19 void GetRotationAboutLocalPoint(const Vector3& localpt,const Vector3& pt,const Rot& r,RigidTransform& T);
20 
22 template <class Rot>
23 void GetRotationAboutPoint(const Vector3& pt,const Rot& r,RigidTransform& T);
24 
26 bool BallCircleCollision(const Sphere3D& a, const Circle3D& b);
27 
29 void CircleCircleClosestPoints(const Circle3D& a, const Circle3D& b,
30  Vector3& pa, Vector3& pb);
31 
41 int BallBallIntersection(const Sphere3D& a,const Sphere3D& b,Circle3D& c);
42 
43 void CollisionSelfTest();
44 
47 #endif
A 3D vector class.
Definition: math3d/primitives.h:136
void CircleCircleClosestPoints(const Circle3D &a, const Circle3D &b, Vector3 &pa, Vector3 &pb)
Calculates the closest points on the boundaries of circles a,b.
Definition: Geometry.cpp:65
3D rotation representations.
A rigid-body transformation.
Definition: math3d/primitives.h:820
A 3D sphere class.
Definition: Sphere3D.h:21
int BallBallIntersection(const Sphere3D &a, const Sphere3D &b, Circle3D &c)
Calculates the intersection region of the balls a,b.
Definition: Geometry.cpp:98
void GetRotationAboutLocalPoint(const Vector3 &localpt, const Vector3 &pt, const Rot &r, RigidTransform &T)
Definition: Geometry.cpp:8
Contains all the definitions in the Math3D package.
Definition: AnyGeometry.h:13
A 2D circle in 3D space class.
Definition: Circle3D.h:21
bool BallCircleCollision(const Sphere3D &a, const Circle3D &b)
Returns true if the solid ball a intersects the circle boundary b.
Definition: Geometry.cpp:60
void GetRotationAboutPoint(const Vector3 &pt, const Rot &r, RigidTransform &T)
Returns the RigidTransform that rotates by r about the point pt.
Definition: Geometry.cpp:18