aboutsummaryrefslogtreecommitdiff
path: root/src/common/Collision/DynamicTree.h
diff options
context:
space:
mode:
authorjoschiwald <joschiwald.trinity@gmail.com>2017-05-05 20:48:08 +0200
committerjoschiwald <joschiwald.trinity@gmail.com>2017-05-05 21:22:58 +0200
commit036f67c0c144954827733cad0c5881eba1bd88e7 (patch)
tree6ebf1797fd5e27ed67049010af18ecb72aea21db /src/common/Collision/DynamicTree.h
parentc1cc0e9949a73e1cbb2640032d5d038cca051954 (diff)
Core/Collision: Replaced phasemask with proper phases in GameObject collision calculation
Diffstat (limited to 'src/common/Collision/DynamicTree.h')
-rw-r--r--src/common/Collision/DynamicTree.h14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/common/Collision/DynamicTree.h b/src/common/Collision/DynamicTree.h
index cbb7c7fdaef..f52c5364362 100644
--- a/src/common/Collision/DynamicTree.h
+++ b/src/common/Collision/DynamicTree.h
@@ -40,17 +40,11 @@ public:
DynamicMapTree();
~DynamicMapTree();
- bool isInLineOfSight(float x1, float y1, float z1, float x2, float y2,
- float z2, uint32 phasemask) const;
+ bool isInLineOfSight(G3D::Vector3 const& startPos, G3D::Vector3 const& endPos, std::set<uint32> const& phases) const;
+ bool getIntersectionTime(std::set<uint32> const& phases, G3D::Ray const& ray, G3D::Vector3 const& endPos, float& maxDist) const;
+ bool getObjectHitPos(std::set<uint32> const& phases, G3D::Vector3 const& startPos, G3D::Vector3 const& endPos, G3D::Vector3& resultHitPos, float modifyDist) const;
- bool getIntersectionTime(uint32 phasemask, const G3D::Ray& ray,
- const G3D::Vector3& endPos, float& maxDist) const;
-
- bool getObjectHitPos(uint32 phasemask, const G3D::Vector3& pPos1,
- const G3D::Vector3& pPos2, G3D::Vector3& pResultHitPos,
- float pModifyDist) const;
-
- float getHeight(float x, float y, float z, float maxSearchDist, uint32 phasemask) const;
+ float getHeight(float x, float y, float z, float maxSearchDist, std::set<uint32> const& phases) const;
void insert(const GameObjectModel&);
void remove(const GameObjectModel&);