This is used to represent a flat infinite slice of the game world. More...
#include <plane.h>
Collaboration diagram for Mezzanine::Plane:Public Types | |
| typedef std::pair< Boole, 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... | |
| Ray | GetOverlap (const Plane &Other) const |
| Gets the overlap of two Planes expressed as a Ray. 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... | |
| Boole | IsOverlapping (const Sphere &ToCheck) const |
| Checks to see if a sphere overlaps with this Plane. More... | |
| Boole | IsOverlapping (const AxisAlignedBox &ToCheck) const |
| Checks to see if an AABB overlaps with this Plane. More... | |
| Boole | IsOverlapping (const Plane &ToCheck) const |
| Checks to see if another Plane intersects this one. More... | |
| Boole | 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... | |
| Boole | 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 this 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<Boole,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 |
Gets the overlap of two Planes expressed as a Ray.
| Other | The other Plane to compare with. |
|
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 |
| Boole Mezzanine::Plane::IsOverlapping | ( | const AxisAlignedBox & | ToCheck | ) | 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. |
| void Mezzanine::Plane::ProtoDeSerialize | ( | const XML::Node & | SelfRoot | ) |
| void Mezzanine::Plane::ProtoSerialize | ( | XML::Node & | ParentNode | ) | const |
1.8.9.1. Thanks to the
Open Icon Library
for help with some of the icons.