summaryrefslogtreecommitdiff
path: root/editor/editor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'editor/editor.cpp')
-rw-r--r--editor/editor.cpp23
1 files changed, 13 insertions, 10 deletions
diff --git a/editor/editor.cpp b/editor/editor.cpp
index db82fc0..86fae96 100644
--- a/editor/editor.cpp
+++ b/editor/editor.cpp
@@ -198,17 +198,20 @@ void PkeEditor_Tick(double delta) {
glm::vec3 fromCoords{unproject(glm::vec3(xMousePos, yMousePos, -1.f))};
glm::vec3 toCoords{unproject(glm::vec3(xMousePos, yMousePos, 1.f))};
- btVector3 rayOrigin{};
- btVector3 rayDestination{};
- GlmToBullet(fromCoords, rayOrigin);
- GlmToBullet(toCoords, rayDestination);
-
- btCollisionWorld::ClosestRayResultCallback rayResult{rayOrigin, rayDestination};
- rayResult.m_flags |= btTriangleRaycastCallback::kF_FilterBackfaces;
+ if (fromCoords.x == fromCoords.x && toCoords.x == toCoords.x) {
+ btVector3 rayOrigin{};
+ btVector3 rayDestination{};
+ GlmToBullet(fromCoords, rayOrigin);
+ GlmToBullet(toCoords, rayDestination);
+
+ btCollisionWorld::ClosestRayResultCallback rayResult{rayOrigin, rayDestination};
+ rayResult.m_flags |= btTriangleRaycastCallback::kF_FilterBackfaces;
+
+ BtDynamicsWorld->rayTest(rayOrigin, rayDestination, rayResult);
+ if (rayResult.hasHit()) {
+ hoveredEntity = reinterpret_cast<CompInstance *>(rayResult.m_collisionObject->getUserPointer());
+ }
- BtDynamicsWorld->rayTest(rayOrigin, rayDestination, rayResult);
- if (rayResult.hasHit()) {
- hoveredEntity = reinterpret_cast<CompInstance *>(rayResult.m_collisionObject->getUserPointer());
}
}