Бранимир Караџић 4 лет назад
Родитель
Сommit
ce8f0ec49b
2 измененных файлов с 12 добавлено и 2 удалено
  1. 8 1
      include/bx/inline/math.inl
  2. 4 1
      include/bx/math.h

+ 8 - 1
include/bx/inline/math.inl

@@ -1272,11 +1272,18 @@ namespace bx
 		_outPlane.dist   = -dot(_normal, _pos);
 	}
 
-	inline float distance(const Plane& _plane, const Vec3& _pos)
+	inline BX_CONSTEXPR_FUNC float distance(const Plane& _plane, const Vec3& _pos)
 	{
 		return dot(_plane.normal, _pos) + _plane.dist;
 	}
 
+	inline BX_CONSTEXPR_FUNC bool isEqual(const Plane& _a, const Plane& _b, float _epsilon)
+	{
+		return isEqual(_a.normal, _b.normal, _epsilon)
+			&& isEqual(_a.dist,   _b.dist,   _epsilon)
+			;
+	}
+
 	inline BX_CONST_FUNC float toLinear(float _a)
 	{
 		const float lo     = _a / 12.92f;

+ 4 - 1
include/bx/math.h

@@ -723,7 +723,10 @@ namespace bx
 	void calcPlane(Plane& _outPlane, const Vec3& _normal, const Vec3& _pos);
 
 	///
-	float distance(const Plane& _plane, const Vec3& _pos);
+	BX_CONSTEXPR_FUNC float distance(const Plane& _plane, const Vec3& _pos);
+
+	///
+	BX_CONSTEXPR_FUNC bool isEqual(const Plane& _a, const Plane& _b, float _epsilon);
 
 	///
 	void calcLinearFit2D(float _result[2], const void* _points, uint32_t _stride, uint32_t _numPoints);