Removed physics for now.
This commit is contained in:
36
archive/physics/ScenePhysicsManager.cpp
Normal file
36
archive/physics/ScenePhysicsManager.cpp
Normal file
@ -0,0 +1,36 @@
|
||||
// Copyright (c) 2023 Dominic Masters
|
||||
//
|
||||
// This software is released under the MIT License.
|
||||
// https://opensource.org/licenses/MIT
|
||||
|
||||
#include "ScenePhysicsManager.hpp"
|
||||
#include "scene/Scene.hpp"
|
||||
#include "scene/components/physics/3d/Collider3D.hpp"
|
||||
|
||||
using namespace Dawn;
|
||||
|
||||
ScenePhysicsManager::ScenePhysicsManager(Scene *scene) {
|
||||
this->scene = scene;
|
||||
}
|
||||
|
||||
void ScenePhysicsManager::update() {
|
||||
|
||||
}
|
||||
|
||||
std::vector<struct Collider3DRayResult> ScenePhysicsManager::raycast3DAll(
|
||||
struct Ray3D ray
|
||||
) {
|
||||
// TODO: Optimize the crap out of this.
|
||||
struct Collider3DRayResult result;
|
||||
auto colliders = scene->findComponents<Collider3D>();
|
||||
std::vector<struct Collider3DRayResult> results;
|
||||
auto itCollider = colliders.begin();
|
||||
while(itCollider != colliders.end()) {
|
||||
if((*itCollider)->raycast(&result, ray)) {
|
||||
results.push_back(result);
|
||||
}
|
||||
++itCollider;
|
||||
}
|
||||
|
||||
return results;
|
||||
}
|
Reference in New Issue
Block a user