From 38c6890ce09ab8dde6d56c06ef21c84b61a454cb Mon Sep 17 00:00:00 2001 From: Daniel Russel Date: Tue, 11 Apr 2006 08:02:37 +0000 Subject: [PATCH] cleaned up docs for split some more --- .../sweepline_usage_example.tex | 24 ++++++++++++++++--- .../Erase_event.tex | 13 +++++----- .../Kinetic_data_structures_ref/intro.tex | 6 +++++ .../Kinetic_data_structures_ref/main.tex | 2 ++ .../doc_tex/Kinetic_framework_ref/intro.tex | 2 -- .../doc_tex/Kinetic_framework_ref/main.tex | 1 - 6 files changed, 35 insertions(+), 13 deletions(-) diff --git a/Kinetic_data_structures/doc_tex/Kinetic_data_structures/sweepline_usage_example.tex b/Kinetic_data_structures/doc_tex/Kinetic_data_structures/sweepline_usage_example.tex index 77d999399f3..d0a142173ed 100644 --- a/Kinetic_data_structures/doc_tex/Kinetic_data_structures/sweepline_usage_example.tex +++ b/Kinetic_data_structures/doc_tex/Kinetic_data_structures/sweepline_usage_example.tex @@ -5,7 +5,7 @@ Here we present a simple example that uses the \ccc{Kinetic::Sort} kinetic data structure to compute -an arrangement of algebraic curves. It wraps the sorting data +an arrangement of algebraic functions. It wraps the sorting data structure and uses a visitor to monitor changes and map them to corresponding features in the arrangement. To see an example using this kinetic data structure read the example at @@ -113,8 +113,26 @@ public: \end{ccExampleCode} Finally, we have to set everything up. To do this we use some special -event classes: \ccc{Kinetic::Insert_event<>} - +event classes: \ccc{Kinetic::Insert_event} and +\ccc{Kinetic::Erase_event}. These are events which +can be put in the event queue which either insert a primitive into the +set of active objects or remove it. Using these, we can allow curves +in the arrangement to begin or end in arbitrary places. +\begin{ccExampleCode} +typedef CGAL::Kinetic::Insert_event Insert_event; +typedef CGAL::Kinetic::Erase_event Erase_event; +do { + NT begin, end; + Point function; + // initialize the function and the beginning and end somewhere + tr.simulator_handle()->new_event(Time(begin), + Insert_event(function, tr.active_points_1_table_handle())); + tr.simulator_handle()->new_event(Time(end), + Erase_event(Traits::Active_points_1_table::Key(num), + tr.active_points_1_table_handle())); + ++num; +} while (true); +\end{ccExampleCode} %%% Local Variables: %%% mode: latex %%% TeX-master: t diff --git a/Kinetic_data_structures/doc_tex/Kinetic_data_structures_ref/Erase_event.tex b/Kinetic_data_structures/doc_tex/Kinetic_data_structures_ref/Erase_event.tex index 00c47ef2557..103d44d9a04 100644 --- a/Kinetic_data_structures/doc_tex/Kinetic_data_structures_ref/Erase_event.tex +++ b/Kinetic_data_structures/doc_tex/Kinetic_data_structures_ref/Erase_event.tex @@ -11,17 +11,17 @@ % +------------------------------------------------------------------------+ -\begin{ccRefClass}{Kinetic::Insert_event} %% add template arg's if necessary +\begin{ccRefClass}{Kinetic::Erase_event} %% add template arg's if necessary %% \ccHtmlCrossLink{} %% add further rules for cross referencing links %% \ccHtmlIndexC[class]{} %% add further index entries \ccDefinition -This event inserts a point into the \ccc{ActiveObjectsTable} when it +This event erases a point from the \ccc{ActiveObjectsTable} when it is processed. -\ccInclude{CGAL/Kinetic/Insert_event.h} +\ccInclude{CGAL/Kinetic/Erase_event.h} \ccIsModel \ccc{Kinetic::Simulator::Event} @@ -29,9 +29,8 @@ is processed. \ccCreation \ccCreationVariable{i} %% choose variable name -\ccConstructor{Insert_event(ActiveObjectsTable::Data o, - ActiveObjectsTable::Handle t);}{Insert the object o, into the table - t when processed.} +\ccConstructor{Insert_event(ActiveObjectsTable::Key k, + ActiveObjectsTable::Handle t);}{Erase the object \ccc{k} from the table \ccc{t} when processed.} \ccSeeAlso @@ -54,7 +53,7 @@ KDel kdel(tr); Moving_point_2 mp(Moving_point_2::NT(0), Moving_point_2::NT(0)); tr.simulator_handle()->new_event(Simulation_traits::Simulator::Time(3), - Insert_event(mp, + Erase_event(*tr.active_objects_table_handle()->keys_begin(), tr.active_points_2_table_handle())); \end{ccExampleCode} diff --git a/Kinetic_data_structures/doc_tex/Kinetic_data_structures_ref/intro.tex b/Kinetic_data_structures/doc_tex/Kinetic_data_structures_ref/intro.tex index 6977eecfec3..9e6e967babd 100644 --- a/Kinetic_data_structures/doc_tex/Kinetic_data_structures_ref/intro.tex +++ b/Kinetic_data_structures/doc_tex/Kinetic_data_structures_ref/intro.tex @@ -58,6 +58,12 @@ The support classes: \ccRefIdfierPage{Kinetic::Regular_triangulation_vertex_base_3} +\ccRefIdfierPage{Kinetic::Insert_event} + +\ccRefIdfierPage{Kinetic::Erase_event} + + + \ccHeading{Graphical display} Next we have some support classes which are used to display kinetic data structures: diff --git a/Kinetic_data_structures/doc_tex/Kinetic_data_structures_ref/main.tex b/Kinetic_data_structures/doc_tex/Kinetic_data_structures_ref/main.tex index 2bec2ac2769..046b234a85c 100644 --- a/Kinetic_data_structures/doc_tex/Kinetic_data_structures_ref/main.tex +++ b/Kinetic_data_structures/doc_tex/Kinetic_data_structures_ref/main.tex @@ -20,7 +20,9 @@ \input{Kinetic_data_structures_ref/Delaunay_triangulation_visitor_base_3.tex} \input{Kinetic_data_structures_ref/Enclosing_box_2.tex} \input{Kinetic_data_structures_ref/Enclosing_box_3.tex} +\input{Kinetic_data_structures_ref/Erase_event.tex} \input{Kinetic_data_structures_ref/EventLogVisitor.tex} +\input{Kinetic_data_structures_ref/Insert_event.tex} \input{Kinetic_data_structures_ref/Qt_moving_points_2.tex} \input{Kinetic_data_structures_ref/Qt_triangulation_2.tex} \input{Kinetic_data_structures_ref/Qt_widget_2.tex} diff --git a/Kinetic_data_structures/doc_tex/Kinetic_framework_ref/intro.tex b/Kinetic_data_structures/doc_tex/Kinetic_framework_ref/intro.tex index 6d07a9c57c9..1ed3df13056 100644 --- a/Kinetic_data_structures/doc_tex/Kinetic_framework_ref/intro.tex +++ b/Kinetic_data_structures/doc_tex/Kinetic_framework_ref/intro.tex @@ -82,8 +82,6 @@ Next we have some support classes which are used to display kinetic data structu \ccRefIdfierPage{Kinetic::Active_objects_listener_helper} -\ccRefIdfierPage{Kinetic::Insert_event} - \ccRefIdfierPage{CGAL::Listener} \ccRefIdfierPage{CGAL::Multi_listener} diff --git a/Kinetic_data_structures/doc_tex/Kinetic_framework_ref/main.tex b/Kinetic_data_structures/doc_tex/Kinetic_framework_ref/main.tex index 67c1f9c8375..8f35b9a7a8e 100644 --- a/Kinetic_data_structures/doc_tex/Kinetic_framework_ref/main.tex +++ b/Kinetic_data_structures/doc_tex/Kinetic_framework_ref/main.tex @@ -18,7 +18,6 @@ \input{Kinetic_framework_ref/Event.tex} \input{Kinetic_framework_ref/FunctionKernel.tex} \input{Kinetic_framework_ref/Function.tex} -\input{Kinetic_framework_ref/Insert_event.tex} \input{Kinetic_framework_ref/InstantaneousKernel.tex} \input{Kinetic_framework_ref/Key.tex} \input{Kinetic_framework_ref/KineticKernel.tex}