<sxr filename="Path.h"> <line>#ifndef Path_h_</line> <line>#define Path_h_</line> <line></line> <line><span class="comment">//. A Vertex is a 2D point.</span></line> <line><span class="keyword">struct</span> <a href="Vertex" title="struct Vertex" from="Vertex" type="definition">Vertex</a></line> <line>{</line> <line> <a href="Vertex::Vertex(double,double)" title="member function Vertex::Vertex(double,double)" from="Vertex" type="definition">Vertex</a>(<span class="keyword">double</span> xx, <span class="keyword">double</span> yy): x(xx), y(yy) {}</line> <line> <span class="keyword">double</span> <a href="Vertex::x" title="data member Vertex::x" from="Vertex" type="definition">x</a>; <span class="comment">//.< the x coordinate</span></line> <line> <span class="keyword">double</span> <a href="Vertex::y" title="data member Vertex::y" from="Vertex" type="definition">y</a>; <span class="comment">//.< the y coordinate</span></line> <line>};</line> <line></line> <line><span class="comment">//. Path is the basic abstraction</span></line> <line><span class="comment">//. used for drawing (curved) paths.</span></line> <line><span class="keyword">class</span> <a href="Path" title="class Path" from="Path" type="definition">Path</a></line> <line>{</line> <line><span class="keyword">public</span>:</line> <line> virtual <a href="Path::~Path()" title="member function Path::~Path()" from="Path" type="definition">~Path</a>() {}</line> <line> <span class="comment">//. Draw this path.</span></line> <line> virtual <span class="keyword">void</span> <a href="Path::draw()" title="member function Path::draw()" from="Path" type="definition">draw</a>() = 0;</line> <line> <span class="comment">// temporarily commented out...</span></line> <line><span class="comment"> // bool intersects(const Path &);</span></line> <line><span class="keyword">private</span>:</line> <line>};</line> <line></line> <line>#endif</line> </sxr>