This represents a line placed in 3D space and is used with spacial queries. More...
#include <ray.h>
Public Types | |
typedef MathTools::GeometryRayTestResult | GeometryRayTestResult |
This is a type used for the return of a ray intersection test. More... | |
typedef std::pair< Boole, Vector3 > | PlaneRayTestResult |
This is a type used for the ray intersection tests performed on Planes. More... | |
Public Member Functions | |
Ray () | |
Default constructor. More... | |
Ray (const Ray &Other) | |
Copy constructor. More... | |
Ray (const Vector3 &Dir) | |
Destination constructor. More... | |
Ray (const Vector3 &From, const Vector3 &Dir) | |
Descriptive constructor. More... | |
Ray (const Ogre::Ray &InternalRay) | |
Internal constructor. More... | |
~Ray () | |
Class destructor. | |
void | ExtractOgreRay (const Ogre::Ray &InternalRay) |
Changes this Ray to match the Ogre Ray. More... | |
const Vector3 & | GetNormal () const |
Gets the normal of this Ray. More... | |
Ogre::Ray | GetOgreRay () const |
Gets an Ogre::Ray that contains this Rays information. More... | |
const Vector3 & | GetOrigin () const |
Gets the origin of this ray. More... | |
Vector3 | GetPointAtDistance (const Real &Distance) |
Gets a point on the ray at a distance. More... | |
PlaneRayTestResult | Intersects (const Plane &ToCheck) const |
Checks to see if this ray intersects a plane. More... | |
GeometryRayTestResult | Intersects (const Sphere &ToCheck) const |
Checks to see if this ray intersects a sphere. More... | |
GeometryRayTestResult | Intersects (const AxisAlignedBox &ToCheck) const |
Checks to see if this ray intersects an AABB. More... | |
Boole | operator!= (const Ray &Other) const |
Inequality operator. More... | |
void | operator= (const Ray &Other) |
Assignment operator. More... | |
Boole | operator== (const Ray &Other) const |
Equality operator. More... | |
void | ProtoDeSerialize (const XML::Node &SelfRoot) |
Take the data stored in an XML Node and overwrite this object with it. More... | |
void | ProtoSerialize (XML::Node &ParentNode) const |
Convert this class to an XML::Node ready for serialization. More... | |
void | SetNormal (const Vector3 &FreshNormal) |
Sets the normal of this Ray. More... | |
void | SetOrigin (const Vector3 &FreshOrigin) |
Sets the origin of this ray. More... | |
Static Public Member Functions | |
static String | GetSerializableName () |
Get the name of the the XML tag this class will leave behind as its instances are serialized. More... | |
Public Attributes | |
Vector3 | Normal |
The direction this ray is pointing. | |
Vector3 | Origin |
The origin point of the Vector. | |
This represents a line placed in 3D space and is used with spacial queries.
This is made of Two Vector3 instances. The Origin of a Ray can be thought of as its starting location. The Normal of the Ray will be another point defined as a Vector3 that is always 1 unit away, as mathematical precision allows. This normal is used to indicate direction and from the two points any other points on the Ray can be calculated.
typedef MathTools::GeometryRayTestResult Mezzanine::Ray::GeometryRayTestResult |
typedef std::pair<Boole,Vector3> Mezzanine::Ray::PlaneRayTestResult |
Mezzanine::Ray::Ray | ( | ) |
Mezzanine::Ray::Ray | ( | const Ray & | Other | ) |
Mezzanine::Ray::Ray | ( | const Vector3 & | Dir | ) |
|
explicit |
void Mezzanine::Ray::ExtractOgreRay | ( | const Ogre::Ray & | InternalRay | ) |
const Vector3 & Mezzanine::Ray::GetNormal | ( | ) | const |
Ogre::Ray Mezzanine::Ray::GetOgreRay | ( | ) | const |
const Vector3 & Mezzanine::Ray::GetOrigin | ( | ) | const |
|
static |
Ray::PlaneRayTestResult Mezzanine::Ray::Intersects | ( | const Plane & | ToCheck | ) | const |
Ray::GeometryRayTestResult Mezzanine::Ray::Intersects | ( | const Sphere & | ToCheck | ) | const |
Ray::GeometryRayTestResult Mezzanine::Ray::Intersects | ( | const AxisAlignedBox & | ToCheck | ) | const |
void Mezzanine::Ray::operator= | ( | const Ray & | Other | ) |
void Mezzanine::Ray::ProtoDeSerialize | ( | const XML::Node & | SelfRoot | ) |
void Mezzanine::Ray::ProtoSerialize | ( | XML::Node & | ParentNode | ) | const |
void Mezzanine::Ray::SetNormal | ( | const Vector3 & | FreshNormal | ) |
void Mezzanine::Ray::SetOrigin | ( | const Vector3 & | FreshOrigin | ) |