]>
Dogcows Code - chaz/yoink/blob - src/moof/shape.hh
2 /*] Copyright (c) 2009-2011, Charles McGarvey [*****************************
3 **] All rights reserved.
5 * Distributable under the terms and conditions of the 2-clause BSD license;
6 * see the file COPYING for a complete text of the license.
8 *****************************************************************************/
10 #ifndef _MOOF_SHAPE_HH_
11 #define _MOOF_SHAPE_HH_
15 * Declares an interface for shapes.
18 #include <moof/drawable.hh>
19 #include <moof/math.hh>
20 #include <moof/opengl.hh>
21 #include <moof/ray.hh>
24 // plane (can construct from triangle2)
31 // | sphere2, circle sphere<2>
32 // | sphere3 sphere<3>
34 // | aabb2, rectangle aabb<2>
37 // | triangle2 polygon<2,3>
38 // | triangle3 polygon<3,3>
52 * Checks if this shape is intersected by a given ray. If so, returns
53 * the distance from the start of the ray to the shape and information
54 * about the contact via the 2nd parameter. A negative value is
55 * returned if there is no contact.
57 virtual bool intersect_ray(const ray
<D
>& ray
,
58 typename
moof::ray
<D
>::contact
& hit
) const
64 typedef shape
<2> shape2
;
65 typedef shape
<3> shape3
;
70 #endif // _MOOF_SHAPE_HH_
This page took 0.036366 seconds and 4 git commands to generate.