Click here to Skip to main content
15,892,005 members
Articles / Web Development / HTML

Polyline Simplification

Rate me:
Please Sign up or sign in to vote.
4.93/5 (97 votes)
25 Jun 2011MPL28 min read 260.3K   12.4K   185  
A generic C++ implementation for n-dimensional Douglas-Peucker approximation
<!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">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>psimpl: psimpl::PolylineSimplification&lt; DIM, InputIterator, OutputIterator &gt;::DPHelper::SubPolyAlt Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Generated by Doxygen 1.7.4 -->
<div id="top">
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">psimpl&#160;<span id="projectnumber">7</span></div>
  </td>
 </tr>
 </tbody>
</table>
</div>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="dirs.html"><span>Directories</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('structpsimpl_1_1_polyline_simplification_1_1_d_p_helper_1_1_sub_poly_alt.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a>  </div>
  <div class="headertitle">
<div class="title">psimpl::PolylineSimplification&lt; DIM, InputIterator, OutputIterator &gt;::DPHelper::SubPolyAlt Struct Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="psimpl::PolylineSimplification::DPHelper::SubPolyAlt" -->
<p>Defines a sub polyline including its key.  
 <a href="structpsimpl_1_1_polyline_simplification_1_1_d_p_helper_1_1_sub_poly_alt.html#details">More...</a></p>

<p><a href="structpsimpl_1_1_polyline_simplification_1_1_d_p_helper_1_1_sub_poly_alt-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpsimpl_1_1_polyline_simplification_1_1_d_p_helper_1_1_sub_poly_alt.html#a173dc5811db508a92806559d2e7d1a14">SubPolyAlt</a> (<a class="el" href="classpsimpl_1_1_polyline_simplification.html#a08f998ecc4af984c070603b489b3ce28">ptr_diff_type</a> <a class="el" href="structpsimpl_1_1_polyline_simplification_1_1_d_p_helper_1_1_sub_poly_alt.html#a92345917355c59fbc19704c01a4bfa2d">first</a>=0, <a class="el" href="classpsimpl_1_1_polyline_simplification.html#a08f998ecc4af984c070603b489b3ce28">ptr_diff_type</a> <a class="el" href="structpsimpl_1_1_polyline_simplification_1_1_d_p_helper_1_1_sub_poly_alt.html#a4b6e337ce1250efd9599b7df99922fcf">last</a>=0)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpsimpl_1_1_polyline_simplification_1_1_d_p_helper_1_1_sub_poly_alt.html#a737d39204cbf1d26e4d7dccf267f2bc9">operator&lt;</a> (const <a class="el" href="structpsimpl_1_1_polyline_simplification_1_1_d_p_helper_1_1_sub_poly_alt.html">SubPolyAlt</a> &amp;other) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">key of this sub poly  <a href="#a737d39204cbf1d26e4d7dccf267f2bc9"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpsimpl_1_1_polyline_simplification.html#a08f998ecc4af984c070603b489b3ce28">ptr_diff_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpsimpl_1_1_polyline_simplification_1_1_d_p_helper_1_1_sub_poly_alt.html#a92345917355c59fbc19704c01a4bfa2d">first</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classpsimpl_1_1_polyline_simplification.html#a08f998ecc4af984c070603b489b3ce28">ptr_diff_type</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpsimpl_1_1_polyline_simplification_1_1_d_p_helper_1_1_sub_poly_alt.html#a4b6e337ce1250efd9599b7df99922fcf">last</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">coord index of the first point  <a href="#a4b6e337ce1250efd9599b7df99922fcf"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structpsimpl_1_1_polyline_simplification_1_1_d_p_helper_1_1_key_info.html">KeyInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structpsimpl_1_1_polyline_simplification_1_1_d_p_helper_1_1_sub_poly_alt.html#afa58fb132744d1a2ba4c7ab4ddbc00fb">keyInfo</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">coord index of the last point  <a href="#afa58fb132744d1a2ba4c7ab4ddbc00fb"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><h3>template&lt;unsigned DIM, class InputIterator, class OutputIterator&gt;<br/>
struct psimpl::PolylineSimplification&lt; DIM, InputIterator, OutputIterator &gt;::DPHelper::SubPolyAlt</h3>

<p>Defines a sub polyline including its key. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a173dc5811db508a92806559d2e7d1a14"></a><!-- doxytag: member="psimpl::PolylineSimplification::DPHelper::SubPolyAlt::SubPolyAlt" ref="a173dc5811db508a92806559d2e7d1a14" args="(ptr_diff_type first=0, ptr_diff_type last=0)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned DIM, class InputIterator, class OutputIterator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpsimpl_1_1_polyline_simplification.html">psimpl::PolylineSimplification</a>&lt; DIM, InputIterator, OutputIterator &gt;::DPHelper::SubPolyAlt::SubPolyAlt </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classpsimpl_1_1_polyline_simplification.html#a08f998ecc4af984c070603b489b3ce28">ptr_diff_type</a>&#160;</td>
          <td class="paramname"><em>first</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classpsimpl_1_1_polyline_simplification.html#a08f998ecc4af984c070603b489b3ce28">ptr_diff_type</a>&#160;</td>
          <td class="paramname"><em>last</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a737d39204cbf1d26e4d7dccf267f2bc9"></a><!-- doxytag: member="psimpl::PolylineSimplification::DPHelper::SubPolyAlt::operator&lt;" ref="a737d39204cbf1d26e4d7dccf267f2bc9" args="(const SubPolyAlt &amp;other) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned DIM, class InputIterator, class OutputIterator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classpsimpl_1_1_polyline_simplification.html">psimpl::PolylineSimplification</a>&lt; DIM, InputIterator, OutputIterator &gt;::DPHelper::SubPolyAlt::operator&lt; </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structpsimpl_1_1_polyline_simplification_1_1_d_p_helper_1_1_sub_poly_alt.html">SubPolyAlt</a> &amp;&#160;</td>
          <td class="paramname"><em>other</em></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>key of this sub poly </p>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a92345917355c59fbc19704c01a4bfa2d"></a><!-- doxytag: member="psimpl::PolylineSimplification::DPHelper::SubPolyAlt::first" ref="a92345917355c59fbc19704c01a4bfa2d" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned DIM, class InputIterator, class OutputIterator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpsimpl_1_1_polyline_simplification.html#a08f998ecc4af984c070603b489b3ce28">ptr_diff_type</a> <a class="el" href="classpsimpl_1_1_polyline_simplification.html">psimpl::PolylineSimplification</a>&lt; DIM, InputIterator, OutputIterator &gt;::<a class="el" href="structpsimpl_1_1_polyline_simplification_1_1_d_p_helper_1_1_sub_poly_alt.html#a92345917355c59fbc19704c01a4bfa2d">DPHelper::SubPolyAlt::first</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="afa58fb132744d1a2ba4c7ab4ddbc00fb"></a><!-- doxytag: member="psimpl::PolylineSimplification::DPHelper::SubPolyAlt::keyInfo" ref="afa58fb132744d1a2ba4c7ab4ddbc00fb" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned DIM, class InputIterator, class OutputIterator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structpsimpl_1_1_polyline_simplification_1_1_d_p_helper_1_1_key_info.html">KeyInfo</a> <a class="el" href="classpsimpl_1_1_polyline_simplification.html">psimpl::PolylineSimplification</a>&lt; DIM, InputIterator, OutputIterator &gt;::<a class="el" href="structpsimpl_1_1_polyline_simplification_1_1_d_p_helper_1_1_sub_poly_alt.html#afa58fb132744d1a2ba4c7ab4ddbc00fb">DPHelper::SubPolyAlt::keyInfo</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>coord index of the last point </p>

</div>
</div>
<a class="anchor" id="a4b6e337ce1250efd9599b7df99922fcf"></a><!-- doxytag: member="psimpl::PolylineSimplification::DPHelper::SubPolyAlt::last" ref="a4b6e337ce1250efd9599b7df99922fcf" args="" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;unsigned DIM, class InputIterator, class OutputIterator&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classpsimpl_1_1_polyline_simplification.html#a08f998ecc4af984c070603b489b3ce28">ptr_diff_type</a> <a class="el" href="classpsimpl_1_1_polyline_simplification.html">psimpl::PolylineSimplification</a>&lt; DIM, InputIterator, OutputIterator &gt;::<a class="el" href="structpsimpl_1_1_polyline_simplification_1_1_d_p_helper_1_1_sub_poly_alt.html#a4b6e337ce1250efd9599b7df99922fcf">DPHelper::SubPolyAlt::last</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>coord index of the first point </p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>D:/Code/Projects/psimpl/trunk/lib/<a class="el" href="psimpl_8h_source.html">psimpl.h</a></li>
</ul>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespacepsimpl.html">psimpl</a>      </li>
      <li class="navelem"><a class="el" href="classpsimpl_1_1_polyline_simplification.html">PolylineSimplification</a>      </li>
      <li class="navelem"><a class="el" href="classpsimpl_1_1_polyline_simplification_1_1_d_p_helper.html">DPHelper</a>      </li>
      <li class="navelem"><a class="el" href="structpsimpl_1_1_polyline_simplification_1_1_d_p_helper_1_1_sub_poly_alt.html">SubPolyAlt</a>      </li>
      <li class="footer">Generated on Fri Jun 24 2011 14:56:29 for psimpl by&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </li>
    </ul>
  </div>

</body>
</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Mozilla Public License 1.1 (MPL 1.1)


Written By
Software Developer Optiver
Netherlands Netherlands
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions