12 m_cNormal =
CVector3(c_point_3 - c_point_2);
15 m_cPosition = c_point_2;
27 Real fNumerator = (m_cPosition-c_ray.
GetStart()).DotProduct(m_cNormal);
30 if(
Abs(fDenominator) > 1e-6) {
32 f_t_on_ray = fNumerator / fDenominator / c_ray.
GetLength();
33 return (f_t_on_ray < 1.0f);
38 if(
Abs(fNumerator) > 1e-6) {
float Real
Collects all ARGoS code.
The namespace containing all the ARGoS related code.
T Abs(const T &t_v)
Returns the absolute value of the passed argument.
bool Intersects(Real &f_t_on_ray, const CRay3 &c_ray)
void SetFromThreePoints(const CVector3 &c_point_1, const CVector3 &c_point_2, const CVector3 &c_point_3)
void GetDirection(CVector3 &c_buffer) const
CVector3 & CrossProduct(const CVector3 &c_vector3)
Calculates the cross product between this vector and the passed one.
Real DotProduct(const CVector3 &c_vector3) const
Returns the dot product between this vector and the passed one.
CVector3 & Normalize()
Normalizes this vector.