Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Opcode::Ray Class Reference

#include <Opcode.h>

Public Member Functions

inline_ Ray ()
 Constructor. More...
 
inline_ Ray (const Point &orig, const Point &dir)
 Constructor. More...
 
inline_ Ray (const Ray &ray)
 Copy constructor. More...
 
inline_ ~Ray ()
 Destructor. More...
 
float SquareDistance (const Point &point, float *t=null) const
 
inline_ float Distance (const Point &point, float *t=null) const
 

Public Attributes

Point mOrig
 Ray origin. More...
 
Point mDir
 Normalized direction. More...
 

Detailed Description

Definition at line 16 of file Opcode.h.

Constructor & Destructor Documentation

inline_ Opcode::Ray::Ray ( )
inline

Constructor.

Definition at line 20 of file Opcode.h.

39 {
inline_ Opcode::Ray::Ray ( const Point orig,
const Point dir 
)
inline

Constructor.

Definition at line 22 of file Opcode.h.

39 {
inline_ Opcode::Ray::Ray ( const Ray ray)
inline

Copy constructor.

Definition at line 24 of file Opcode.h.

39 {
inline_ Opcode::Ray::~Ray ( )
inline

Destructor.

Definition at line 26 of file Opcode.h.

39 {

Member Function Documentation

inline_ float Opcode::Ray::Distance ( const Point point,
float t = null 
) const
inline

Definition at line 29 of file Opcode.h.

39 {
float Ray::SquareDistance ( const Point point,
float t = null 
) const

Definition at line 67 of file IceRay.cpp.

References f, mDir, mOrig, and Opcode::Point::SquareMagnitude().

68 {
69  Point Diff = point - mOrig;
70  float fT = Diff | mDir;
71 
72  if(fT<=0.0f)
73  {
74  fT = 0.0f;
75  }
76  else
77  {
78  fT /= mDir.SquareMagnitude();
79  Diff -= fT*mDir;
80  }
81 
82  if(t) *t = fT;
83 
84  return Diff.SquareMagnitude();
85 }

Member Data Documentation

Point Opcode::Ray::mDir

Normalized direction.

Definition at line 32 of file Opcode.h.

Referenced by SquareDistance().

Point Opcode::Ray::mOrig

Ray origin.

Definition at line 31 of file Opcode.h.

Referenced by SquareDistance().


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