BWAPI
|
00001 // Copyright (c) 2001 INRIA Sophia-Antipolis (France). 00002 // All rights reserved. 00003 // 00004 // This file is part of CGAL (www.cgal.org); you may redistribute it under 00005 // the terms of the Q Public License version 1.0. 00006 // See the file LICENSE.QPL distributed with CGAL. 00007 // 00008 // Licensees holding a valid commercial license may use this file in 00009 // accordance with the commercial license agreement provided with the software. 00010 // 00011 // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00012 // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00013 // 00014 // $URL: svn+ssh://scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.5-branch/Triangulation_2/include/CGAL/triangulation_assertions.h $ 00015 // $Id: triangulation_assertions.h 44139 2008-07-14 11:16:41Z spion $ 00016 // 00017 // 00018 // Author(s) : script by Geert-Jan Giezeman and Sven Schoenherr 00019 00020 00021 00022 // macro definitions 00023 // ================= 00024 // assertions 00025 // ---------- 00026 00027 00028 #if defined(CGAL_TRIANGULATION_NO_ASSERTIONS) || defined(CGAL_NO_ASSERTIONS) \ 00029 || defined(NDEBUG) 00030 # define CGAL_triangulation_assertion(EX) (static_cast<void>(0)) 00031 # define CGAL_triangulation_assertion_msg(EX,MSG) (static_cast<void>(0)) 00032 # define CGAL_triangulation_assertion_code(CODE) 00033 #else 00034 # define CGAL_triangulation_assertion(EX) \ 00035 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__)) 00036 # define CGAL_triangulation_assertion_msg(EX,MSG) \ 00037 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__, MSG)) 00038 # define CGAL_triangulation_assertion_code(CODE) CODE 00039 #endif // CGAL_TRIANGULATION_NO_ASSERTIONS 00040 00041 #if defined(CGAL_TRIANGULATION_NO_ASSERTIONS) || defined(CGAL_NO_ASSERTIONS) \ 00042 || (!defined(CGAL_TRIANGULATION_CHECK_EXACTNESS) && !defined(CGAL_CHECK_EXACTNESS))\ 00043 || defined(NDEBUG) 00044 # define CGAL_triangulation_exactness_assertion(EX) (static_cast<void>(0)) 00045 # define CGAL_triangulation_exactness_assertion_msg(EX,MSG) (static_cast<void>(0)) 00046 # define CGAL_triangulation_exactness_assertion_code(CODE) 00047 #else 00048 # define CGAL_triangulation_exactness_assertion(EX) \ 00049 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__)) 00050 # define CGAL_triangulation_exactness_assertion_msg(EX,MSG) \ 00051 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__, MSG)) 00052 # define CGAL_triangulation_exactness_assertion_code(CODE) CODE 00053 #endif // CGAL_TRIANGULATION_NO_ASSERTIONS 00054 00055 #if defined(CGAL_TRIANGULATION_NO_ASSERTIONS) \ 00056 || defined(CGAL_NO_ASSERTIONS) \ 00057 || (!defined(CGAL_TRIANGULATION_CHECK_EXPENSIVE) && !defined(CGAL_CHECK_EXPENSIVE)) \ 00058 || defined(NDEBUG) 00059 # define CGAL_triangulation_expensive_assertion(EX) (static_cast<void>(0)) 00060 # define CGAL_triangulation_expensive_assertion_msg(EX,MSG) (static_cast<void>(0)) 00061 # define CGAL_triangulation_expensive_assertion_code(CODE) 00062 #else 00063 # define CGAL_triangulation_expensive_assertion(EX) \ 00064 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__)) 00065 # define CGAL_triangulation_expensive_assertion_msg(EX,MSG) \ 00066 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__, MSG)) 00067 # define CGAL_triangulation_expensive_assertion_code(CODE) CODE 00068 #endif // CGAL_TRIANGULATION_NO_ASSERTIONS 00069 00070 #if defined(CGAL_TRIANGULATION_NO_ASSERTIONS) || defined(CGAL_NO_ASSERTIONS) \ 00071 || (!defined(CGAL_TRIANGULATION_CHECK_EXACTNESS) && !defined(CGAL_CHECK_EXACTNESS))\ 00072 || (!defined(CGAL_TRIANGULATION_CHECK_EXPENSIVE) && !defined(CGAL_CHECK_EXPENSIVE)) \ 00073 || defined(NDEBUG) 00074 # define CGAL_triangulation_expensive_exactness_assertion(EX) (static_cast<void>(0)) 00075 # define CGAL_triangulation_expensive_exactness_assertion_msg(EX,MSG) (static_cast<void>(0)) 00076 # define CGAL_triangulation_expensive_exactness_assertion_code(CODE) 00077 #else 00078 # define CGAL_triangulation_expensive_exactness_assertion(EX) \ 00079 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__)) 00080 # define CGAL_triangulation_expensive_exactness_assertion_msg(EX,MSG) \ 00081 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::assertion_fail( # EX , __FILE__, __LINE__, MSG)) 00082 # define CGAL_triangulation_expensive_exactness_assertion_code(CODE) CODE 00083 #endif // CGAL_TRIANGULATION_NO_ASSERTIONS 00084 00085 00086 // preconditions 00087 // ------------- 00088 00089 #if defined(CGAL_TRIANGULATION_NO_PRECONDITIONS) || defined(CGAL_NO_PRECONDITIONS) \ 00090 || defined(NDEBUG) 00091 # define CGAL_triangulation_precondition(EX) (static_cast<void>(0)) 00092 # define CGAL_triangulation_precondition_msg(EX,MSG) (static_cast<void>(0)) 00093 # define CGAL_triangulation_precondition_code(CODE) 00094 #else 00095 # define CGAL_triangulation_precondition(EX) \ 00096 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::precondition_fail( # EX , __FILE__, __LINE__)) 00097 # define CGAL_triangulation_precondition_msg(EX,MSG) \ 00098 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::precondition_fail( # EX , __FILE__, __LINE__, MSG)) 00099 # define CGAL_triangulation_precondition_code(CODE) CODE 00100 #endif // CGAL_TRIANGULATION_NO_PRECONDITIONS 00101 00102 #if defined(CGAL_TRIANGULATION_NO_PRECONDITIONS) || defined(CGAL_NO_PRECONDITIONS) \ 00103 || (!defined(CGAL_TRIANGULATION_CHECK_EXACTNESS) && !defined(CGAL_CHECK_EXACTNESS))\ 00104 || defined(NDEBUG) 00105 # define CGAL_triangulation_exactness_precondition(EX) (static_cast<void>(0)) 00106 # define CGAL_triangulation_exactness_precondition_msg(EX,MSG) (static_cast<void>(0)) 00107 # define CGAL_triangulation_exactness_precondition_code(CODE) 00108 #else 00109 # define CGAL_triangulation_exactness_precondition(EX) \ 00110 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::precondition_fail( # EX , __FILE__, __LINE__)) 00111 # define CGAL_triangulation_exactness_precondition_msg(EX,MSG) \ 00112 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::precondition_fail( # EX , __FILE__, __LINE__, MSG)) 00113 # define CGAL_triangulation_exactness_precondition_code(CODE) CODE 00114 #endif // CGAL_TRIANGULATION_NO_PRECONDITIONS 00115 00116 #if defined(CGAL_TRIANGULATION_NO_PRECONDITIONS) || defined(CGAL_NO_PRECONDITIONS) \ 00117 || (!defined(CGAL_TRIANGULATION_CHECK_EXPENSIVE) && !defined(CGAL_CHECK_EXPENSIVE)) \ 00118 || defined(NDEBUG) 00119 # define CGAL_triangulation_expensive_precondition(EX) (static_cast<void>(0)) 00120 # define CGAL_triangulation_expensive_precondition_msg(EX,MSG) (static_cast<void>(0)) 00121 # define CGAL_triangulation_expensive_precondition_code(CODE) 00122 #else 00123 # define CGAL_triangulation_expensive_precondition(EX) \ 00124 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::precondition_fail( # EX , __FILE__, __LINE__)) 00125 # define CGAL_triangulation_expensive_precondition_msg(EX,MSG) \ 00126 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::precondition_fail( # EX , __FILE__, __LINE__, MSG)) 00127 # define CGAL_triangulation_expensive_precondition_code(CODE) CODE 00128 #endif // CGAL_TRIANGULATION_NO_PRECONDITIONS 00129 00130 #if defined(CGAL_TRIANGULATION_NO_PRECONDITIONS) || defined(CGAL_NO_PRECONDITIONS) \ 00131 || (!defined(CGAL_TRIANGULATION_CHECK_EXACTNESS) && !defined(CGAL_CHECK_EXACTNESS))\ 00132 || (!defined(CGAL_TRIANGULATION_CHECK_EXPENSIVE) && !defined(CGAL_CHECK_EXPENSIVE)) \ 00133 || defined(NDEBUG) 00134 # define CGAL_triangulation_expensive_exactness_precondition(EX) (static_cast<void>(0)) 00135 # define CGAL_triangulation_expensive_exactness_precondition_msg(EX,MSG) (static_cast<void>(0)) 00136 # define CGAL_triangulation_expensive_exactness_precondition_code(CODE) 00137 #else 00138 # define CGAL_triangulation_expensive_exactness_precondition(EX) \ 00139 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::precondition_fail( # EX , __FILE__, __LINE__)) 00140 # define CGAL_triangulation_expensive_exactness_precondition_msg(EX,MSG) \ 00141 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::precondition_fail( # EX , __FILE__, __LINE__, MSG)) 00142 # define CGAL_triangulation_expensive_exactness_precondition_code(CODE) CODE 00143 #endif // CGAL_TRIANGULATION_NO_PRECONDITIONS 00144 00145 00146 // postconditions 00147 // -------------- 00148 00149 #if defined(CGAL_TRIANGULATION_NO_POSTCONDITIONS) || defined(CGAL_NO_POSTCONDITIONS) \ 00150 || defined(NDEBUG) 00151 # define CGAL_triangulation_postcondition(EX) (static_cast<void>(0)) 00152 # define CGAL_triangulation_postcondition_msg(EX,MSG) (static_cast<void>(0)) 00153 # define CGAL_triangulation_postcondition_code(CODE) 00154 #else 00155 # define CGAL_triangulation_postcondition(EX) \ 00156 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::postcondition_fail( # EX , __FILE__, __LINE__)) 00157 # define CGAL_triangulation_postcondition_msg(EX,MSG) \ 00158 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::postcondition_fail( # EX , __FILE__, __LINE__, MSG)) 00159 # define CGAL_triangulation_postcondition_code(CODE) CODE 00160 #endif // CGAL_TRIANGULATION_NO_POSTCONDITIONS 00161 00162 #if defined(CGAL_TRIANGULATION_NO_POSTCONDITIONS) || defined(CGAL_NO_POSTCONDITIONS) \ 00163 || (!defined(CGAL_TRIANGULATION_CHECK_EXACTNESS) && !defined(CGAL_CHECK_EXACTNESS))\ 00164 || defined(NDEBUG) 00165 # define CGAL_triangulation_exactness_postcondition(EX) (static_cast<void>(0)) 00166 # define CGAL_triangulation_exactness_postcondition_msg(EX,MSG) (static_cast<void>(0)) 00167 # define CGAL_triangulation_exactness_postcondition_code(CODE) 00168 #else 00169 # define CGAL_triangulation_exactness_postcondition(EX) \ 00170 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::postcondition_fail( # EX , __FILE__, __LINE__)) 00171 # define CGAL_triangulation_exactness_postcondition_msg(EX,MSG) \ 00172 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::postcondition_fail( # EX , __FILE__, __LINE__, MSG)) 00173 # define CGAL_triangulation_exactness_postcondition_code(CODE) CODE 00174 #endif // CGAL_TRIANGULATION_NO_POSTCONDITIONS 00175 00176 #if defined(CGAL_TRIANGULATION_NO_POSTCONDITIONS) || defined(CGAL_NO_POSTCONDITIONS) \ 00177 || (!defined(CGAL_TRIANGULATION_CHECK_EXPENSIVE) && !defined(CGAL_CHECK_EXPENSIVE)) \ 00178 || defined(NDEBUG) 00179 # define CGAL_triangulation_expensive_postcondition(EX) (static_cast<void>(0)) 00180 # define CGAL_triangulation_expensive_postcondition_msg(EX,MSG) (static_cast<void>(0)) 00181 # define CGAL_triangulation_expensive_postcondition_code(CODE) 00182 #else 00183 # define CGAL_triangulation_expensive_postcondition(EX) \ 00184 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::postcondition_fail( # EX , __FILE__, __LINE__)) 00185 # define CGAL_triangulation_expensive_postcondition_msg(EX,MSG) \ 00186 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::postcondition_fail( # EX , __FILE__, __LINE__, MSG)) 00187 # define CGAL_triangulation_expensive_postcondition_code(CODE) CODE 00188 #endif // CGAL_TRIANGULATION_NO_POSTCONDITIONS 00189 00190 #if defined(CGAL_TRIANGULATION_NO_POSTCONDITIONS) || defined(CGAL_NO_POSTCONDITIONS) \ 00191 || (!defined(CGAL_TRIANGULATION_CHECK_EXACTNESS) && !defined(CGAL_CHECK_EXACTNESS))\ 00192 || (!defined(CGAL_TRIANGULATION_CHECK_EXPENSIVE) && !defined(CGAL_CHECK_EXPENSIVE)) \ 00193 || defined(NDEBUG) 00194 # define CGAL_triangulation_expensive_exactness_postcondition(EX) (static_cast<void>(0)) 00195 # define CGAL_triangulation_expensive_exactness_postcondition_msg(EX,MSG) (static_cast<void>(0)) 00196 # define CGAL_triangulation_expensive_exactness_postcondition_code(CODE) 00197 #else 00198 # define CGAL_triangulation_expensive_exactness_postcondition(EX) \ 00199 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::postcondition_fail( # EX , __FILE__, __LINE__)) 00200 # define CGAL_triangulation_expensive_exactness_postcondition_msg(EX,MSG) \ 00201 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::postcondition_fail( # EX , __FILE__, __LINE__, MSG)) 00202 # define CGAL_triangulation_expensive_exactness_postcondition_code(CODE) CODE 00203 #endif // CGAL_TRIANGULATION_NO_POSTCONDITIONS 00204 00205 00206 // warnings 00207 // -------- 00208 00209 #if defined(CGAL_TRIANGULATION_NO_WARNINGS) || defined(CGAL_NO_WARNINGS) \ 00210 || defined(NDEBUG) 00211 # define CGAL_triangulation_warning(EX) (static_cast<void>(0)) 00212 # define CGAL_triangulation_warning_msg(EX,MSG) (static_cast<void>(0)) 00213 # define CGAL_triangulation_warning_code(CODE) 00214 #else 00215 # define CGAL_triangulation_warning(EX) \ 00216 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::warning_fail( # EX , __FILE__, __LINE__)) 00217 # define CGAL_triangulation_warning_msg(EX,MSG) \ 00218 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::warning_fail( # EX , __FILE__, __LINE__, MSG)) 00219 # define CGAL_triangulation_warning_code(CODE) CODE 00220 #endif // CGAL_TRIANGULATION_NO_WARNINGS 00221 00222 #if defined(CGAL_TRIANGULATION_NO_WARNINGS) || defined(CGAL_NO_WARNINGS) \ 00223 || (!defined(CGAL_TRIANGULATION_CHECK_EXACTNESS) && !defined(CGAL_CHECK_EXACTNESS))\ 00224 || defined(NDEBUG) 00225 # define CGAL_triangulation_exactness_warning(EX) (static_cast<void>(0)) 00226 # define CGAL_triangulation_exactness_warning_msg(EX,MSG) (static_cast<void>(0)) 00227 # define CGAL_triangulation_exactness_warning_code(CODE) 00228 #else 00229 # define CGAL_triangulation_exactness_warning(EX) \ 00230 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::warning_fail( # EX , __FILE__, __LINE__)) 00231 # define CGAL_triangulation_exactness_warning_msg(EX,MSG) \ 00232 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::warning_fail( # EX , __FILE__, __LINE__, MSG)) 00233 # define CGAL_triangulation_exactness_warning_code(CODE) CODE 00234 #endif // CGAL_TRIANGULATION_NO_WARNINGS 00235 00236 #if defined(CGAL_TRIANGULATION_NO_WARNINGS) || defined(CGAL_NO_WARNINGS) \ 00237 || (!defined(CGAL_TRIANGULATION_CHECK_EXPENSIVE) && !defined(CGAL_CHECK_EXPENSIVE)) \ 00238 || defined(NDEBUG) 00239 # define CGAL_triangulation_expensive_warning(EX) (static_cast<void>(0)) 00240 # define CGAL_triangulation_expensive_warning_msg(EX,MSG) (static_cast<void>(0)) 00241 # define CGAL_triangulation_expensive_warning_code(CODE) 00242 #else 00243 # define CGAL_triangulation_expensive_warning(EX) \ 00244 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::warning_fail( # EX , __FILE__, __LINE__)) 00245 # define CGAL_triangulation_expensive_warning_msg(EX,MSG) \ 00246 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::warning_fail( # EX , __FILE__, __LINE__, MSG)) 00247 # define CGAL_triangulation_expensive_warning_code(CODE) CODE 00248 #endif // CGAL_TRIANGULATION_NO_WARNINGS 00249 00250 #if defined(CGAL_TRIANGULATION_NO_WARNINGS) || defined(CGAL_NO_WARNINGS) \ 00251 || (!defined(CGAL_TRIANGULATION_CHECK_EXACTNESS) && !defined(CGAL_CHECK_EXACTNESS))\ 00252 || (!defined(CGAL_TRIANGULATION_CHECK_EXPENSIVE) && !defined(CGAL_CHECK_EXPENSIVE)) \ 00253 || defined(NDEBUG) 00254 # define CGAL_triangulation_expensive_exactness_warning(EX) (static_cast<void>(0)) 00255 # define CGAL_triangulation_expensive_exactness_warning_msg(EX,MSG) (static_cast<void>(0)) 00256 # define CGAL_triangulation_expensive_exactness_warning_code(CODE) 00257 #else 00258 # define CGAL_triangulation_expensive_exactness_warning(EX) \ 00259 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::warning_fail( # EX , __FILE__, __LINE__)) 00260 # define CGAL_triangulation_expensive_exactness_warning_msg(EX,MSG) \ 00261 (CGAL::possibly(EX)?(static_cast<void>(0)): ::CGAL::warning_fail( # EX , __FILE__, __LINE__, MSG)) 00262 # define CGAL_triangulation_expensive_exactness_warning_code(CODE) CODE 00263 #endif // CGAL_TRIANGULATION_NO_WARNINGS 00264 00265