diff --git a/Algebraic_kernel_d/doc_tex/Algebraic_kernel_d_ref/CurveAnalysis_2.tex b/Algebraic_kernel_d/doc_tex/Algebraic_kernel_d_ref/CurveAnalysis_2.tex index 686a652b4a6..a4fa25c635c 100644 --- a/Algebraic_kernel_d/doc_tex/Algebraic_kernel_d_ref/CurveAnalysis_2.tex +++ b/Algebraic_kernel_d/doc_tex/Algebraic_kernel_d_ref/CurveAnalysis_2.tex @@ -10,20 +10,22 @@ the status line respectively. With the help of the concept's methods one is able to compute the local topology of the curve at the given vertical line $x = x_0$ for some finite $x_0$. -A status line an $x_0$ smaller than any $x$-coordinate of a curve's -status lines captures the topology of the curve when approaching $x = -\infty$. -An analogue arguments holds for $x_0$ larger than any $x$-coordinate +A status line at any $x_0$ smaller than any $x$-coordinate of a curve's +$x$-critical points captures the topology of the curve when +approaching $x = -\infty$. +An analogue argument holds for $x_0$ larger than any $x$-coordinate of a curve's status lines and $x = +\infty$. %at the given vertical line. %Note that vertical lines at $x = \pm\infty$ are not allowed, since different %events (curve ends going to infinity with different non-horizontal asymptotes) %would have equal $y$-coordinate ($\pm\infty$), which confuses more than it %helps. -Note in addition that curve ends approaching the vertical asymptote -introduce an event (depending on whether approaching $+\infty$ or $-\infty$ - -but the event with coordinates $(x,-\infty)$, resp. $(x,+\infty)$, occur -only once, if they occur, and they imply not to be associated with -an instance of \ccc{Algebraic_real_2}. + +%Note in addition that curve ends approaching the vertical asymptote +%introduce an event (depending on whether approaching $+\infty$ or $-\infty$ - +%but the event with coordinates $(x,-\infty)$, resp. $(x,+\infty)$, occur +%only once, if they occur, and they imply not to be associated with +%an instance of \ccc{Algebraic_real_2}. \ccTypes @@ -35,7 +37,7 @@ an instance of \ccc{Algebraic_real_2}. \ccNestedType{Algebraic_real_2}{A model of the concept \ccc{AlgebraicKernel_d_2::Algebraic_real_2}.} -\ccCreationVariable{fo} +\ccCreationVariable{sl} \ccAccessFunctions \ccMethod{Algebraic_real_1 x();}{ @@ -81,12 +83,12 @@ an instance of \ccc{Algebraic_real_2}. from left and right. A vertical line being component of the curve is ignored. } -\ccMethod{bool has_f_fy_intersection();}{ +\ccMethod{bool has_x_critical_point();}{ returns \ccc{true} if the curve $f$ has an intersection with $f_y$ at $x$ } \ccMethod{bool is_event();}{ - returns \ccc{true} if one of \ccc{has_f_fy_intersection()} or + returns \ccc{true} if one of \ccc{has_x_critical_point()} or \ccc{covers_line()} evaluates to \ccc{true}. } @@ -100,7 +102,7 @@ of events must be finite.} \ccDefinition The \ccc{AlgebraicKernel_d_2::CurveAnalysis_2} -concept is meant to provide tools to analyse a single +concept is meant to provide tools to analyze a single curve. An analysis is meant to describe the curve's interesting points and how they are connected. The analysis searches for {\it events}. Events only occur at a finite number of $x$-coordinates. Each such coordinate defines @@ -108,8 +110,11 @@ a \ccc{StatusLine_1} of an event. These coordinates also define open {\it intervals} on the $x$-axis. Different \ccc{StatusLine_1} at values within one such interval only differ in the values of the \ccc{Algebraic_real_2} entries. -Topological information are equal for all $x$-coordinate inside such an -open interval. +Topological information is equal for all $x$-coordinate inside such an +open interval. If there a $n$ $x$-coordinate that have an event point, we +see at most $2n+1$ topologically different status lines, that is, $n$ for +the the events, and $n+1$ for the intervals between events (and before the +first, and after the last event). \ccRefines{ \ccc{DefaultConstructible, CopyConstructible, Assignable} @@ -132,7 +137,7 @@ open interval. \ccc{CurveAnalysis_2::StatusLine_1}.} \ccCreation -\ccCreationVariable{fo} +\ccCreationVariable{ca} \ccConstructor{CurveAnalysis_2(Polynomial_2 p);} {constructs an analysis for the curve defined by p. @@ -166,11 +171,13 @@ open interval. \ccMethod{Status_line_1 status_line_at_event(size_type i);}{ returns an instance of \ccc{StatusLine_1} at the $i$-th event + \ccPrecond{$0 \leq i < $ \ccc{number_of_status_lines_with_event()}} } \ccMethod{Status_line_1 status_line_of_interval(size_type i);}{ returns an instance of \ccc{StatusLine_1} of the $i$-th interval between $x$-events. + \ccPrecond{$0 \leq i \leq $ \ccc{number_of_status_lines_with_event()}} } \ccMethod{Status_line_1 status_line_for_x(Algebraic_real_1 x, @@ -216,7 +223,7 @@ i.e., also to access $y$-coordinates at given $x$. } In our $y$-per-$x$-view we imagine the parameter space to be slightly -``heigher'' than ``width'' and so we distinguish three aympototic behaviours +``heigher'' than ``width'' and so we distinguish three aymptotic behaviors of arcs. Horizontal, vertical, and none of them. This member covers all non-vertical asymptotic values. We do not introduce a special one for vertical asympototes as the respective $x$-coordinates are already defined diff --git a/Algebraic_kernel_d/doc_tex/Algebraic_kernel_d_ref/CurvePairAnalysis_2.tex b/Algebraic_kernel_d/doc_tex/Algebraic_kernel_d_ref/CurvePairAnalysis_2.tex index a74fafd71d6..33d6150a7cc 100644 --- a/Algebraic_kernel_d/doc_tex/Algebraic_kernel_d_ref/CurvePairAnalysis_2.tex +++ b/Algebraic_kernel_d/doc_tex/Algebraic_kernel_d_ref/CurvePairAnalysis_2.tex @@ -25,7 +25,7 @@ not allowed. \ccc{AlgebraicKernel_d_2::AlgebraicReal_2}.} -\ccCreationVariable{fo} +\ccCreationVariable{sl} \ccAccessFunctions \ccMethod{Algebraic_real_1 x();}{ @@ -42,8 +42,9 @@ not allowed. returns the $y$-position of the $k$-th event of the $c$-th (0 or 1) curve in the sequence of events. Note that each event is formed by the first, the second, or both curves. - \ccPrecond{$0 \leq k < \mbox{number of arcs defined for the curve at x()}$} - The precondition can be checked by queried first the corresponding status + \ccPrecond{ + $0 \leq k < $ \ccc{number_of_events()}} + The precondition can be checked by quering first the corresponding status line of the curve's analysis. } @@ -51,33 +52,36 @@ not allowed. returns the multiplicity of intersection defined at event with position $j$. May return $0$ in case multiplicity is unknown. \ccPrecond{There is an intersection of both curves at $j$-th event.} - \ccPrecond{$0 \leq j < \mbox{num\_events()}$} + \ccPrecond{$0 \leq j < $\ccc{number_of_events()}} } \ccMethod{std::pair< size_type, size_type > curves_at_event(size_type j);}{ returns a pair of \ccc{size_type} indicating whether event $j$ is formed by which arc numbers of the first and the second curve, or $-1$, if the corresponding curve is not involved. - \ccPrecond{$0 \leq j < \mbox{num\_events()}$} + \ccPrecond{$0 \leq j < $\ccc{number\_of_events()}} } -Note that this interface mainly rewrites $\{f,g,x\}^n$ in a different way - -using \ccc{size_type}. Actually the CPVL has to compute this sequence, but for -the interface it is nicer to have it already here to avoid conversion objects -(introducing additional constructor calls, cache-misses, lookup and so on) in -the next layer on top (CK). Obviously, the \ccc{size_type}s -can be computed in a generic -way from a sequence, so that it makes sense to offer a default implementation -providing such conversion. There is no need to document this fact on the -conceptual view. +%Note that this interface mainly rewrites $\{f,g,x\}^n$ in a different way - +%using \ccc{size_type}. Actually the CPVL has to compute this sequence, but for +%the interface it is nicer to have it already here to avoid conversion objects +%(introducing additional constructor calls, cache-misses, lookup and so on) in +%the next layer on top (CK). Obviously, the \ccc{size_type}s +%can be computed in a generic +%way from a sequence, so that it makes sense to offer a default implementation +%providing such conversion. There is no need to document this fact on the +%conceptual view. \ccMethod{bool is_event();}{ - returns \ccc{true} if a curve has an event or in case there is an - intersection of both curves. + returns \ccc{true} if the status line contains an event point. Namely, if + one of the curves has an event, or if the two curves intersect, at a point + whose $x$-coordinate is sl.x(). } \ccMethod{bool is_intersection();}{ - returns \ccc{true} if there is an intersection of both curves. + returns \ccc{true} if the status line contains an intersection point. + Namely, if the two curves intersect at a point whose $x$-coordinate + is sl.x(). } \end{ccRefConcept} @@ -98,7 +102,7 @@ These coordinates also define open {\it intervals} on the $x$-axis. \ccc{StatusLine_1} at values in between one such interval differ only in the values of the \ccc{Algebraic_real_2} entries. Topological -information are equal. +information is equal. \ccRefines{ \ccc{DefaultConstructible, CopyConstructible, Assignable} @@ -121,7 +125,7 @@ information are equal. \ccc{CurvePairAnalysis::CurveAnalysis_2}.} \ccCreation -\ccCreationVariable{fo} +\ccCreationVariable{cpa} \ccConstructor{CurvePairAnalysis_2(Curve_analysis_2 ca1, Curve_analysis_2 ca2);} {constructs an analysis for the curve-pair defined by analysis given by @@ -154,25 +158,26 @@ coprime.} } \ccMethod{size_type number_of_status_lines_with_event();}{ - returns number of status lines that encode an event + returns number of status lines that contain an event point. } \ccMethod{size_type event_of_curve_analysis(size_type i, bool c);}{ Given the $i$-th event of the curve pair this method returns the id of the event of the corresponding curve - analysis $c$ (0 or 1), or $-1$, if the curve has no event at this coordinate. + analysis $c$ (0 or 1), or $-1$, if the curve has no event + at this coordinate. } \ccMethod{Status_line status_line_at_event(size_type i);}{ returns an instance of \ccc{StatusLine_1} at the $i$-th event - \ccPrecond{$0 \leq i < \mbox{num\_status\_lines\_with\_event()}$} + \ccPrecond{$0 \leq i < $\ccc{num\_status\_lines\_with\_event()}} } \ccMethod{Status_line status_line_of_interval(size_type i);}{ returns an instance of \ccc{StatusLine_1} of the $i$-th interval between $x$-events. - \ccPrecond{$0 \leq i leq \mbox{num\_status\_lines\_with\_event()}$} + \ccPrecond{$0 \leq i \leq $\ccc{num\_status\_lines\_with\_event()}} } \ccMethod{Status_line status_line_for_x(Algebraic_real_1 x, @@ -180,7 +185,7 @@ coprime.} returns status\_line\_at\_event(i), if $x$ hits $i$-th event, otherwise returns status\_line\_of\_interval(i), where $i$ is the id of the interval $x$ lies in. - If $pertub$ is CGAL::NEGATIVE (CGAL::POSITIVE) and $x$ states + If $perturb$ is CGAL::NEGATIVE (CGAL::POSITIVE) and $x$ states an event, then status\_line\_of\_interval(i) (status\_line\_of\_interval(i+1)) is returned. \ccPrecond{$x$ is finite}