summaryrefslogtreecommitdiffstats
path: root/source/BoundingBox.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/BoundingBox.h')
-rw-r--r--source/BoundingBox.h90
1 files changed, 0 insertions, 90 deletions
diff --git a/source/BoundingBox.h b/source/BoundingBox.h
deleted file mode 100644
index ff9963989..000000000
--- a/source/BoundingBox.h
+++ /dev/null
@@ -1,90 +0,0 @@
-
-// BoundingBox.h
-
-// Declares the cBoundingBox class representing an axis-aligned bounding box with floatingpoint coords
-
-
-
-
-#pragma once
-
-#include "Vector3d.h"
-
-
-
-
-
-// tolua_begin
-
-/** Represents two sets of coords, minimum and maximum for each direction.
-All the coords within those limits (inclusive the edges) are considered "inside" the box.
-For intersection purposes, though, if the intersection is "sharp" in any coord (i. e. zero volume),
-the boxes are considered non-intersecting.
-*/
-class cBoundingBox
-{
-public:
- cBoundingBox(double a_MinX, double a_MaxX, double a_MinY, double a_MaxY, double a_MinZ, double a_MaxZ);
- cBoundingBox(const Vector3d & a_Min, const Vector3d & a_Max);
- cBoundingBox(const Vector3d & a_Pos, double a_Radius, double a_Height);
- cBoundingBox(const cBoundingBox & a_Orig);
-
- /// Moves the entire boundingbox by the specified offset
- void Move(double a_OffX, double a_OffY, double a_OffZ);
-
- /// Moves the entire boundingbox by the specified offset
- void Move(const Vector3d & a_Off);
-
- /// Expands the bounding box by the specified amount in each direction (so the box becomes larger by 2 * Expand in each direction)
- void Expand(double a_ExpandX, double a_ExpandY, double a_ExpandZ);
-
- /// Returns true if the two bounding boxes intersect
- bool DoesIntersect(const cBoundingBox & a_Other);
-
- /// Returns the union of the two bounding boxes
- cBoundingBox Union(const cBoundingBox & a_Other);
-
- /// Returns true if the point is inside the bounding box
- bool IsInside(const Vector3d & a_Point);
-
- /// Returns true if the point is inside the bounding box
- bool IsInside(double a_X, double a_Y,double a_Z);
-
- /// Returns true if a_Other is inside this bounding box
- bool IsInside(cBoundingBox & a_Other);
-
- /// Returns true if a boundingbox specified by a_Min and a_Max is inside this bounding box
- bool IsInside(const Vector3d & a_Min, const Vector3d & a_Max);
-
- /// Returns true if the specified point is inside the bounding box specified by its min/max corners
- static bool IsInside(const Vector3d & a_Min, const Vector3d & a_Max, const Vector3d & a_Point);
-
- /// Returns true if the specified point is inside the bounding box specified by its min/max corners
- static bool IsInside(const Vector3d & a_Min, const Vector3d & a_Max, double a_X, double a_Y, double a_Z);
-
- /** Returns true if this bounding box is intersected by the line specified by its two points
- Also calculates the distance along the line in which the intersection occurs (0 .. 1)
- Only forward collisions (a_LineCoeff >= 0) are returned.
- */
- bool CalcLineIntersection(const Vector3d & a_Line1, const Vector3d & a_Line2, double & a_LineCoeff, char & a_Face);
-
- /** Returns true if the specified bounding box is intersected by the line specified by its two points
- Also calculates the distance along the line in which the intersection occurs (0 .. 1) and the face hit (BLOCK_FACE_ constants)
- Only forward collisions (a_LineCoeff >= 0) are returned.
- */
- static bool CalcLineIntersection(const Vector3d & a_Min, const Vector3d & a_Max, const Vector3d & a_Line1, const Vector3d & a_Line2, double & a_LineCoeff, char & a_Face);
-
- // tolua_end
-
- /// Calculates the intersection of the two bounding boxes; returns true if nonempty
- bool Intersect(const cBoundingBox & a_Other, cBoundingBox & a_Intersection);
-
-protected:
- Vector3d m_Min;
- Vector3d m_Max;
-
-} ; // tolua_export
-
-
-
-