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

Collision Line Segment. More...

#include <Collision.h>

Public Member Functions

 Line_Segment ()
 
 Line_Segment (const Point3f &end_point_a_, const Point3f &end_point_b_)
 
const Vector3fget_direction () const
 
const float & get_direction2 () const
 
const Point3fget_end_point_a () const
 
const Point3fget_end_point_b () const
 
template<typename TYPE >
bool intersects (const TYPE &rhs) const
 
std::pair< float, float > nearest_point (const Line_Segment &rhs) const
 Returns <distance, interpolation value [0.0f, 1.0f]> More...
 
std::pair< float, float > nearest_point (const Point3f &rhs) const
 
std::pair< float, float > nearest_point (const Sphere &rhs) const
 
std::pair< float, float > nearest_point (const Plane &rhs) const
 
std::pair< float, float > nearest_point (const Line &rhs) const
 
std::pair< float, float > nearest_point (const Ray &rhs) const
 
std::pair< float, float > nearest_point (const Parallelepiped &rhs) const
 
float shortest_distance (const Sphere &rhs) const
 
float shortest_distance (const Point3f &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 Infinite_Cylinder &rhs) const
 
float shortest_distance (const Capsule &rhs) const
 
float shortest_distance (const Parallelepiped &rhs) const
 

Static Public Member Functions

static bool has_lower_bound ()
 
static bool has_upper_bound ()
 

Detailed Description

Collision Line Segment.

This class ZENI_DLL describes a Line Segment object in 3-space. 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. Additionally, it is possible to determine the closest point on the Line_Segment to the object it is being compared to.

Author
bazald

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

Definition at line 233 of file Collision.h.

Constructor & Destructor Documentation

Zeni::Collision::Line_Segment::Line_Segment ( )
inline

Definition at line 235 of file Collision.h.

Zeni::Collision::Line_Segment::Line_Segment ( const Point3f end_point_a_,
const Point3f end_point_b_ 
)

Definition at line 364 of file Collision.cpp.

Member Function Documentation

const Vector3f& Zeni::Collision::Line_Segment::get_direction ( ) const
inline

Definition at line 262 of file Collision.h.

const float& Zeni::Collision::Line_Segment::get_direction2 ( ) const
inline

Definition at line 263 of file Collision.h.

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

Definition at line 260 of file Collision.h.

Referenced by Zeni::Slider::get_end_point_a().

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

Definition at line 261 of file Collision.h.

Referenced by Zeni::Slider::get_end_point_b().

static bool Zeni::Collision::Line_Segment::has_lower_bound ( )
inlinestatic

Definition at line 264 of file Collision.h.

static bool Zeni::Collision::Line_Segment::has_upper_bound ( )
inlinestatic

Definition at line 265 of file Collision.h.

template<typename TYPE >
bool Zeni::Collision::Line_Segment::intersects ( const TYPE rhs) const

Definition at line 109 of file Collision.hxx.

References shortest_distance(), and ZENI_COLLISION_EPSILON.

std::pair< float, float > Zeni::Collision::Line_Segment::nearest_point ( const Line_Segment rhs) const
std::pair< float, float > Zeni::Collision::Line_Segment::nearest_point ( const Point3f rhs) const

Definition at line 372 of file Collision.cpp.

References Zeni::Collision::nearest_point().

std::pair< float, float > Zeni::Collision::Line_Segment::nearest_point ( const Sphere rhs) const
std::pair< float, float > Zeni::Collision::Line_Segment::nearest_point ( const Plane rhs) const

Definition at line 378 of file Collision.cpp.

References Zeni::Collision::nearest_point().

std::pair< float, float > Zeni::Collision::Line_Segment::nearest_point ( const Line rhs) const

Definition at line 381 of file Collision.cpp.

References Zeni::Collision::nearest_point().

std::pair< float, float > Zeni::Collision::Line_Segment::nearest_point ( const Ray rhs) const

Definition at line 384 of file Collision.cpp.

References Zeni::Collision::nearest_point().

std::pair< float, float > Zeni::Collision::Line_Segment::nearest_point ( const Parallelepiped rhs) const

Definition at line 390 of file Collision.cpp.

References Zeni::Collision::nearest_point().

float Zeni::Collision::Line_Segment::shortest_distance ( const Sphere rhs) const
inline
float Zeni::Collision::Line_Segment::shortest_distance ( const Point3f rhs) const
inline

Definition at line 83 of file Collision.hxx.

References nearest_point().

float Zeni::Collision::Line_Segment::shortest_distance ( const Plane rhs) const
inline

Definition at line 86 of file Collision.hxx.

References nearest_point().

float Zeni::Collision::Line_Segment::shortest_distance ( const Line rhs) const
inline

Definition at line 89 of file Collision.hxx.

References nearest_point().

float Zeni::Collision::Line_Segment::shortest_distance ( const Ray rhs) const
inline

Definition at line 92 of file Collision.hxx.

References nearest_point().

float Zeni::Collision::Line_Segment::shortest_distance ( const Line_Segment rhs) const
inline

Definition at line 95 of file Collision.hxx.

References nearest_point().

float Zeni::Collision::Line_Segment::shortest_distance ( const Infinite_Cylinder rhs) const
inline
float Zeni::Collision::Line_Segment::shortest_distance ( const Capsule rhs) const
inline

Definition at line 101 of file Collision.hxx.

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

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

Definition at line 104 of file Collision.hxx.

References nearest_point().


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