Sophie

Sophie

distrib > Fedora > 14 > i386 > by-pkgid > dd7a95aabe1c049ac9f84beede8143d3 > files > 2180

synopsis-doc-0.12-4.fc14.i686.rpm

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
<!-- Scopes/Paths/Nurbs.html -->
<!-- this view was generated by Scope -->
<head>
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"/>
<title >Synopsis - Paths::Nurbs</title>
<link href="../../style.css" type="text/css" rel="stylesheet" />
</head>
<body class="Scope">
<div class="navigation">
<span class="normal"><a href="../global.html" >Global Namespace</a></span>
<span class="normal"><a href="../../InheritanceTree.html" >Inheritance Tree</a></span>
<span class="normal"><a href="../../InheritanceGraph.html" >Inheritance Graph</a></span>
<span class="normal"><a href="../../NameIndex.html" >Name Index</a></span>
</div>
<!-- this part was generated by Heading -->
<div class="class-module">namespace <a href="../Paths.html" >Paths</a>
</div><div class="class-template">template &lt;size_t <span class="variable">Order</span>&gt;</div><div class="class-name">class Nurbs

</div><div class="links"><div class="file">File: <a href="../../File/Nurbs.h.html" target="detail">Nurbs.h</a></div> <div class="xref"><a href="../../XRef/xref0.html#Paths_mNurbs" ><img src="../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../Source/Nurbs.h.html#line58" ><img src="../../src-c++.png" alt="source code"/></a></div></div>  <img alt="Nurbs-inheritance" src="Nurbs-inheritance.png" hspace="8" vspace="8" border="0" usemap="#Nurbs-inheritance_map" />
<map name="Nurbs-inheritance_map"><area alt="Scopes/Path.html" href="../Path.html" shape="rect" coords="29, 7, 75, 31" />
</map>
 <div class="doc"><p>The Nurbs class. It implements a nurbs curve
for the given order. It is a very powerful
and flexible curve representation. For simpler
cases you may prefer to use a <a class="reference" href="Bezier.html">Bezier</a> curve.</p>
<p>While non-rational curves are not sufficient to represent a circle,
this is one of many sets of NURBS control points for an almost uniformly
parameterized circle:</p>
<table border="1" class="docutils">
<colgroup>
<col width="11%" />
<col width="21%" />
<col width="68%" />
</colgroup>
<thead valign="bottom">
<tr><th class="head">x</th>
<th class="head">y</th>
<th class="head">weight</th>
</tr>
</thead>
<tbody valign="top">
<tr><td>1</td>
<td>0</td>
<td>1</td>
</tr>
<tr><td>1</td>
<td>1</td>
<td><em>sqrt(2)/2</em></td>
</tr>
<tr><td>0</td>
<td>1</td>
<td>1</td>
</tr>
<tr><td>-1</td>
<td>1</td>
<td><em>sqrt(2)/2</em></td>
</tr>
<tr><td>-1</td>
<td>0</td>
<td>1</td>
</tr>
<tr><td>-1</td>
<td>-1</td>
<td><em>sqrt(2)/2</em></td>
</tr>
<tr><td>0</td>
<td>-1</td>
<td>1</td>
</tr>
<tr><td>1</td>
<td>-1</td>
<td><em>sqrt(2)/2</em></td>
</tr>
<tr><td>1</td>
<td>0</td>
<td>1</td>
</tr>
</tbody>
</table>
<p>The order is three, the knot vector is {0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 4}.
It should be noted that the circle is composed of four quarter circles,
tied together with double knots. Although double knots in a third order NURBS
curve would normally result in loss of continuity in the first derivative,
the control points are positioned in such a way that the first derivative is continuous.
(From <a class="reference" href="http://en.wikipedia.org/wiki/NURBS">Wikipedia</a> )</p>
<p>Example:</p>
<pre class="literal-block">
Nurbs&lt;3&gt; circle;
circle.insert_control_point(0, Vertex(1., 0.), 1.);
circle.insert_control_point(0, Vertex(1., 1.), sqrt(2.)/2.);
...
</pre>
</div>
<!-- this part was generated by Summary -->
<div class="summary">
<div class="heading">Public Member functions Summary:</div>
<div class="item"><div class="synopsis">&#160;<i>constructor</i> <span class="name"><a href="Nurbs.html#Nurbs_l_r" >Nurbs</a></span>()  </div> <div class="xref"><a href="../../XRef/xref0.html#Paths_mNurbs_mNurbs_l_r" ><img src="../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../Source/Nurbs.h.html#line62" ><img src="../../src-c++.png" alt="source code"/></a></div> <div class="doc"><p>Create a new Nurbs curve.</p>
</div></div>
<div class="item"><div class="synopsis">&#160;void <span class="name"><a href="Nurbs.html#insert_control_point_ldouble_cconst.Vertex_A_cdouble_r" >insert_control_point</a></span>(double <span class="variable">knot</span>, const&#160;<a href="../Vertex.html" >Vertex</a>&amp; <span class="variable">vertex</span>, double <span class="variable">weight</span>)  </div> <div class="xref"><a href="../../XRef/xref0.html#Paths_mNurbs_minsert_control_point_ldouble_cconst.Vertex_A_cdouble_r" ><img src="../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../Source/Nurbs.h.html#line71" ><img src="../../src-c++.png" alt="source code"/></a></div> <div class="doc"><p>Inserts a control point with the given weight.</p>
</div></div>
<div class="item"><div class="synopsis"><span class="keyword">virtual</span>&#160;void <a class="name" id="draw_l_r">draw</a>()  </div> <div class="xref"><a href="../../XRef/xref0.html#Paths_mNurbs_mdraw_l_r" ><img src="../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../Source/Nurbs.h.html#line72" ><img src="../../src-c++.png" alt="source code"/></a></div> <div class="doc"></div></div>
</div><!-- summary -->
<div class="summary">
<div class="heading">Private Data members Summary:</div>
<div class="item"><div class="synopsis">std::vector&lt;<a href="../Vertex.html" >Vertex</a>&gt; <span class="name"><a href="Nurbs.html#controls_" >controls_</a></span></div> <div class="xref"><a href="../../XRef/xref0.html#Paths_mNurbs_mcontrols_" ><img src="../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../Source/Nurbs.h.html#line75" ><img src="../../src-c++.png" alt="source code"/></a></div> <div class="doc"><p>The data...</p>
</div></div>
<div class="item"><div class="synopsis">std::vector&lt;double&gt; <a class="name" id="weights_">weights_</a></div> <div class="xref"><a href="../../XRef/xref0.html#Paths_mNurbs_mweights_" ><img src="../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../Source/Nurbs.h.html#line76" ><img src="../../src-c++.png" alt="source code"/></a></div> <div class="doc"></div></div>
<div class="item"><div class="synopsis">std::vector&lt;double&gt; <a class="name" id="knots_">knots_</a></div> <div class="xref"><a href="../../XRef/xref0.html#Paths_mNurbs_mknots_" ><img src="../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../Source/Nurbs.h.html#line77" ><img src="../../src-c++.png" alt="source code"/></a></div> <div class="doc"></div></div>
</div><!-- summary -->
<!-- this part was generated by Inheritance -->
<!-- this part was generated by Detail -->
<div class="detail">
<div class="heading">Public Member functions Details:</div>
<div class="item"><div class="synopsis">&#160;<i>constructor</i> <a class="name" id="Nurbs_l_r">Nurbs</a>()  </div> <div class="xref"><a href="../../XRef/xref0.html#Paths_mNurbs_mNurbs_l_r" ><img src="../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../Source/Nurbs.h.html#line62" ><img src="../../src-c++.png" alt="source code"/></a></div> <div class="doc"><p>Create a new Nurbs curve.</p>
</div></div>
<div class="item"><div class="synopsis">&#160;void <a class="name" id="insert_control_point_ldouble_cconst.Vertex_A_cdouble_r">insert_control_point</a>(double <span class="variable">knot</span>, const&#160;<a href="../Vertex.html" >Vertex</a>&amp; <span class="variable">vertex</span>, double <span class="variable">weight</span>)  </div> <div class="xref"><a href="../../XRef/xref0.html#Paths_mNurbs_minsert_control_point_ldouble_cconst.Vertex_A_cdouble_r" ><img src="../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../Source/Nurbs.h.html#line71" ><img src="../../src-c++.png" alt="source code"/></a></div> <div class="doc"><p>Inserts a control point with the given weight.
The knot value determines the position in the sequence.</p>
<dl class="docutils">
<dt>Parameters:</dt>
<dd><table class="first last docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field"><th class="field-name">knot:</th><td class="field-body">the parameter value at which to insert a new knot</td>
</tr>
<tr class="field"><th class="field-name">vertex:</th><td class="field-body">the control point</td>
</tr>
<tr class="field"><th class="field-name">weight:</th><td class="field-body">the weight of the control point</td>
</tr>
</tbody>
</table>
</dd>
</dl>
</div></div>
</div><!-- detail -->
<div class="detail">
<div class="heading">Private Data members Details:</div>
<div class="item"><div class="synopsis">std::vector&lt;<a href="../Vertex.html" >Vertex</a>&gt; <a class="name" id="controls_">controls_</a></div> <div class="xref"><a href="../../XRef/xref0.html#Paths_mNurbs_mcontrols_" ><img src="../../xref.png" alt="references"/></a></div> <div class="source"><a href="../../Source/Nurbs.h.html#line75" ><img src="../../src-c++.png" alt="source code"/></a></div> <div class="doc"><p>The data...</p>
</div></div>
</div><!-- detail -->

<div class="logo">Generated on Fri Apr 17 08:48:13 2009 by 
<br/>
<a href="http://synopsis.fresco.org" target="_blank"><img src="../../synopsis.png" alt="logo"/> synopsis</a> (version devel)</div>
</body>
</html>