% +------------------------------------------------------------------------+ % | CGAL Reference Manual: modifier.tex % +------------------------------------------------------------------------+ % | Modifier Base Class for CGAL. % | % | 11.10.1996 Lutz Kettner % | % | \RCSdef{\modifierRev}{$Id$} \RCSdefDate{\modifierDate}{$Date$} % +------------------------------------------------------------------------+ \section{Protected Access to Internal Representations} %\label{chapterModifier} %\ccChapterRelease{\modifierRev. \ \modifierDate}\\ %\ccChapterAuthor{Lutz Kettner} % +=========================================================================+ %\section{Introduction} % +=========================================================================+ High level data structures typically maintain integrity of an internal data representation, which they protect from the user. A minimal while complete interface of the data structure allows manipulations in the domain of valid representations. Additional operations might benefit from being allowed to access the internal data representation directly. An example are intermediate steps within an algorithm where the internal representation would be invalid. We present a general method to accomplish access in a safe manner, such that the high level data structures can guarantee validity after the possibly compromising algorithm has finished its work. An example are polyhedral surfaces in the Basic Library, where a construction process like for a file scanner could be performed more efficiently on the internal halfedge data structure than by using the high-level Euler operators of the polyhedron. \begin{figure} \begin{ccTexOnly} \begin{center} \parbox{\textwidth}{% \includegraphics[width=\textwidth]{Modifier/idraw/modifier}% } \end{center} \end{ccTexOnly} \caption{Class diagram for the modifier. It illustrates the safe access to an internal representation through an high-level interface. \label{figureModifierDesign}} \begin{ccHtmlOnly}
