00001 // Magic Software, Inc. 00002 // http://www.magic-software.com 00003 // Copyright (c) 2000, All Rights Reserved 00004 // 00005 // Source code from Magic Software is supplied under the terms of a license 00006 // agreement and may not be copied or disclosed except in accordance with the 00007 // terms of that agreement. The various license agreements may be found at 00008 // the Magic Software web site. This file is subject to the license 00009 // 00010 // FREE SOURCE CODE 00011 // http://www.magic-software.com/License.html/free.pdf 00012 00013 #ifndef MGCBOX3_H 00014 #define MGCBOX3_H 00015 00016 #include "MgcRTLib.h" 00017 #include "MgcVector3.h" 00018 00019 00020 class MgcBox3 00021 { 00022 public: 00023 MgcBox3 (); 00024 00025 MgcVector3& Center (); 00026 const MgcVector3& Center () const; 00027 00028 MgcVector3& Axis (int i); 00029 const MgcVector3& Axis (int i) const; 00030 MgcVector3* Axes (); 00031 const MgcVector3* Axes () const; 00032 00033 MgcReal& Extent (int i); 00034 const MgcReal& Extent (int i) const; 00035 MgcReal* Extents (); 00036 const MgcReal* Extents () const; 00037 00038 void ComputeVertices (MgcVector3 akVertex[8]) const; 00039 00040 protected: 00041 MgcVector3 m_kCenter; 00042 MgcVector3 m_akAxis[3]; 00043 MgcReal m_afExtent[3]; 00044 }; 00045 00046 #include "MgcBox3.inl" 00047 00048 #endif