// Copyright (c) 2023 Dominic Masters
// 
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT

#include "Collider3D.hpp"

using namespace Dawn;

Collider3D::Collider3D(std::weak_ptr<SceneItem> item) : SceneItemComponent(item) {
  
}

bool_t Collider3D::raycast(
  struct Collider3DRayResult *result,
  struct Ray3D ray
) {
  assertNotNull(result, "Collider3D::raycast: Result cannot be null");
  if(!this->performRaycast(result, ray)) return false;
  result->collider = this;
  return true;
}