GeoIntersect.h
00001
00002
00003
00004
00005 #pragma once
00006
00007 #include "GeoObjects.h"
00008
00009 namespace GEO
00010 {
00011 namespace INTERSECT
00012 {
00013
00014 bool LinePlane(const Line &inLine, const Plane &inPlane, Vector3 &outPoint);
00015 bool LinePlane(const Line &inLine, const Plane &inPlane);
00016
00017
00018 bool LineSphere(const Line &inLine, const Sphere &inSphere, Vector3 &outPoint1, Vector3 &outPoint2);
00019 bool LineSphere(const Line &inLine, const Sphere &inSphere);
00020
00021 bool RaySphere(const Line &inLine, const Sphere &inSphere);
00022
00023
00024 bool LineYAlignedEllipsoid(const Line &inLine, const YAlignedEllipsoid &inEllipse, Vector3 &outPoint1, Vector3 &outPoint2);
00025
00026 bool RayYAlignedEllipsoid(const Line &inLine, const YAlignedEllipsoid &inEllipse);
00027
00028
00029 bool LineAARectoid(const Line &inLine, const AARectoid &rect, Vector3 &outPoint1, Vector3 &outNormal1, Vector3 &outPoint2, Vector3 &outNormal2);
00030
00031
00032 bool LineXAlignedUnboundedCylinder(const Line &inLine, const XAlignedUnboundedCylinder &inCyl, Vector3 &outPoint1, Vector3 &outPoint2);
00033 Vector3 NormalFromIntersection(const Vector3 &isect, const XAlignedUnboundedCylinder &inCyl);
00034
00035 bool RayXAlignedUnboundedCylinder(const Line &inLine, const XAlignedUnboundedCylinder &inCyl);
00036 }
00037
00038 };