zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Zeni::Collision::Infinite_Cylinder Class Reference

Collision Infinite Cylinder. More...

#include <Collision.h>

Public Member Functions

 Infinite_Cylinder ()
 
 Infinite_Cylinder (const Point3f &end_point_a_, const Point3f &end_point_b_, const float &radius_)
 
 Infinite_Cylinder (const Point3f &end_point_a_, const Vector3f &direction_vector_, const float &radius_)
 
const Point3fget_end_point_a () const
 
const Point3fget_end_point_b () const
 
const float & get_radius () const
 
template<typename TYPE >
bool intersects (const TYPE &rhs) const
 
float shortest_distance (const Infinite_Cylinder &rhs) const
 
float shortest_distance (const Point3f &rhs) const
 
float shortest_distance (const Sphere &rhs) const
 
float shortest_distance (const Plane &rhs) const
 
float shortest_distance (const Line &rhs) const
 
float shortest_distance (const Ray &rhs) const
 
float shortest_distance (const Line_Segment &rhs) const
 
float shortest_distance (const Capsule &rhs) const
 
float shortest_distance (const Parallelepiped &rhs) const
 

Detailed Description

Collision Infinite Cylinder.

This class ZENI_DLL describes an Infinite Cylinder object in 3-space. The Infinite_Cylinder extends the Line to have a radius. It is possible to test to see if it intersects any other object in Zeni_Collision, and it is also possible to find the shortest distance between it and any other object in Zeni_Collision.

Author
bazald

Contact: bazal.nosp@m.d@ze.nosp@m.nipex.nosp@m..com

Definition at line 352 of file Collision.h.

Constructor & Destructor Documentation

Zeni::Collision::Infinite_Cylinder::Infinite_Cylinder ( )
inline

Definition at line 354 of file Collision.h.

Zeni::Collision::Infinite_Cylinder::Infinite_Cylinder ( const Point3f end_point_a_,
const Point3f end_point_b_,
const float &  radius_ 
)

Definition at line 394 of file Collision.cpp.

Zeni::Collision::Infinite_Cylinder::Infinite_Cylinder ( const Point3f end_point_a_,
const Vector3f direction_vector_,
const float &  radius_ 
)

Definition at line 401 of file Collision.cpp.

Member Function Documentation

const Point3f& Zeni::Collision::Infinite_Cylinder::get_end_point_a ( ) const
inline

Definition at line 373 of file Collision.h.

const Point3f& Zeni::Collision::Infinite_Cylinder::get_end_point_b ( ) const
inline

Definition at line 374 of file Collision.h.

const float& Zeni::Collision::Infinite_Cylinder::get_radius ( ) const
inline
template<typename TYPE >
bool Zeni::Collision::Infinite_Cylinder::intersects ( const TYPE rhs) const

Definition at line 169 of file Collision.hxx.

References shortest_distance(), and ZENI_COLLISION_EPSILON.

float Zeni::Collision::Infinite_Cylinder::shortest_distance ( const Point3f rhs) const
float Zeni::Collision::Infinite_Cylinder::shortest_distance ( const Sphere rhs) const
float Zeni::Collision::Infinite_Cylinder::shortest_distance ( const Plane rhs) const
float Zeni::Collision::Infinite_Cylinder::shortest_distance ( const Line rhs) const
float Zeni::Collision::Infinite_Cylinder::shortest_distance ( const Ray rhs) const
float Zeni::Collision::Infinite_Cylinder::shortest_distance ( const Line_Segment rhs) const
float Zeni::Collision::Infinite_Cylinder::shortest_distance ( const Capsule rhs) const
inline

Definition at line 161 of file Collision.hxx.

References Zeni::Collision::Capsule::shortest_distance().

float Zeni::Collision::Infinite_Cylinder::shortest_distance ( const Parallelepiped rhs) const
inline

The documentation for this class was generated from the following files: