cleaning of doc_html

This commit is contained in:
Mariette Yvinec 2000-08-08 15:26:16 +00:00
parent 8db7fecf9d
commit 3dd87b5724
10 changed files with 381 additions and 983 deletions

View File

@ -1,666 +0,0 @@
<!-- Begin of cc_manual_header -->
<!-- ------------------------- -->
<!-- $Revision$ -->
<!-- $Date$ -->
<!-- CC manual page automatically extracted from a TeX specification -->
<!-- in file Chapter_main.html -->
<!-- by cc_extract_html, $Revision$. -->
<!-- Title -->
<HEAD>
<TITLE>Geomview: CGAL_Geomview_stream</TITLE>
</HEAD>
<!-- Background layout-->
<BODY BGCOLOR="FAF8E8" TEXT="#000000">
<!-- Navigation -->
<STRONG>Navigation:</STRONG>
<A HREF="Chapter_main.html">Up</A>,
<A HREF="contents.html">Table of Contents</A>,
<A HREF="biblio.html">Bibliography</A>,
<A HREF="manual_index.html">Index</A>,
<A HREF="title.html">Title Page</A>
<HR>
<!-- End of cc_manual_header -->
<A NAME="Index_anchor_0"></A>
<A NAME="Cross_link_anchor_0"></A>
<P>
<H3>Definition</H3>An object of the class <I><A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A></I>
is a stream in which geometric objects can be insrted and where
geometric objects can be extracted from. The constructor starts
geomview either on the local either on a remote machine.
<P>
<I>#include &lt;<A HREF="GAL/include//CGAL/IO/Geomview_stream.h">
CGAL/IO/Geomview_stream.h</A>&gt;</I>
<P>
<H3>Creation</H3>
<P>
<!2><TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0 WIDTH=550>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=30% NOWRAP COLSPAN=2>
<I>
<TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0><TR><TD ALIGN=LEFT VALIGN=TOP NOWRAP><I>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A> G ( </I></TD><TD ALIGN=LEFT VALIGN=TOP NOWRAP><I>
CGAL_Bbox_3 bbox = CGAL_Bbox_3(0,0,0, 1,1,1), <BR>
const char *machine = NULL, <BR>
const char *login = NULL);</I></TD></TR></TABLE>
</I>
</TD></TR><TR><TD WIDTH=30%></TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=70%>
Introduces a geomview stream <I>G</I> with a camera that sees the
bounding box. If machine and login are non-null, geomview is
started on the remote machine.
<P>
</TD></TR>
</TABLE><!2>
<P>
<H3>Operations</H3><H3> Output Operators for CGAL Kernel Classes</H3>
<P>
At the moment not all classes of the CGAL kernel have output operators.
2D objects are embedded in the <I>xy</I>-plane.
<P>
<!3><TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0 WIDTH=550>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=3>
<I>
template &lt;class R&gt;
</I>
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
<A NAME="Function_CGAL_Geomview_stream___operator666CGAL_Geomview_stream__G+__const_CGAL_Point_26R9__p9;"></A>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A>&amp;
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=2>
<I>
&amp; G &lt;&lt; CGAL_Point_2&lt;R&gt; p
</I>
</TD></TR><TR><TD WIDTH=25%></TD><TD WIDTH=25%></TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Inserts the point <I>p</I> into the stream <I>G</I>.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=3>
<I>
template &lt;class R&gt;
</I>
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
<A NAME="Function_CGAL_Geomview_stream___operator666CGAL_Geomview_stream__G+__const_CGAL_Point_36R9__p9;"></A>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A>&amp;
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=2>
<I>
&amp; G &lt;&lt; CGAL_Point_3&lt;R&gt; p
</I>
</TD></TR><TR><TD WIDTH=25%></TD><TD WIDTH=25%></TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Inserts the point <I>p</I> into the stream <I>G</I>.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=3>
<I>
template &lt;class R&gt;
</I>
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
<A NAME="Function_CGAL_Geomview_stream___operator666CGAL_Geomview_stream__G+__const_CGAL_Segment_26R9__s9;"></A>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A>&amp;
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=2>
<I>
&amp; G &lt;&lt; CGAL_Segment_2&lt;R&gt; s
</I>
</TD></TR><TR><TD WIDTH=25%></TD><TD WIDTH=25%></TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Inserts the segment <I>s</I> into the stream <I>G</I>.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=3>
<I>
template &lt;class R&gt;
</I>
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
<A NAME="Function_CGAL_Geomview_stream___operator666CGAL_Geomview_stream__G+__const_CGAL_Segment_36R9__s9;"></A>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A>&amp;
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=2>
<I>
&amp; G &lt;&lt; CGAL_Segment_3&lt;R&gt; s
</I>
</TD></TR><TR><TD WIDTH=25%></TD><TD WIDTH=25%></TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Inserts the segment <I>s</I> into the stream <I>G</I>.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=3>
<I>
template &lt;class R&gt;
</I>
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
<A NAME="Function_CGAL_Geomview_stream___operator666CGAL_Geomview_stream__G+__const_CGAL_Triangle_26R9__t9;"></A>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A>&amp;
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=2>
<I>
&amp; G &lt;&lt; CGAL_Triangle_2&lt;R&gt; t
</I>
</TD></TR><TR><TD WIDTH=25%></TD><TD WIDTH=25%></TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Inserts the triangle <I>t</I> into the stream <I>G</I>.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=3>
<I>
template &lt;class R&gt;
</I>
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
<A NAME="Function_CGAL_Geomview_stream___operator666CGAL_Geomview_stream__G+__const_CGAL_Triangle_36R9__t9;"></A>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A>&amp;
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=2>
<I>
&amp; G &lt;&lt; CGAL_Triangle_3&lt;R&gt; t
</I>
</TD></TR><TR><TD WIDTH=25%></TD><TD WIDTH=25%></TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Inserts the triangle <I>t</I> into the stream <I>G</I>.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=3>
<I>
template &lt;class R&gt;
</I>
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
<A NAME="Function_CGAL_Geomview_stream___operator666CGAL_Geomview_stream__G+__const_CGAL_Tetrahedron_36R9__t9;"></A>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A>&amp;
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=2>
<I>
&amp; G &lt;&lt; CGAL_Tetrahedron_3&lt;R&gt; t
</I>
</TD></TR><TR><TD WIDTH=25%></TD><TD WIDTH=25%></TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Inserts the tetrahedron <I>t</I> into the stream <I>G</I>.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A>&amp;
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G &lt;&lt; CGAL_Bbox_2 b
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Inserts the bounding box <I>b</I> into the stream <I>G</I>.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A>&amp;
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G &lt;&lt; CGAL_Bbox_3 b
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Inserts the bounding box <I>b</I> into the stream <I>G</I>.
</TD></TR>
</TABLE><!3>
<P>
<H3> Input Operators for CGAL Kernel Classes</H3>
<P>
At the moment input is only provided for points. The user has to select
a point on the <I>pickplane</I> with the right mouse button. The
pickplane can be moved anywhere with the left mouse button, before a
point is entered.
<P>
<!3><TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0 WIDTH=550>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=3>
<I>
template &lt;class R&gt;
</I>
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
<A NAME="Function_CGAL_Geomview_stream___operator996CGAL_Geomview_stream__G+__CGAL_Point_36R9__p9;"></A>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A>&amp;
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=2>
<I>
&amp; G &gt;&gt; CGAL_Point_3&lt;R&gt;&amp; p
</I>
</TD></TR><TR><TD WIDTH=25%></TD><TD WIDTH=25%></TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Extracts the point <I>p</I> from the stream <I>G</I>. The point is
echoed.
</TD></TR>
</TABLE><!3>
<P>
<H3> Output Operators for CGAL Basic Library Classes</H3>
<P>
<!3><TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0 WIDTH=550>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=3>
<I>
template &lt;class Traits, class HDS&gt;
</I>
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
<A NAME="Function_CGAL_Geomview_stream__operator666CGAL_Geomview_stream__G+__const_CGAL_Polyhedron_36Traits+HDS9__P9;"></A>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A>&amp;
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=2>
<I>
&amp;G &lt;&lt; CGAL_Polyhedron_3&lt;Traits,HDS&gt; P
</I>
</TD></TR><TR><TD WIDTH=25%></TD><TD WIDTH=25%></TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Inserts the polyhedron <I>P</I> into the stream <I>G</I>.
</TD></TR>
</TABLE><!3>
<P>
<H3> Colors</H3>
<P>
geomview distinguishes between edge and face colors. The edge color is
at the same time the color of vertices.
<P>
<!3><TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0 WIDTH=550>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A>&amp;
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G &lt;&lt; CGAL_Color c
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Makes <I>c</I> the color of vertices, edges and faces in subsequent
IO operations.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
CGAL_Color
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=2>
<I>
G.set_bg_color ( CGAL_Color c)
</I>
</TD></TR><TR><TD WIDTH=25%></TD><TD WIDTH=25%></TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Changes the background color. Returns the old value.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
CGAL_Color
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=2>
<I>
G.set_vertex_color ( CGAL_Color c)
</I>
</TD></TR><TR><TD WIDTH=25%></TD><TD WIDTH=25%></TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Changes the vertex color. Returns the old value.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
CGAL_Color
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=2>
<I>
G.set_edge_color ( CGAL_Color c)
</I>
</TD></TR><TR><TD WIDTH=25%></TD><TD WIDTH=25%></TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Changes the edge color. Returns the old value.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
CGAL_Color
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=2>
<I>
G.set_face_color ( CGAL_Color c)
</I>
</TD></TR><TR><TD WIDTH=25%></TD><TD WIDTH=25%></TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Changes the face color. Returns the old value.
</TD></TR>
</TABLE><!3>
<P>
<H3> Miscellaneous</H3>
<P>
<!3><TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0 WIDTH=550>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
void
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G.clear ()
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Deletes all objects.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
void
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G.look_recenter ()
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Positions the camera in a way that all objects can be seen.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
int
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G.get_line_width ()
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Returns the line width.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
int
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G.set_line_width ( int w)
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Sets the line width to <I>w</I>. Returns the previous value.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
double
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G.get_vertex_radius ()
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Returns the radius of vertices.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
double
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP COLSPAN=2>
<I>
G.set_vertex_radius ( double r)
</I>
</TD></TR><TR><TD WIDTH=25%></TD><TD WIDTH=25%></TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Sets the radius of vertices to <I>d</I>. Returns the previous
value.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
bool
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G.set_trace ( bool b)
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Sets tracing on. The data that are sent to <I>geomview</I> are also
sent to <I>cerr</I>. Returns the previous value. By default tracing
is off.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
bool
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G.get_trace ()
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Returns <I>true</I> iff tracing is on.
</TD></TR>
</TABLE><!3>
<P>
<BR><IMG BORDER=0 SRC="cc_advanced_begin.gif" ALT="begin of advanced section"><BR>
<H3> Advanced and Developers Features</H3>
<P>
The following functions are helpful if you develop your own insert and
extract functions. The following functions allow to pass a string from
geomview and to read data sent back by geomview.
<P>
<!3><TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0 WIDTH=550>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A>&amp;
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G &lt;&lt; const char* s
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Inserts string <I>s</I> into the stream.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A>&amp;
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G &gt;&gt; char* s
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Extracts a string <I>s</I> from the stream.
<BR><STRONG>Precondition: </STRONG>You have to allocate enough
memory.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A>&amp;
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G &lt;&lt; int i
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Inserts integer <I>i</I> into the stream. Puts whitespace around if
the stream is in ascii mode.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A>&amp;
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G &lt;&lt; double d
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Inserts double <I>d</I> into the stream. Puts whitespace around if
the stream is in ascii mode.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
bool
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G.in_ascii_mode ()
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Returns <I>true</I> iff <I>G</I> is in ascii mode.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
bool
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G.in_binary_mode ()
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Returns <I>true</I> iff <I>G</I> is in binary mode.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
void
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G.set_binary_mode ()
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
void
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G.set_ascii_mode ()
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
</TD></TR>
</TABLE><!3>
<P>
For convenience we offer the manipulators <I>ascii</I> and
<I>binary</I> that can be inserted in the stream.
<P>
<!3><TABLE BORDER=0 CELLSPACING=2 CELLPADDING=0 WIDTH=550>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A>&amp;
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G &lt;&lt; ascii
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Sets the stream in ascii mode.
</TD></TR>
<TR><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
<A HREF="CGAL_Geomview_stream.html#Cross_link_anchor_0">CGAL_Geomview_stream</A>&amp;
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=25% NOWRAP>
<I>
G &lt;&lt; binary
</I>
</TD><TD ALIGN=LEFT VALIGN=TOP WIDTH=50%>
Sets the stream in binary mode.
</TD></TR>
</TABLE><!3>
<P>
<BR><IMG BORDER=0 SRC="cc_advanced_end.gif" ALT="end of advanced section"><BR>
<P>
<PRE>
</PRE>
<P>
<H3>Implementation</H3>The constructor forks a process and establishes
two pipes between the processes. The forked process is then overlayed
with geomview. The file descriptors <I>stdin</I> and <I>stdout</I> of
geomview are hooked on the two pipes.
<P>
All insert operators construct expressions in <I>gcl</I>, the geomview
comand language, which is a subset of <TT>LISP</TT>. These expressions
are sent to geomview via the pipe. The extract operators notify
<I>interest</I> for a certain kind of events. When such an event
happens geomview sends a description of the event in gcl and the
extract operator has to parse this expression.
<P>
In order to implement further insert and extract operators you should
take a look at the implementation
[<A HREF="biblio.html#Biblio_GV_Impl">GV_Impl</A>] and at the geomview
manual [<A HREF="biblio.html#Biblio_GVManual">GVManual</A>].
<P>
<!-- Begin of cc_manual_footer -->
<!-- ------------------------- -->
<!-- $Revision$ -->
<!-- $Date$ -->
<!-- Navigation -->
<HR>
<STRONG>Navigation:</STRONG>
<A HREF="Chapter_main.html">Up</A>,
<A HREF="contents.html">Table of Contents</A>,
<A HREF="biblio.html">Bibliography</A>,
<A HREF="manual_index.html">Index</A>,
<A HREF="title.html">Title Page</A>
<HR>
<address>
The <A HREF=http://www.cs.ruu.nl/CGAL/><TT>CGAL</TT> Project</A>. 0.9. Wed, September 30, 1998.
</address>
</BODY>
</HTML>
<!-- End of cc_manual_footer -->

View File

@ -1,78 +0,0 @@
<!-- Begin of cc_manual_header -->
<!-- ------------------------- -->
<!-- $Revision$ -->
<!-- $Date$ -->
<!-- CC manual page automatically extracted from a TeX specification -->
<!-- in file Chapter_geomview.html -->
<!-- by cc_extract_html, $Revision$. -->
<!-- Title -->
<HEAD>
<TITLE>Geomview: </TITLE>
</HEAD>
<!-- Background layout-->
<BODY BGCOLOR="FAF8E8" TEXT="#000000">
<!-- Navigation -->
<STRONG>Navigation:</STRONG>
<A HREF="Chapter_geomview.html">Up</A>,
<A HREF="contents.html">Table of Contents</A>,
<A HREF="biblio.html">Bibliography</A>,
<A HREF="manual_index.html">Index</A>,
<A HREF="title.html">Title Page</A>
<HR>
<!-- End of cc_manual_header -->
<H1>Geomview</H1>
<A NAME="ChapterGeomview"></A><P>
<A NAME="Section_1"></A>
<H2>Introduction</H2>
<P>
This chapter presents the CGAL interface to geomview, which is a
viewer for three-dimensional objects, developed at the Geometry Center
in Minneapolis[<A HREF="#Footnote_1">^1</A>].<P>
\noindent <B>Important:</B> The last line in the startup file <I>.geomview</I>
must be <I>(echo &quot;started&quot;)</I>. The two commands <I>rsh</I> and <I>geomview</I>
must be in the user's path. Otherwise the program will not be able to execute.<P>
<UL><LI>
Class declaration of <A HREF="CGAL_Geomview_stream.html"><I>CGAL_Geomview_stream</I></A>.</UL>
<P>
<P>
<P><HR><H3>Footnotes</H3><P>
<OL>
<LI><A NAME="Footnote_1"><TT>http://www.geom.umn.edu/</TT>
</OL>
<!-- Begin of cc_manual_footer -->
<!-- ------------------------- -->
<!-- $Revision$ -->
<!-- $Date$ -->
<!-- Navigation -->
<HR>
<STRONG>Navigation:</STRONG>
<A HREF="Chapter_geomview.html">Up</A>,
<A HREF="contents.html">Table of Contents</A>,
<A HREF="biblio.html">Bibliography</A>,
<A HREF="manual_index.html">Index</A>,
<A HREF="title.html">Title Page</A>
<HR>
<address>
The <A HREF=http://www.cs.ruu.nl/CGAL/><TT>CGAL</TT> Project</A>. 0.9. Tue, September 29, 1998.
</address>
</BODY>
</HTML>
<!-- End of cc_manual_footer -->

View File

@ -1,76 +0,0 @@
<!-- Begin of cc_manual_header -->
<!-- ------------------------- -->
<!-- $Revision$ -->
<!-- $Date$ -->
<!-- CC manual page automatically extracted from a TeX specification -->
<!-- in file Chapter_main.html -->
<!-- by cc_extract_html, $Revision$. -->
<!-- Title -->
<HEAD>
<TITLE>Geomview: </TITLE>
</HEAD>
<!-- Background layout-->
<BODY BGCOLOR="FAF8E8" TEXT="#000000">
<!-- Navigation -->
<STRONG>Navigation:</STRONG>
<A HREF="Chapter_main.html">Up</A>,
<A HREF="contents.html">Table of Contents</A>,
<A HREF="biblio.html">Bibliography</A>,
<A HREF="manual_index.html">Index</A>,
<A HREF="title.html">Title Page</A>
<HR>
<!-- End of cc_manual_header -->
<H1>Geomview</H1>
<A NAME="ChapterGeomview"></A><P>
<A NAME="Section_1"></A>
<H2>Introduction</H2>
<P>
This chapter presents the CGAL interface to Geomview, which is a
viewer for three-dimensional objects, developed at the Geometry Center
in Minneapolis[<A HREF="#Footnote_1">^1</A>].<P>
\noindent <B>Important:</B> The last line in the startup file <I>.geomview</I>
must be <I>(echo &quot;started&quot;)</I>. The two commands <I>rsh</I> and <I>Geomview</I>
must be in the user's path, otherwise the program will not be able to execute.<P>
<UL><LI>
Class declaration of <A HREF="Geomview_stream.html"><I>Geomview_stream</I></A>.</UL>
<P>
<P><HR><H3>Footnotes</H3><P>
<OL>
<LI><A NAME="Footnote_1"><TT>http://www.geom.umn.edu/</TT>
</OL>
<!-- Begin of cc_manual_footer -->
<!-- ------------------------- -->
<!-- $Revision$ -->
<!-- $Date$ -->
<!-- Navigation -->
<HR>
<STRONG>Navigation:</STRONG>
<A HREF="Chapter_main.html">Up</A>,
<A HREF="contents.html">Table of Contents</A>,
<A HREF="biblio.html">Bibliography</A>,
<A HREF="manual_index.html">Index</A>,
<A HREF="title.html">Title Page</A>
<HR>
<address>
The <A HREF=http://www.cs.ruu.nl/CGAL/><TT>CGAL</TT> Project</A>. 0.9. Tue, May 18, 1999.
</address>
</BODY>
</HTML>
<!-- End of cc_manual_footer -->

View File

@ -1,65 +0,0 @@
<!-- Begin of cc_biblio_header -->
<!-- ------------------------- -->
<!-- $Revision$ -->
<!-- $Date$ -->
<!-- CC manual index automatically extracted from a -->
<!-- TeX specification by cc_extract_html, $Revision$. -->
<!-- Title -->
<HEAD>
<TITLE>Geomview: Bibliography</TITLE>
</HEAD>
<!-- Background layout-->
<BODY BGCOLOR="FAF8E8" TEXT="#000000">
<!-- Navigation -->
<STRONG>Navigation:</STRONG>
<A HREF="Chapter_main.html">Up</A>,
<A HREF="contents.html">Table of Contents</A>,
<A HREF="biblio.html">Bibliography</A>,
<A HREF="manual_index.html">Index</A>,
<A HREF="title.html">Title Page</A>
<HR>
<!-- The Page Header -->
<H1>Geomview<BR> Bibliography</H1>
<HR>
<!-- Begin of the table of bibliography entries -->
<TABLE>
<!-- End of cc_biblio_header -->
<TR><TD ALIGN=LEFT VALIGN=TOP NOWRAP><A NAME="Biblio_GVManual"></A><B>[GVManual]</B></TD><TD ALIGN=LEFT VALIGN=TOP>
Mark Phillips et al. <EM>Geomview Manual</EM>. Version 1.6.1 for Unix
Workstations. December 10, 1996.
<P>
<TR><TD ALIGN=LEFT VALIGN=TOP NOWRAP><A NAME="Biblio_GV_Impl"></A><B>[GV_Impl]</B></TD><TD ALIGN=LEFT VALIGN=TOP>
Andreas Fabri. How to Implement Geomview Stream IO Operators. July
1997. <I>http://www.cs.ru.nl/CGAL/</I></TD></TR>
<!-- Begin of cc_biblio_footer -->
<!-- ------------------------- -->
<!-- $Revision$ -->
<!-- $Date$ -->
<!-- End of the table of biliography entries -->
</TABLE>
<!-- Navigation -->
<HR>
<STRONG>Navigation:</STRONG>
<A HREF="contents.html">Table of Contents</A>,
<A HREF="biblio.html">Bibliography</A>,
<A HREF="manual_index.html">Index</A>,
<A HREF="title.html">Title Page</A>
<HR>
<address>
The <A HREF=http://www.cs.ruu.nl/CGAL/><TT>CGAL</TT> Project</A>. 0.9. Wed, September 30, 1998.
</address>
</BODY>
</HTML>
<!-- End of cc_biblio_footer -->

View File

@ -1,34 +0,0 @@
<!-- Begin of cc_toc_header -->
<!-- ---------------------- -->
<!-- $Revision$ -->
<!-- $Date$ -->
<!-- CC manual table-of-contents automatically extracted from a -->
<!-- TeX specification by cc_extract_html, $Revision$. -->
<!-- Title -->
<HEAD>
<TITLE>Geomview: Table of Contents</TITLE>
</HEAD>
<!-- Background layout-->
<BODY BGCOLOR="FAF8E8" TEXT="#000000">
<!-- Navigation -->
<STRONG>Navigation:</STRONG>
<A HREF="contents.html">Table of Contents</A>,
<A HREF="biblio.html">Bibliography</A>,
<A HREF="manual_index.html">Index</A>,
<A HREF="title.html">Title Page</A>
<HR>
<!-- The Page Header -->
<H1>Geomview<BR> Table of Contents</H1>
<HR>
<!-- Begin of the ordered list of contents entries -->
<OL>
<LI> <A HREF="title.html">Title Page</A>
<LI> <A HREF="contents.html">Table of Contents</A>
<!-- End of cc_toc_header -->

View File

@ -1,64 +0,0 @@
<!-- Begin of cc_index_header -->
<!-- ------------------------ -->
<!-- $Revision$ -->
<!-- $Date$ -->
<!-- CC manual index automatically extracted from a -->
<!-- TeX specification by cc_extract_html, $Revision$. -->
<!-- Title -->
<HEAD>
<TITLE>Geomview: Index</TITLE>
</HEAD>
<!-- Background layout-->
<BODY BGCOLOR="FAF8E8" TEXT="#000000">
<!-- Navigation -->
<STRONG>Navigation:</STRONG>
<A HREF="contents.html">Table of Contents</A>,
<A HREF="biblio.html">Bibliography</A>,
<A HREF="manual_index.html">Index</A>,
<A HREF="title.html">Title Page</A>
<HR>
<!-- The Page Header -->
<H1>Geomview<BR> Index</H1>
<HR>
<!-- Begin of the unordered list of index entries -->
<UL>
<!-- End of cc_index_header -->
<P><LI><B>Classes</B><P>
<P><LI><B>Nested Types</B><P>
<P><LI><B>Structs</B><P>
<P><LI><B>Enums</B><P>
<P><LI><B>Enum Tags</B><P>
<P><LI><B>Typedefs</B><P>
<P><LI><B>Global Variables and Consts</B><P>
<P><LI><B>Functions</B><P>
<!-- Begin of cc_index_footer -->
<!-- ------------------------ -->
<!-- $Revision$ -->
<!-- $Date$ -->
<!-- End of the unordered list of index entries -->
</UL>
<!-- Navigation -->
<HR>
<STRONG>Navigation:</STRONG>
<A HREF="contents.html">Table of Contents</A>,
<A HREF="biblio.html">Bibliography</A>,
<A HREF="manual_index.html">Index</A>,
<A HREF="title.html">Title Page</A>
<HR>
<address>
The <A HREF=http://www.cs.ruu.nl/CGAL/><TT>CGAL</TT> Project</A>. 2.2. Tue, May 18, 1999.
</address>
</BODY>
</HTML>
<!-- End of cc_index_footer -->

View File

@ -0,0 +1,334 @@
\newcommand{\Section}[1]{Section~{\protect\ref{#1}}}
\newcommand{\Chapter}[1]{Chapter~{\protect\ref{#1}}}
\newcommand{\new}[1]{\marginpar{\sf #1}}
\newcommand{\what}{\mbox{?\hspace*{2cm}?}}
\parindent0em
\setlength{\parskip}{1ex minus 0.9ex}
\sloppy
\newcommand{\note}[1]{{\bf NOTE: #1}}
\chapter{Geomview} \label{ChapterGeomview}
\section{Introduction}
This chapter presents the \cgal\ interface to Geomview, which is a
viewer for three-dimensional objects, developed at the Geometry Center
in Minneapolis\footnote{\tt http://www.geom.umn.edu/}.
\noindent {\bf Important:} The last line in the startup file \ccc{.geomview}
must be \ccc{(echo "started")}. The two commands \ccc{rsh} and \ccc{Geomview}
must be in the user's path, otherwise the program will not be able to execute.
\begin{ccClass}{Geomview_stream}
\ccDefinition
An object of the class \ccClassName\ is a stream in which geometric
objects can be inserted and where geometric objects can be extracted
from. The constructor starts Geomview either on the local either on
a remote machine.
\ccInclude{CGAL/IO/Geomview_stream.h}
\ccSetThreeColumns{Geomview_stream& }{}{\hspace*{10cm}}
\ccThreeToTwo
\ccCreation
\ccCreationVariable{G}
\ccConstructor{Geomview_stream(const Bbox_3 &bbox
= Bbox_3(0,0,0, 1,1,1),
const char *machine = NULL,
const char *login = NULL);}
{Introduces a Geomview stream \ccVar\ with a camera that sees the
bounding box. If machine and login are non-null, Geomview is started
on the remote machine.}
\ccOperations
\ccHeading{Output Operators for CGAL Kernel Classes}
\def\ccTagRmEigenClassName{\ccFalse}
%\def\ccTagOperatorLayout{\ccFalse}
At the moment not all classes of the \cgal\ kernel have output
operators. 2D objects are embedded in the \ccc{xy}-plane.
\ccFunction{template <class R>
Geomview_stream&
operator<<(Geomview_stream& G,
const Point_2<R>& p);}
{Inserts the point \ccc{p} into the stream \ccVar.}
\ccFunction{template <class R>
Geomview_stream&
operator<<(Geomview_stream& G,
const Point_3<R>& p);}
{Inserts the point \ccc{p} into the stream \ccVar.}
\ccFunction{template <class R>
Geomview_stream&
operator<<(Geomview_stream& G,
const Segment_2<R>& s);}
{Inserts the segment \ccc{s} into the stream \ccVar.}
\ccFunction{template <class R>
Geomview_stream&
operator<<(Geomview_stream& G,
const Segment_3<R>& s);}
{Inserts the segment \ccc{s} into the stream \ccVar.}
\ccFunction{template <class R>
Geomview_stream&
operator<<(Geomview_stream& G,
const Triangle_2<R>& t);}
{Inserts the triangle \ccc{t} into the stream \ccVar.}
\ccFunction{template <class R>
Geomview_stream&
operator<<(Geomview_stream& G,
const Triangle_3<R>& t);}
{Inserts the triangle \ccc{t} into the stream \ccVar.}
\ccFunction{template <class R>
Geomview_stream&
operator<<(Geomview_stream& G,
const Tetrahedron_3<R>& t);}
{Inserts the tetrahedron \ccc{t} into the stream \ccVar.}
\ccFunction{Geomview_stream&
operator<<(Geomview_stream& G,
const Bbox_2& b);}
{Inserts the bounding box \ccc{b} into the stream \ccVar.}
\ccFunction{Geomview_stream&
operator<<(Geomview_stream& G,
const Bbox_3& b);}
{Inserts the bounding box \ccc{b} into the stream \ccVar.}
\ccHeading{Input Operators for CGAL Kernel Classes}
At the moment input is only provided for points. The user has to select
a point on the {\it pick plane} with the right mouse button. The pick plane
can be moved anywhere with the left mouse button, before a point is entered.
\ccFunction{template <class R>
Geomview_stream&
operator>>(Geomview_stream& G,
Point_3<R>& p);}
{Extracts the point \ccc{p} from the stream \ccVar. The point is
echoed.}
\ccHeading{Output Operators for CGAL Basic Library Classes}
\ccFunction{template <class Traits, class HDS>
Geomview_stream&
operator<<(Geomview_stream &G,
const Polyhedron_3<Traits,HDS> &P);}
{Inserts the polyhedron \ccc{P} into the stream \ccVar.}
%% There is no tetrahedralization class at the moment
%%
%% \ccFunction{template <class Traits>
%% Geomview_stream&
%% operator<<(Geomview_stream& G,
%% const Tetrahedralization_3<Traits>& T);}
%% {Inserts the tetrahedralization \ccc{T} into the stream \ccVar.}
%%
%% For geometric structures as a tetrahedalization only one Geomview
%% object is created. If you want to select a single simplex you have
%% to insert the simplices individually with the following operator.
%%
%% \ccFunction{template <class V>
%% Geomview_stream&
%% operator<<(Geomview_stream& G,
%% const Tetrahedralization_simplex<V>* s);}
%% {Inserts the tetrahedralization simplex \ccc{s} into the stream \ccVar.}
%%
%%
%% \ccFunction{template < class V >
%% Geomview_stream&
%% operator>>(Geomview_stream &G,
%% Tetrahedralization_simplex<V>*& s);}
%% {Assigns the pointer to the tetrahedralization simplex the user selected
%% with the right mouse button to variable \ccc{s}.
%% \ccPrecond It is in the responsibility of the user to guarantee that the
%% pointer still points to memory allocated for a simplex.}
%%
%%
%% \ccFunction{template <class P>
%% Geomview_stream&
%% operator<<(Geomview_stream& G,
%% const Tetrahedralization_vertex<P>* v);}
%% {Inserts the tetrahedralization vertex \ccc{v} into the stream \ccVar.
%% Vertices are drawn as a cube with twice \ccc{G.get_vertex_radius}
%% as side length. This value is 1/100'th of the \ccc{x}-length of the
%% initial bounding box.}
%%
%%
%% \ccFunction{template < class P>
%% Geomview_stream&
%% operator>>(Geomview_stream &G,
%% Tetrahedralization_vertex<V>*& v);}
%% {Assigns the pointer to the tetrahedralization vertex the user selected
%% with the right mouse button to variable \ccc{v}.
%% \ccPrecond It is in the responsibility of the user to guarantee that the
%% pointer still points to memory allocated for a vertex.}
%%
%% end of commented section
\ccHeading{Colors}
Geomview distinguishes between edge and face colors. The edge color
is at the same time the color of vertices.
\ccMethod{Geomview_stream&
operator<<(const Color& c);}
{Makes \ccc{c} the color of vertices, edges and faces in subsequent IO
operations.}
\ccMethod{Color
set_bg_color(const Color& c);}
{Changes the background color. Returns the old value.}
\ccMethod{Color
set_vertex_color(const Color& c);}
{Changes the vertex color. Returns the old value.}
\ccMethod{Color
set_edge_color(const Color& c);}
{Changes the edge color. Returns the old value.}
\ccMethod{Color
set_face_color(const Color& c);}
{Changes the face color. Returns the old value.}
\ccHeading{Miscellaneous}
\ccMethod{void
clear();}
{Deletes all objects.}
\ccMethod{void
look_recenter();}
{Positions the camera in a way that all objects can be seen.}
\ccMethod{int
get_line_width() const;}
{Returns the line width.}
\ccMethod{int
set_line_width(int w);}
{Sets the line width to \ccc{w}. Returns the previous value.}
\ccMethod{double
get_vertex_radius() const;}
{Returns the radius of vertices.}
\ccMethod{double
set_vertex_radius(double r) const;}
{Sets the radius of vertices to \ccc{d}. Returns the previous value.}
\ccMethod{bool
get_trace();}
{Returns \ccc{true} iff tracing is on.}
\ccMethod{bool
set_trace(bool b);}
{Sets tracing on. The data that are sent to \ccc{Geomview} are also
sent to \ccc{cerr}. Returns the previous value. By default tracing is
off.}
\begin{ccAdvanced}
\ccHeading{Advanced and Developers Features}
The following functions are helpful if you develop your own insert
and extract functions. The following functions allow to pass a string
from Geomview and to read data sent back by Geomview.
\ccMethod{Geomview_stream&
operator<<(const char* s);}
{Inserts string \ccc{s} into the stream.}
\ccMethod{Geomview_stream&
operator>>(char* s);}
{Extracts a string \ccc{s} from the stream.
\ccPrecond You have to allocate enough memory.}
\ccMethod{Geomview_stream&
operator<<(int i);}
{Inserts integer \ccc{i} into the stream. Puts whitespace around if the
stream is in ascii mode.}
\ccMethod{Geomview_stream&
operator<<(double d);}
{Inserts double \ccc{d} into the stream. Puts whitespace around if the
stream is in ascii mode.}
\ccMethod{bool in_binary_mode();}
{Returns \ccc{true} iff \ccVar\ is in binary mode.}
\ccMethod{bool in_ascii_mode();}
{Returns \ccc{true} iff \ccVar\ is in binary mode.}
\ccMethod{void set_binary_mode();}{}
\ccMethod{void set_ascii_mode();}{}
For convenience we offer the manipulators \ccc{ascii} and \ccc{binary}
that can be inserted in the stream.
\ccMethod{Geomview_stream&
operator<<(ascii);}
{Sets the stream in ascii mode.}
\ccMethod{Geomview_stream&
operator<<(binary);}
{Sets the stream in binary mode.}
\end{ccAdvanced}
%\ccExample
%\begin{cprog}
%\end{cprog}
\ccImplementation
The constructor forks a process and establishes two pipes between the
processes. The forked process is then overlaid with Geomview. The
file descriptors \ccc{stdin} and \ccc{stdout} of Geomview are hooked
on the two pipes.
All insert operators construct expressions in \ccc{gcl}, the Geomview
comand language, which is a subset of {\sc Lisp}. These expressions
are sent to Geomview via the pipe. The extract operators notify \ccc{interest}
for a certain kind of events. When such an event happens Geomview
sends a description of the event in \ccc{gcl} and the extract operator has
to parse this expression.
In order to implement further insert and extract operators you should
take a look at the implementation \cite{f-higso-97} and at the Geomview
manual \cite{p-gmgv16-96}.
\end{ccClass}

View File

@ -0,0 +1,47 @@
% +------------------------------------------------------------------------+
% | CGAL Reference Manual: wrapper.tex
% +------------------------------------------------------------------------+
% | Main TeX file for testing CGAL packages.
% +------------------------------------------------------------------------+
\documentclass{book}
\usepackage{cprog}
\usepackage{cc_manual}
\usepackage{amssymb}
\usepackage{graphicx}
\usepackage{path}
\usepackage{ipe}
% page dimensions
% ---------------
% The page dimensions are compulsory and may not be changed in main.tex.
\textwidth 15.6cm
\textheight 23 cm
\topmargin -14mm
\evensidemargin 3mm
\oddsidemargin 3mm
% default column layout
% ---------------------
% This is the recommended layout. It may be changed inside main.tex.
\newcommand{\cgalColumnLayout}{\ccTexHtml{%
\ccSetThreeColumns{CGAL_Oriented_side}{}{\hspace*{8.5cm}}
\ccPropagateThreeToTwoColumns}{}}
\sloppy
\begin{document}
\cgalColumnLayout
\include{main}
\bibliographystyle{alpha}
\bibliography{geom,cgal}
\end{document}
%% EOF %%