00001 /* -*- C++ -*- */ 00002 00003 /* COPYRIGHT 00004 * 00005 * This file is part of the Visual Effects Engine - VEE 00006 * 00007 * Read the "VEE-LICENSE" file for the license. 00008 * 00009 * Authors & Copyright: 00010 * 00011 * Tommi Ilmonen, Tuukka Heikura, Marko Myllymaa and 00012 * Janne Kontkanen 2001-2004 00013 * 00014 * Additional copyrights: Tekes 2003-2004 00015 * 00016 * firstname.lastname@hut.fi 00017 * 00018 */ 00019 00020 #ifndef GEE_CONTAINMENT_H 00021 #define GEE_CONTAINMENT_H 00022 00023 #include <gee_bounded.h> 00024 00025 #include <vee_vector3.h> 00026 00027 class GEE_Geometry; 00028 00029 class GEE_SimpleTriangle 00030 { 00031 public: 00032 VEE_Vector3 m_vertices[3]; 00033 }; 00034 00035 00036 class GEE_Containment : public GEE_Bounded 00037 { 00038 public: 00039 00040 GEE_Containment() {} 00041 virtual ~GEE_Containment() {} 00042 00043 virtual bool contains(const VEE_Vector3 &) = 0; 00044 virtual bool intersects(const GEE_SimpleTriangle &) = 0; 00045 virtual void contained(GEE_Geometry *); 00046 }; 00047 00048 class GEE_ContainAll : public GEE_Containment 00049 { 00050 public: 00051 GEE_ContainAll() {} 00052 virtual ~GEE_ContainAll(); 00053 00054 virtual void getBoundingBox(VEE_BoundingBox *); 00055 virtual bool contains(const VEE_Vector3 &); 00056 virtual bool intersects(const GEE_SimpleTriangle &); 00057 }; 00058 00059 #endif