mirror of
https://github.com/EQEmu/Server.git
synced 2026-08-28 07:37:56 +00:00
Fix for polluted headers that were messing with glm
This commit is contained in:
+28
-28
@@ -6,99 +6,99 @@
|
||||
#include "../common/string_util.h"
|
||||
|
||||
std::string to_string(const glm::vec4 &position) {
|
||||
return StringFormat("(%.3f, %.3f, %.3f, %.3f)", position.x,position.y,position.z,position.w);
|
||||
return StringFormat("(%.3f, %.3f, %.3f, %.3f)", position.x,position.y,position.z,position.w);
|
||||
}
|
||||
|
||||
std::string to_string(const glm::vec3 &position){
|
||||
return StringFormat("(%.3f, %.3f, %.3f)", position.x,position.y,position.z);
|
||||
return StringFormat("(%.3f, %.3f, %.3f)", position.x,position.y,position.z);
|
||||
}
|
||||
|
||||
std::string to_string(const glm::vec2 &position){
|
||||
return StringFormat("(%.3f, %.3f)", position.x,position.y);
|
||||
return StringFormat("(%.3f, %.3f)", position.x,position.y);
|
||||
}
|
||||
|
||||
bool IsOrigin(const glm::vec2 &position) {
|
||||
return position.x == 0.0f && position.y == 0.0f;
|
||||
return glm::dot(position, position) == 0;
|
||||
}
|
||||
|
||||
bool IsOrigin(const glm::vec3 &position) {
|
||||
return position.x == 0.0f && position.y == 0.0f && position.z == 0.0f;
|
||||
return glm::dot(position, position) == 0;
|
||||
}
|
||||
|
||||
bool IsOrigin(const glm::vec4 &position) {
|
||||
return position.x == 0.0f && position.y == 0.0f && position.z == 0.0f;
|
||||
return IsOrigin(glm::vec3(position));
|
||||
}
|
||||
|
||||
/**
|
||||
* Produces the non square root'ed distance between the two points within the XY plane.
|
||||
*/
|
||||
float DistanceSquared(const glm::vec2& point1, const glm::vec2& point2) {
|
||||
auto diff = point1 - point2;
|
||||
return diff.x * diff.x + diff.y * diff.y;
|
||||
auto diff = point1 - point2;
|
||||
return glm::dot(diff, diff);
|
||||
}
|
||||
|
||||
/**
|
||||
* Produces the distance between the two points on the XY plane.
|
||||
*/
|
||||
float Distance(const glm::vec2& point1, const glm::vec2& point2) {
|
||||
return sqrt(DistanceSquared(point1, point2));
|
||||
return std::sqrt(DistanceSquared(point1, point2));
|
||||
}
|
||||
|
||||
/**
|
||||
* Produces the non square root'ed distance between the two points.
|
||||
*/
|
||||
float DistanceSquared(const glm::vec3& point1, const glm::vec3& point2) {
|
||||
auto diff = point1 - point2;
|
||||
return diff.x * diff.x + diff.y * diff.y + diff.z * diff.z;
|
||||
auto diff = point1 - point2;
|
||||
return glm::dot(diff, diff);
|
||||
}
|
||||
|
||||
/**
|
||||
* Produces the non square root'ed distance between the two points.
|
||||
*/
|
||||
float DistanceSquared(const glm::vec4& point1, const glm::vec4& point2) {
|
||||
return DistanceSquared(static_cast<glm::vec3>(point1), static_cast<glm::vec3>(point2));
|
||||
return DistanceSquared(static_cast<glm::vec3>(point1), static_cast<glm::vec3>(point2));
|
||||
}
|
||||
|
||||
/**
|
||||
* Produces the distance between the two points.
|
||||
*/
|
||||
float Distance(const glm::vec3& point1, const glm::vec3& point2) {
|
||||
return sqrt(DistanceSquared(point1, point2));
|
||||
return std::sqrt(DistanceSquared(point1, point2));
|
||||
}
|
||||
|
||||
/**
|
||||
* Produces the distance between the two points.
|
||||
*/
|
||||
float Distance(const glm::vec4& point1, const glm::vec4& point2) {
|
||||
return Distance(static_cast<glm::vec3>(point1), static_cast<glm::vec3>(point2));
|
||||
return Distance(static_cast<glm::vec3>(point1), static_cast<glm::vec3>(point2));
|
||||
}
|
||||
|
||||
/**
|
||||
* Produces the distance between the two points within the XY plane.
|
||||
*/
|
||||
float DistanceNoZ(const glm::vec3& point1, const glm::vec3& point2) {
|
||||
return Distance(static_cast<glm::vec2>(point1),static_cast<glm::vec2>(point2));
|
||||
return Distance(static_cast<glm::vec2>(point1),static_cast<glm::vec2>(point2));
|
||||
}
|
||||
|
||||
/**
|
||||
* Produces the distance between the two points within the XY plane.
|
||||
*/
|
||||
float DistanceNoZ(const glm::vec4& point1, const glm::vec4& point2) {
|
||||
return Distance(static_cast<glm::vec2>(point1),static_cast<glm::vec2>(point2));
|
||||
return Distance(static_cast<glm::vec2>(point1),static_cast<glm::vec2>(point2));
|
||||
}
|
||||
|
||||
/**
|
||||
* Produces the non square root'ed distance between the two points within the XY plane.
|
||||
*/
|
||||
float DistanceSquaredNoZ(const glm::vec3& point1, const glm::vec3& point2) {
|
||||
return DistanceSquared(static_cast<glm::vec2>(point1),static_cast<glm::vec2>(point2));
|
||||
return DistanceSquared(static_cast<glm::vec2>(point1),static_cast<glm::vec2>(point2));
|
||||
}
|
||||
|
||||
/**
|
||||
* Produces the non square root'ed distance between the two points within the XY plane.
|
||||
*/
|
||||
float DistanceSquaredNoZ(const glm::vec4& point1, const glm::vec4& point2) {
|
||||
return DistanceSquared(static_cast<glm::vec2>(point1),static_cast<glm::vec2>(point2));
|
||||
return DistanceSquared(static_cast<glm::vec2>(point1),static_cast<glm::vec2>(point2));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -106,12 +106,12 @@ float DistanceSquaredNoZ(const glm::vec4& point1, const glm::vec4& point2) {
|
||||
* box (3 dimensional) formed from the points minimum and maximum.
|
||||
*/
|
||||
bool IsWithinAxisAlignedBox(const glm::vec3 &position, const glm::vec3 &minimum, const glm::vec3 &maximum) {
|
||||
auto actualMinimum = glm::vec3(std::min(minimum.x, maximum.x), std::min(minimum.y, maximum.y),std::min(minimum.z, maximum.z));
|
||||
auto actualMaximum = glm::vec3(std::max(minimum.x, maximum.x), std::max(minimum.y, maximum.y),std::max(minimum.z, maximum.z));
|
||||
auto actualMinimum = glm::vec3(std::min(minimum.x, maximum.x), std::min(minimum.y, maximum.y),std::min(minimum.z, maximum.z));
|
||||
auto actualMaximum = glm::vec3(std::max(minimum.x, maximum.x), std::max(minimum.y, maximum.y),std::max(minimum.z, maximum.z));
|
||||
|
||||
bool xcheck = position.x >= actualMinimum.x && position.x <= actualMaximum.x;
|
||||
bool ycheck = position.y >= actualMinimum.y && position.y <= actualMaximum.y;
|
||||
bool zcheck = position.z >= actualMinimum.z && position.z <= actualMaximum.z;
|
||||
bool xcheck = position.x >= actualMinimum.x && position.x <= actualMaximum.x;
|
||||
bool ycheck = position.y >= actualMinimum.y && position.y <= actualMaximum.y;
|
||||
bool zcheck = position.z >= actualMinimum.z && position.z <= actualMaximum.z;
|
||||
|
||||
return xcheck && ycheck && zcheck;
|
||||
}
|
||||
@@ -121,11 +121,11 @@ bool IsWithinAxisAlignedBox(const glm::vec3 &position, const glm::vec3 &minimum,
|
||||
* box (2 dimensional) formed from the points minimum and maximum.
|
||||
*/
|
||||
bool IsWithinAxisAlignedBox(const glm::vec2 &position, const glm::vec2 &minimum, const glm::vec2 &maximum) {
|
||||
auto actualMinimum = glm::vec2(std::min(minimum.x, maximum.x), std::min(minimum.y, maximum.y));
|
||||
auto actualMaximum = glm::vec2(std::max(minimum.x, maximum.x), std::max(minimum.y, maximum.y));
|
||||
auto actualMinimum = glm::vec2(std::min(minimum.x, maximum.x), std::min(minimum.y, maximum.y));
|
||||
auto actualMaximum = glm::vec2(std::max(minimum.x, maximum.x), std::max(minimum.y, maximum.y));
|
||||
|
||||
bool xcheck = position.x >= actualMinimum.x && position.x <= actualMaximum.x;
|
||||
bool ycheck = position.y >= actualMinimum.y && position.y <= actualMaximum.y;
|
||||
bool xcheck = position.x >= actualMinimum.x && position.x <= actualMaximum.x;
|
||||
bool ycheck = position.y >= actualMinimum.y && position.y <= actualMaximum.y;
|
||||
|
||||
return xcheck && ycheck;
|
||||
}
|
||||
@@ -137,7 +137,7 @@ bool IsWithinAxisAlignedBox(const glm::vec2 &position, const glm::vec2 &minimum,
|
||||
* an EQFloat.
|
||||
*/
|
||||
float GetReciprocalHeading(const glm::vec4& point1) {
|
||||
return GetReciprocalHeading(point1.w);
|
||||
return GetReciprocalHeading(point1.w);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user