46 #include "MathTools/mathtools.h"
104 explicit Ray(
const Ogre::Ray& InternalRay);
113 const Vector3& GetNormal()
const;
116 void SetNormal(
const Vector3& FreshNormal);
120 const Vector3& GetOrigin()
const;
123 void SetOrigin(
const Vector3& FreshOrigin);
134 PlaneRayTestResult Intersects(
const Plane& ToCheck)
const;
138 GeometryRayTestResult Intersects(
const Sphere& ToCheck)
const;
142 GeometryRayTestResult Intersects(
const AxisAlignedBox& ToCheck)
const;
149 void ExtractOgreRay(
const Ogre::Ray& InternalRay);
152 Ogre::Ray GetOgreRay()
const;
159 void ProtoSerialize(
XML::Node& ParentNode)
const;
162 void ProtoDeSerialize(
const XML::Node& SelfRoot);
166 static String GetSerializableName();
173 void operator=(
const Ray& Other);
178 Boole operator==(
const Ray& Other)
const;
182 Boole operator!=(
const Ray& Other)
const;
This is a generic sphere class used for spacial queries.
std::ostream & operator<<(std::ostream &stream, const Mezzanine::LinearInterpolator< T > &Lint)
Used to Serialize an Mezzanine::LinearInterpolator to a human readable stream.
std::pair< Boole, Vector3 > PlaneRayTestResult
This is a type used for the ray intersection tests performed on Planes.
bool Boole
Generally acts a single bit, true or false.
Vector3 Origin
The origin point of the Vector.
This is used to represent a flat infinite slice of the game world.
Vector3 Normal
The direction this ray is pointing.
float Real
A Datatype used to represent a real floating point number.
MathTools::GeometryRayTestResult GeometryRayTestResult
This is a type used for the return of a ray intersection test.
A light-weight handle for manipulating nodes in DOM tree.
This is used to represent a point in space, or a vector through space.
The bulk of the engine components go in this namspace.
std::string String
A datatype used to a series of characters.
This represents a line placed in 3D space and is used with spacial queries.
This is a utility class used to represent the Axis-Aligned Bounding Boxes of objects in various subsy...