ComplexityInfo.h

00001 //===========================================================================
00002 // GoTools - SINTEF Geometry Tools
00003 //
00004 // GoTools module: Intersections, version 1.0
00005 //
00006 // Copyright (C) 2000-2007 SINTEF ICT, Applied Mathematics, Norway.
00007 //
00008 // This program is free software; you can redistribute it and/or          
00009 // modify it under the terms of the GNU General Public License            
00010 // as published by the Free Software Foundation version 2 of the License. 
00011 //
00012 // This program is distributed in the hope that it will be useful,        
00013 // but WITHOUT ANY WARRANTY; without even the implied warranty of         
00014 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          
00015 // GNU General Public License for more details.                           
00016 //
00017 // You should have received a copy of the GNU General Public License      
00018 // along with this program; if not, write to the Free Software            
00019 // Foundation, Inc.,                                                      
00020 // 59 Temple Place - Suite 330,                                           
00021 // Boston, MA  02111-1307, USA.                                           
00022 //
00023 // Contact information: E-mail: tor.dokken@sintef.no                      
00024 // SINTEF ICT, Department of Applied Mathematics,                         
00025 // P.O. Box 124 Blindern,                                                 
00026 // 0314 Oslo, Norway.                                                     
00027 //
00028 // Other licenses are also available for this software, notably licenses
00029 // for:
00030 // - Building commercial software.                                        
00031 // - Building software whose source code you wish to keep private.        
00032 //===========================================================================
00033 #ifndef _COMPLEXITYINFO_H
00034 #define _COMPLEXITYINFO_H
00035 
00036 
00037 namespace Go {
00040 
00041 
00042 
00045 
00046 class ComplexityInfo {
00047 public:
00049     ComplexityInfo()
00050     {
00051         cone_overlap_ = min_box_overlap_ = -1.0;
00052         nmb_intpts_ = nmb_sing_intpts_ = 0;
00053         complex_ = false;
00054     }
00055 
00057     ~ComplexityInfo() { }
00058 
00061     void setConeOverlap(double overlap)
00062     { cone_overlap_ = overlap; }
00063 
00066     double getConeOverlap()
00067     { return cone_overlap_; }
00068 
00071     void setBoxOverlap(double overlap)
00072     { min_box_overlap_ = overlap; }
00073 
00076     double getBoxOverlap()
00077     { return min_box_overlap_; }
00078 
00081     void setNmbIntpts(int nmbpts)
00082     { nmb_intpts_ = nmbpts; }
00083 
00086     int getNmbIntpts()
00087     { return nmb_intpts_; }
00088 
00091     void setNmbSingpts(int nmbpts)
00092     { nmb_sing_intpts_ = nmbpts; }
00093 
00096     int getNmbSingpts()
00097     { return nmb_sing_intpts_; }
00098 
00100     void setComplex()
00101     { complex_ = true; }
00102 
00105     bool isComplex()
00106     { return complex_; }
00107 
00108 private:
00109     double cone_overlap_; // A negative number implies not set or no
00110                           // overlap
00111     double min_box_overlap_;  // Negative number = not set or not
00112                               // overlap
00113     int nmb_intpts_;
00114     int nmb_sing_intpts_;
00115     bool complex_;
00116 
00117 };
00118 
00119 
00121 } // namespace Go
00122 
00123 
00124 #endif // _COMPLEXITYINFO_H
00125 
00126 

Generated on Fri Nov 23 12:24:32 2007 for GoTools Intersections Library by  doxygen 1.5.1