Intersection3.h
上传用户:chinafayin
上传日期:2022-04-05
资源大小:153k
文件大小:2k
源码类别:

并行计算

开发平台:

Visual C++

  1. /*
  2.     Linear Algebra / Math library
  3.     Copyright (C) 2003-2009, Marek Olsak (maraeo@gmail.com), All Rights Reserved.
  4.     Copyright (C) 2003-2005, Tomas Pastorek (tomas@tomaspastorek.cz), All Rights Reserved.
  5.     This program is free software; you can redistribute it and/or
  6.     modify it under the terms of the GNU General Public License
  7.     as published by the Free Software Foundation; either version 2
  8.     of the License, or (at your option) any later version.
  9.     This program is distributed in the hope that it will be useful,
  10.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.     GNU General Public License for more details.
  13.     You should have received a copy of the GNU General Public License
  14.     along with this program; if not, write to the Free Software
  15.     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  16. */
  17. #pragma once
  18. namespace Rune
  19. {
  20.     enum Interior
  21.     {
  22.         SOLID = 0,
  23.         HOLLOW
  24.     };
  25.     template<typename T>
  26.     RUNEMATH_API bool Intersect(const AxisAlignedBox3<T> &b, const Vec3<T> &p);
  27.     template<typename T>
  28.     RUNEMATH_API bool Intersect(const AxisAlignedBox3<T> &b1, const AxisAlignedBox3<T> &b2);
  29.     template<typename T>
  30.     RUNEMATH_API bool Intersect(const AxisAlignedBox3<T> &b, const Sphere3<T> &s);
  31.     template<typename T>
  32.     RUNEMATH_API bool Intersect(const AxisAlignedBox3<T> &b, Interior bi, const Sphere3<T> &s, Interior si);
  33.     template<typename T>
  34.     RUNEMATH_API bool Intersect(const Sphere3<T> s1, const Sphere3<T> &s2);
  35.     template<typename T>
  36.     RUNEMATH_API bool Intersect(const Sphere3<T> &s1, const Sphere3<T> &s2, Vec3<T> &point);
  37.     template<typename T>
  38.     RUNEMATH_API bool Intersect(const Sphere3<T> &s, const Vec3<T> &point);
  39. }