Go to the source code of this file.
|
enum | RAY_CLASSIFICATION {
RAY_CLASSIFICATION::MMM,
RAY_CLASSIFICATION::MMP,
RAY_CLASSIFICATION::MPM,
RAY_CLASSIFICATION::MPP,
RAY_CLASSIFICATION::PMM,
RAY_CLASSIFICATION::PMP,
RAY_CLASSIFICATION::PPM,
RAY_CLASSIFICATION::PPP,
RAY_CLASSIFICATION::POO,
RAY_CLASSIFICATION::MOO,
RAY_CLASSIFICATION::OPO,
RAY_CLASSIFICATION::OMO,
RAY_CLASSIFICATION::OOP,
RAY_CLASSIFICATION::OOM,
RAY_CLASSIFICATION::OMM,
RAY_CLASSIFICATION::OMP,
RAY_CLASSIFICATION::OPM,
RAY_CLASSIFICATION::OPP,
RAY_CLASSIFICATION::MOM,
RAY_CLASSIFICATION::MOP,
RAY_CLASSIFICATION::POM,
RAY_CLASSIFICATION::POP,
RAY_CLASSIFICATION::MMO,
RAY_CLASSIFICATION::MPO,
RAY_CLASSIFICATION::PMO,
RAY_CLASSIFICATION::PPO
} |
|
◆ RAY_CLASSIFICATION
Enumerator |
---|
MMM | |
MMP | |
MPM | |
MPP | |
PMM | |
PMP | |
PPM | |
PPP | |
POO | |
MOO | |
OPO | |
OMO | |
OOP | |
OOM | |
OMM | |
OMP | |
OPM | |
OPP | |
MOM | |
MOP | |
POM | |
POP | |
MMO | |
MPO | |
PMO | |
PPO | |
Definition at line 31 of file ray.h.
◆ IntersectSegment()
bool IntersectSegment |
( |
const SFVEC2F & |
aStartA, |
|
|
const SFVEC2F & |
aEnd_minus_startA, |
|
|
const SFVEC2F & |
aStartB, |
|
|
const SFVEC2F & |
aEnd_minus_startB |
|
) |
| |
Definition at line 181 of file ray.cpp.
184 float rxs = aEnd_minus_startA.x * aEnd_minus_startB.y - aEnd_minus_startA.y *
187 if( std::abs( rxs ) > glm::epsilon<float>() )
189 float inv_rxs = 1.0f / rxs;
191 SFVEC2F pq = aStartB - aStartA;
193 float t = ( pq.x * aEnd_minus_startB.y - pq.y * aEnd_minus_startB.x ) * inv_rxs;
195 if( ( t < 0.0f ) || ( t > 1.0f ) )
198 float u = ( pq.x * aEnd_minus_startA.y - pq.y * aEnd_minus_startA.x ) * inv_rxs;
200 if( ( u < 0.0f ) || ( u > 1.0f ) )
Referenced by ROUND_SEGMENT_2D::Intersects().