mirror of https://github.com/CGAL/cgal
Remove paragraph in the developer manual; Some fixes
This commit is contained in:
parent
d3fca65ae5
commit
6d09a886b2
|
|
@ -20,12 +20,6 @@
|
|||
\cgalPkgShortInfoEnd
|
||||
\cgalPkgDescriptionEnd
|
||||
|
||||
\cgalCRPSection{Assertions}
|
||||
|
||||
The optimization code uses infix `OPTIMISATION` in the assertions,
|
||||
e.g. defining the compiler flag
|
||||
`CGAL_OPTIMISATION_NO_PRECONDITIONS` switches precondition
|
||||
checking off, cf. Section \ref secchecks.
|
||||
|
||||
\cgalClassifedRefPages
|
||||
|
||||
|
|
@ -62,4 +56,3 @@ checking off, cf. Section \ref secchecks.
|
|||
- `CGAL::Min_sphere_of_spheres_d<Traits>`
|
||||
- `MinSphereOfSpheresTraits`
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -156,53 +156,8 @@ the computation is done with some exact number type.
|
|||
\section secchecks_controlling Controlling checks at a finer granularity
|
||||
|
||||
The macros and related compile-time flags described so far all operate
|
||||
on the whole library. Sometimes the user may want to have a more
|
||||
selective control. \cgal offers the possibility to turn checks on
|
||||
and off on a per-package basis. Therefore a package-specific term is
|
||||
inserted in the macro names directly after the \cgal prefix,
|
||||
<I>e.g.</I>, `CGAL_kernel_assertion(<Cond>)`. Similarly, the uppercase
|
||||
term is used for the compile-time flags;
|
||||
<I>e.g.</I>, `CGAL_KERNEL_NO_WARNINGS` switches off the warnings
|
||||
in <I>only</I> the kernel. Other packages have their own specific
|
||||
terms as documented in the corresponding chapters of the
|
||||
reference manual.
|
||||
|
||||
For a new package you will first have to create a suitable header file
|
||||
with all macro definitions. This is done with the shell script
|
||||
<TT>cgal_create_assertions.sh</TT>, to be found in the
|
||||
<TT>scripts</TT> directory.
|
||||
|
||||
The following command will create a file <TT>optimisation_assertions.h</TT>:
|
||||
|
||||
<CENTER>
|
||||
<TT>sh cgal_create_assertions.sh optimisation</TT>
|
||||
|
||||
</CENTER>
|
||||
|
||||
You should place the generated file in the proper directory (and possibly
|
||||
rename it). Then you can use the checks in the following fashion.
|
||||
|
||||
\code{.cpp}
|
||||
#include <CGAL/Optimisation/assertions.h>
|
||||
|
||||
void optimisation_foo( int i)
|
||||
{
|
||||
CGAL_optimisation_precondition_msg( i == 42, "Only 42 allowed!");
|
||||
// ...
|
||||
}
|
||||
\endcode
|
||||
|
||||
The documentation of your new package has to name the term chosen to be
|
||||
part of the package-specific macros in
|
||||
order to enable the user to selectively turn off and on the checks of
|
||||
your package. For example, in the documentation of the optimisation
|
||||
package you can find a sentence similar to the following.
|
||||
<BLOCKQUOTE>
|
||||
The optimisation code uses the term OPTIMISATION for the checks;
|
||||
<I>e.g.</I>, setting the compile time flag
|
||||
`CGAL_OPTIMISATION_NO_PRECONDITIONS` switches off precondition
|
||||
checking in the optimisation code.
|
||||
</BLOCKQUOTE>
|
||||
on the whole library. \cgal offers the possibility to turn checks on
|
||||
and off just for the kernel.
|
||||
|
||||
\section secchecks_cgal_assume Suppress warnings using CGAL_assume.
|
||||
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
#include <stack>
|
||||
#include <CGAL/iterator.h>
|
||||
#include <CGAL/tuple.h>
|
||||
#include <CGAL/assertions.h>
|
||||
#include <CGAL/Kernel/global_functions_2.h>
|
||||
|
||||
namespace CGAL {
|
||||
|
|
@ -415,8 +416,8 @@ template<typename Tr>
|
|||
Cvd_cell_2<Tr> dual(const Tr& tr,
|
||||
const typename Tr::Vertex_handle& v)
|
||||
{
|
||||
CGAL_triangulation_precondition( v != typename Tr::Vertex_handle());
|
||||
CGAL_triangulation_precondition( !tr.is_infinite(v));
|
||||
CGAL_precondition( v != typename Tr::Vertex_handle());
|
||||
CGAL_precondition( !tr.is_infinite(v));
|
||||
|
||||
Constrained_voronoi_diagram_2<Tr> diagram(tr);
|
||||
return diagram.cvd_cell(v);
|
||||
|
|
@ -436,8 +437,8 @@ Cvd_cell_2<Tr> dual(const Tr& tr,
|
|||
// typedef Tr::Geom_traits::Ray_2 Ray;
|
||||
// typedef Tr::Geom_traits::Vector_2 Vector_2;
|
||||
//
|
||||
// CGAL_triangulation_precondition( v != Vertex_handle());
|
||||
// CGAL_triangulation_precondition( !tr.is_infinite(v));
|
||||
// CGAL_precondition( v != Vertex_handle());
|
||||
// CGAL_precondition( !tr.is_infinite(v));
|
||||
//
|
||||
// // The Circulator moves ccw.
|
||||
// std::vector<Segment> segments;
|
||||
|
|
|
|||
|
|
@ -568,7 +568,7 @@ refine_mesh(std::string dump_after_refine_surface_prefix)
|
|||
std::cerr << "Total refining surface time: " << timer.time() << "s" << std::endl;
|
||||
std::cerr << std::endl;
|
||||
|
||||
CGAL_triangulation_postcondition(r_tr.is_valid());
|
||||
CGAL_postcondition(r_tr.is_valid());
|
||||
|
||||
elapsed_time += timer.time();
|
||||
timer.stop(); timer.reset(); timer.start();
|
||||
|
|
@ -613,7 +613,7 @@ refine_mesh(std::string dump_after_refine_surface_prefix)
|
|||
std::cerr << "Total refining time: " << timer.time()+elapsed_time << "s" << std::endl;
|
||||
std::cerr << std::endl;
|
||||
|
||||
CGAL_triangulation_postcondition(r_tr.is_valid());
|
||||
CGAL_postcondition(r_tr.is_valid());
|
||||
#endif
|
||||
|
||||
(void)(forced_stop()); // sets *error_code
|
||||
|
|
|
|||
Loading…
Reference in New Issue