godot/thirdparty/embree/common/math/lbbox.h

// Copyright 2009-2021 Intel Corporation
// SPDX-License-Identifier: Apache-2.0

#pragma once

#include "bbox.h"
#include "range.h"

namespace embree
{
  template<typename T>
    __forceinline std::pair<T,T> globalLinear(const std::pair<T,T>& v, const BBox1f& dt)
  {}

  template<typename T>
  struct LBBox
  {};

  /*! tests if box is finite */
  template<typename T>
    __forceinline bool isvalid( const LBBox<T>& v ) {}

  template<typename T>
    __forceinline bool isvalid_non_empty( const LBBox<T>& v ) {}
  
  template<typename T>
    __forceinline T expectedArea(const T& a0, const T& a1, const T& b0, const T& b1)
  {}
  
  template<> __forceinline float LBBox<Vec3fa>::expectedHalfArea() const 
  {}

  template<typename T>
  __forceinline float expectedApproxHalfArea(const LBBox<T>& box) {}

  template<typename T>
  __forceinline LBBox<T> merge(const LBBox<T>& a, const LBBox<T>& b) {}

   /*! subset relation */
  template<typename T> __inline bool subset( const LBBox<T>& a, const LBBox<T>& b ) {}

  /*! default template instantiations */
  LBBox1f;
  LBBox2f;
  LBBox3f;
  LBBox3fa;
  LBBox3fx;
}