This is used to represent a flat infinite slice of the game world. More...
#include <plane.h>
Public Types | |
typedef std::pair< Boolean, Vector3 > | RayTestResult |
This is a type used for the return of a ray intersection test. More... | |
enum | Side { S_None = 0, S_Positive = 1, S_Negative = 2, S_Both = 3 } |
An enum used to describe which side of the plane the result of a query is on. | |
Public Member Functions | |
Plane () | |
Default constructor. | |
Plane (const Plane &Other) | |
Copy constructor. More... | |
Plane (const Vector3 &Norm, const Real Constant) | |
Descriptive constructor. More... | |
Plane (const Vector3 &Norm, const Vector3 &Point) | |
Dual Vector constructor. More... | |
Plane (const Vector3 &First, const Vector3 &Second, const Vector3 &Third) | |
Triangle constructor. More... | |
Plane (const Ogre::Plane &InternalPlane) | |
Compatibility constructor. More... | |
~Plane () | |
Class destructor. | |
void | Define (const Vector3 &Norm, const Real Constant) |
Defines the dimensions of this plane explicitly. More... | |
void | Define (const Vector3 &Norm, const Vector3 &Point) |
Defines the dimensions of this plane based on an origin and direction. More... | |
void | Define (const Vector3 &First, const Vector3 &Second, const Vector3 &Third) |
Defines the dimensions of this plane from a triangle in 3D space. More... | |
void | ExtractOgrePlane (const Ogre::Plane &InternalPlane) |
Changes this Plane to match the Ogre Plane. More... | |
Real | GetDistance (const Vector3 &Point) const |
Gets the distance from the plane to a point in 3D space. More... | |
Ogre::Plane | GetOgrePlane () const |
Gets an Ogre::Plane that contains this Planes information. More... | |
Side | GetSide (const Vector3 &Point) const |
Gets which side of the plane a point in 3D space is. More... | |
Side | GetSide (const Vector3 &Center, const Vector3 &HalfSize) const |
Gets which side of the plane a box shape is. More... | |
RayTestResult | Intersects (const Ray &ToCheck) const |
Checks to see if a ray intersects this Plane. More... | |
Boolean | IsOverlapping (const Sphere &ToCheck) const |
Checks to see if a sphere overlaps with this Plane. More... | |
Boolean | IsOverlapping (const AxisAlignedBox &ToCheck) const |
Checks to see if an AABB overlaps with this Plane. More... | |
Boolean | IsOverlapping (const Plane &ToCheck) const |
Checks to see if another Plane intersects this one. More... | |
Boolean | operator!= (const Plane &Other) const |
Inequality operator. More... | |
void | operator= (const Plane &Other) |
Assignment operator. More... | |
void | operator= (const Ogre::Plane &InternalPlane) |
The assignment operator from Ogre::Plane to Mezzanine::Plane. More... | |
Boolean | operator== (const Plane &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... | |
Static Public Member Functions | |
static String | GetSerializableName () |
Get the name of the the XML tag the proxy class will leave behind as its instances are serialized. More... | |
Public Attributes | |
Real | Distance |
How from from the origin the plane is. | |
Vector3 | Normal |
The rotation of the plane. | |
This is used to represent a flat infinite slice of the game world.
The Normal value represents how rotated the plane will be, and The Distance with represent how far you need to move down a line perpendicular to the plane, (ie the normal, which is defined by the Normal value) from the Origin.
typedef std::pair<Boolean,Vector3> Mezzanine::Plane::RayTestResult |
Mezzanine::Plane::Plane | ( | const Plane & | Other) |
|
explicit |
void Mezzanine::Plane::ExtractOgrePlane | ( | const Ogre::Plane & | InternalPlane) |
Gets the distance from the plane to a point in 3D space.
Point | The point in 3D space to get the distance to. |
Ogre::Plane Mezzanine::Plane::GetOgrePlane | ( | ) | const |
|
static |
Plane::Side Mezzanine::Plane::GetSide | ( | const Vector3 & | Point) | const |
Plane::Side Mezzanine::Plane::GetSide | ( | const Vector3 & | Center, |
const Vector3 & | HalfSize | ||
) | const |
Plane::RayTestResult Mezzanine::Plane::Intersects | ( | const Ray & | ToCheck) | const |
Boolean Mezzanine::Plane::IsOverlapping | ( | const Sphere & | ToCheck) | const |
Boolean Mezzanine::Plane::IsOverlapping | ( | const AxisAlignedBox & | ToCheck) | const |
Boolean Mezzanine::Plane::IsOverlapping | ( | const Plane & | ToCheck) | const |
Boolean Mezzanine::Plane::operator!= | ( | const Plane & | Other) | const |
void Mezzanine::Plane::operator= | ( | const Plane & | Other) |
void Mezzanine::Plane::operator= | ( | const Ogre::Plane & | InternalPlane) |
The assignment operator from Ogre::Plane to Mezzanine::Plane.
InternalPlane | The Ogre::Plane to take data from. |
Boolean Mezzanine::Plane::operator== | ( | const Plane & | Other) | const |
void Mezzanine::Plane::ProtoDeSerialize | ( | const XML::Node & | SelfRoot) |
void Mezzanine::Plane::ProtoSerialize | ( | XML::Node & | ParentNode) | const |