geosolver/doc/pydoc/geosolver.clsolver3D.html

706 lines
44 KiB
HTML

<!doctype html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><title>Python: module geosolver.clsolver3D</title>
</head><body bgcolor="#f0f0f8">
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="heading">
<tr bgcolor="#7799ee">
<td valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial">&nbsp;<br><big><big><strong><a href="geosolver.html"><font color="#ffffff">geosolver</font></a>.clsolver3D</strong></big></big></font></td
><td align=right valign=bottom
><font color="#ffffff" face="helvetica, arial"><a href=".">index</a><br><a href="file:/home/rick/Programming/Python/GeoSolver/geosolver/clsolver3D.py">/home/rick/Programming/Python/GeoSolver/geosolver/clsolver3D.py</a></font></td></tr></table>
<p><tt>A&nbsp;generic&nbsp;3D&nbsp;geometric&nbsp;constraint&nbsp;solver</tt></p>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#aa55cc">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#fffff" face="helvetica, arial"><big><strong>Modules</strong></big></font></td></tr>
<tr><td bgcolor="#aa55cc"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><table width="100%" summary="list"><tr><td width="25%" valign=top><a href="math.html">math</a><br>
</td><td width="25%" valign=top><a href="re.html">re</a><br>
</td><td width="25%" valign=top><a href="sys.html">sys</a><br>
</td><td width="25%" valign=top><a href="geosolver.vector.html">geosolver.vector</a><br>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ee77aa">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Classes</strong></big></font></td></tr>
<tr><td bgcolor="#ee77aa"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl>
<dt><font face="helvetica, arial"><a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>(<a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a>)
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="geosolver.clsolver3D.html#MergeAA">MergeAA</a>
</font></dt><dt><font face="helvetica, arial"><a href="geosolver.clsolver3D.html#MergeADD">MergeADD</a>
</font></dt><dt><font face="helvetica, arial"><a href="geosolver.clsolver3D.html#MergeDAD">MergeDAD</a>
</font></dt><dt><font face="helvetica, arial"><a href="geosolver.clsolver3D.html#MergeDDD">MergeDDD</a>
</font></dt><dt><font face="helvetica, arial"><a href="geosolver.clsolver3D.html#MergeDR">MergeDR</a>
</font></dt><dt><font face="helvetica, arial"><a href="geosolver.clsolver3D.html#MergePR">MergePR</a>
</font></dt><dt><font face="helvetica, arial"><a href="geosolver.clsolver3D.html#MergeRR">MergeRR</a>
</font></dt><dt><font face="helvetica, arial"><a href="geosolver.clsolver3D.html#MergeSD">MergeSD</a>
</font></dt><dt><font face="helvetica, arial"><a href="geosolver.clsolver3D.html#MergeTTD">MergeTTD</a>
</font></dt></dl>
</dd>
<dt><font face="helvetica, arial"><a href="geosolver.clsolver.html#ClusterSolver">geosolver.clsolver.ClusterSolver</a>(<a href="geosolver.notify.html#Notifier">geosolver.notify.Notifier</a>)
</font></dt><dd>
<dl>
<dt><font face="helvetica, arial"><a href="geosolver.clsolver3D.html#ClusterSolver3D">ClusterSolver3D</a>
</font></dt></dl>
</dd>
</dl>
<p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="ClusterSolver3D">class <strong>ClusterSolver3D</strong></a>(<a href="geosolver.clsolver.html#ClusterSolver">geosolver.clsolver.ClusterSolver</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>A&nbsp;generic&nbsp;3D&nbsp;geometric&nbsp;constraint&nbsp;solver.&nbsp;<br>
&nbsp;<br>
Finds&nbsp;a&nbsp;generic&nbsp;solution&nbsp;for&nbsp;problems&nbsp;formulated&nbsp;by&nbsp;cluster-constraints.<br>
&nbsp;<br>
Constraints&nbsp;are&nbsp;Clusers:&nbsp;Rigids,&nbsp;Hedgehogs&nbsp;and&nbsp;Balloons.&nbsp;<br>
Cluster&nbsp;are&nbsp;added&nbsp;and&nbsp;removed&nbsp;using&nbsp;the&nbsp;add&nbsp;and&nbsp;remove&nbsp;methods.&nbsp;<br>
After&nbsp;adding&nbsp;each&nbsp;Cluster,&nbsp;the&nbsp;solver&nbsp;tries&nbsp;to&nbsp;merge&nbsp;it&nbsp;with<br>
other&nbsp;clusters,&nbsp;resulting&nbsp;in&nbsp;new&nbsp;Clusters&nbsp;and&nbsp;Methods.<br>
&nbsp;<br>
The&nbsp;generic&nbsp;solution&nbsp;is&nbsp;a&nbsp;directed&nbsp;acyclic&nbsp;graph&nbsp;of&nbsp;Clusters&nbsp;and&nbsp;Methods.&nbsp;<br>
Particilar&nbsp;problems&nbsp;and&nbsp;solutions&nbsp;are&nbsp;represented&nbsp;by&nbsp;a&nbsp;Configuration&nbsp;<br>
for&nbsp;each&nbsp;cluster.&nbsp;<br>
&nbsp;<br>
For&nbsp;each&nbsp;Cluster&nbsp;a&nbsp;set&nbsp;of&nbsp;Configurations&nbsp;can&nbsp;be&nbsp;set&nbsp;using&nbsp;the<br>
set&nbsp;method.&nbsp;Configurations&nbsp;are&nbsp;propagated&nbsp;via&nbsp;Methods&nbsp;and&nbsp;can<br>
be&nbsp;retrieved&nbsp;with&nbsp;the&nbsp;get&nbsp;method&nbsp;(also&nbsp;returning&nbsp;a&nbsp;set).<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="geosolver.clsolver3D.html#ClusterSolver3D">ClusterSolver3D</a></dd>
<dd><a href="geosolver.clsolver.html#ClusterSolver">geosolver.clsolver.ClusterSolver</a></dd>
<dd><a href="geosolver.notify.html#Notifier">geosolver.notify.Notifier</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="ClusterSolver3D-__init__"><strong>__init__</strong></a>(self)</dt><dd><tt>Instantiate&nbsp;a&nbsp;<a href="#ClusterSolver3D">ClusterSolver3D</a></tt></dd></dl>
<hr>
Methods inherited from <a href="geosolver.clsolver.html#ClusterSolver">geosolver.clsolver.ClusterSolver</a>:<br>
<dl><dt><a name="ClusterSolver3D-__str__"><strong>__str__</strong></a>(self)</dt></dl>
<dl><dt><a name="ClusterSolver3D-add"><strong>add</strong></a>(self, cluster)</dt><dd><tt>Add&nbsp;a&nbsp;cluster.&nbsp;<br>
&nbsp;<br>
arguments:<br>
&nbsp;&nbsp;&nbsp;cluster:&nbsp;A&nbsp;Rigid</tt></dd></dl>
<dl><dt><a name="ClusterSolver3D-angles"><strong>angles</strong></a>(self)</dt><dd><tt>get&nbsp;list&nbsp;of&nbsp;angles</tt></dd></dl>
<dl><dt><a name="ClusterSolver3D-balloons"><strong>balloons</strong></a>(self)</dt><dd><tt>get&nbsp;list&nbsp;of&nbsp;balloons</tt></dd></dl>
<dl><dt><a name="ClusterSolver3D-contains"><strong>contains</strong></a>(self, obj)</dt></dl>
<dl><dt><a name="ClusterSolver3D-distances"><strong>distances</strong></a>(self)</dt><dd><tt>get&nbsp;list&nbsp;of&nbsp;distances</tt></dd></dl>
<dl><dt><a name="ClusterSolver3D-find_dependend"><strong>find_dependend</strong></a>(self, object)</dt><dd><tt>Return&nbsp;a&nbsp;list&nbsp;of&nbsp;objects&nbsp;that&nbsp;depend&nbsp;on&nbsp;given&nbsp;object&nbsp;directly.</tt></dd></dl>
<dl><dt><a name="ClusterSolver3D-find_depends"><strong>find_depends</strong></a>(self, object)</dt><dd><tt>Return&nbsp;a&nbsp;list&nbsp;of&nbsp;objects&nbsp;that&nbsp;the&nbsp;given&nbsp;object&nbsp;depends&nbsp;on&nbsp;directly</tt></dd></dl>
<dl><dt><a name="ClusterSolver3D-get"><strong>get</strong></a>(self, cluster)</dt><dd><tt>Return&nbsp;a&nbsp;set&nbsp;of&nbsp;configurations&nbsp;associated&nbsp;with&nbsp;a&nbsp;cluster</tt></dd></dl>
<dl><dt><a name="ClusterSolver3D-hedgehogs"><strong>hedgehogs</strong></a>(self)</dt><dd><tt>get&nbsp;list&nbsp;of&nbsp;hedgehogs</tt></dd></dl>
<dl><dt><a name="ClusterSolver3D-is_top_level"><strong>is_top_level</strong></a>(self, object)</dt></dl>
<dl><dt><a name="ClusterSolver3D-methods"><strong>methods</strong></a>(self)</dt><dd><tt>get&nbsp;list&nbsp;of&nbsp;methods</tt></dd></dl>
<dl><dt><a name="ClusterSolver3D-remove"><strong>remove</strong></a>(self, cluster)</dt><dd><tt>Remove&nbsp;a&nbsp;cluster.&nbsp;<br>
All&nbsp;dependend&nbsp;objects&nbsp;are&nbsp;also&nbsp;removed.</tt></dd></dl>
<dl><dt><a name="ClusterSolver3D-rigids"><strong>rigids</strong></a>(self)</dt><dd><tt>get&nbsp;list&nbsp;of&nbsp;rigids</tt></dd></dl>
<dl><dt><a name="ClusterSolver3D-set"><strong>set</strong></a>(self, cluster, configurations)</dt><dd><tt>Associate&nbsp;a&nbsp;list&nbsp;of&nbsp;configurations&nbsp;with&nbsp;a&nbsp;cluster</tt></dd></dl>
<dl><dt><a name="ClusterSolver3D-set_root"><strong>set_root</strong></a>(self, rigid)</dt><dd><tt>Make&nbsp;given&nbsp;rigid&nbsp;cluster&nbsp;the&nbsp;root&nbsp;cluster<br>
&nbsp;<br>
arguments:<br>
&nbsp;&nbsp;&nbsp;cluster:&nbsp;A&nbsp;Rigid</tt></dd></dl>
<dl><dt><a name="ClusterSolver3D-top_level"><strong>top_level</strong></a>(self)</dt><dd><tt>get&nbsp;top-level&nbsp;objects</tt></dd></dl>
<dl><dt><a name="ClusterSolver3D-variables"><strong>variables</strong></a>(self)</dt><dd><tt>get&nbsp;list&nbsp;of&nbsp;variables</tt></dd></dl>
<hr>
Methods inherited from <a href="geosolver.notify.html#Notifier">geosolver.notify.Notifier</a>:<br>
<dl><dt><a name="ClusterSolver3D-add_listener"><strong>add_listener</strong></a>(self, listener)</dt><dd><tt>add&nbsp;a&nbsp;listener&nbsp;to&nbsp;the&nbsp;list&nbsp;(and&nbsp;self&nbsp;to&nbsp;listers'&nbsp;list)</tt></dd></dl>
<dl><dt><a name="ClusterSolver3D-rem_listener"><strong>rem_listener</strong></a>(self, listener)</dt><dd><tt>remove&nbsp;a&nbsp;listener&nbsp;from&nbsp;the&nbsp;list&nbsp;(and&nbsp;self&nbsp;from&nbsp;listers'&nbsp;list)</tt></dd></dl>
<dl><dt><a name="ClusterSolver3D-send_notify"><strong>send_notify</strong></a>(self, message)</dt><dd><tt>send&nbsp;a&nbsp;message&nbsp;to&nbsp;all&nbsp;listeners</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="MergeAA">class <strong>MergeAA</strong></a>(<a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Derive&nbsp;a&nbsp;scalable&nbsp;from&nbsp;two&nbsp;angles<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="geosolver.clsolver3D.html#MergeAA">MergeAA</a></dd>
<dd><a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a></dd>
<dd><a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a></dd>
<dd><a href="geosolver.method.html#Method">geosolver.method.Method</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="MergeAA-__init__"><strong>__init__</strong></a>(self, map)</dt></dl>
<dl><dt><a name="MergeAA-__str__"><strong>__str__</strong></a>(self)</dt></dl>
<dl><dt><a name="MergeAA-multi_execute"><strong>multi_execute</strong></a>(self, inmap)</dt></dl>
<hr>
Static methods defined here:<br>
<dl><dt><a name="MergeAA-pattern"><strong>pattern</strong></a> = <a href="#MergeAA-_pattern">_pattern</a>()</dt></dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>patterngraph</strong> = &lt;geosolver.graph.Graph instance at 0xb7d6730c&gt;</dl>
<hr>
Methods inherited from <a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>:<br>
<dl><dt><a name="MergeAA-prototype_constraints"><strong>prototype_constraints</strong></a>(self)</dt></dl>
<dl><dt><a name="MergeAA-status_str"><strong>status_str</strong></a>(self)</dt></dl>
<hr>
Methods inherited from <a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a>:<br>
<dl><dt><a name="MergeAA-execute"><strong>execute</strong></a>(self, inmap)</dt><dd><tt>calls&nbsp;multi_execute&nbsp;for&nbsp;each&nbsp;permutation&nbsp;of&nbsp;multi-valued&nbsp;input&nbsp;variables&nbsp;and&nbsp;collects<br>
result&nbsp;in&nbsp;multi-valued&nbsp;ouput&nbsp;variables.&nbsp;Subclasses&nbsp;should&nbsp;implement&nbsp;multi_execute.</tt></dd></dl>
<hr>
Methods inherited from <a href="geosolver.method.html#Method">geosolver.method.Method</a>:<br>
<dl><dt><a name="MergeAA-inputs"><strong>inputs</strong></a>(self)</dt><dd><tt>return&nbsp;a&nbsp;list&nbsp;of&nbsp;input&nbsp;variables<br>
&nbsp;<br>
If&nbsp;an&nbsp;attribute&nbsp;'_inputs'&nbsp;has&nbsp;been&nbsp;defined,&nbsp;a&nbsp;new&nbsp;list<br>
with&nbsp;the&nbsp;contents&nbsp;of&nbsp;that&nbsp;attribute&nbsp;will&nbsp;be&nbsp;returned.&nbsp;<br>
Subclasses&nbsp;may&nbsp;choose&nbsp;to&nbsp;initialise&nbsp;this&nbsp;variable&nbsp;or&nbsp;to&nbsp;<br>
override&nbsp;this&nbsp;function.</tt></dd></dl>
<dl><dt><a name="MergeAA-outputs"><strong>outputs</strong></a>(self)</dt><dd><tt>return&nbsp;a&nbsp;list&nbsp;of&nbsp;output&nbsp;variables<br>
&nbsp;<br>
If&nbsp;an&nbsp;attribute&nbsp;'_outputs'&nbsp;has&nbsp;been&nbsp;defined,&nbsp;a&nbsp;new&nbsp;list<br>
with&nbsp;the&nbsp;contents&nbsp;of&nbsp;that&nbsp;attribute&nbsp;will&nbsp;be&nbsp;returned.&nbsp;<br>
Subclasses&nbsp;may&nbsp;choose&nbsp;to&nbsp;initialise&nbsp;this&nbsp;variable&nbsp;or&nbsp;to&nbsp;<br>
override&nbsp;this&nbsp;function.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="MergeADD">class <strong>MergeADD</strong></a>(<a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Represents&nbsp;a&nbsp;merging&nbsp;of&nbsp;three&nbsp;distances<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="geosolver.clsolver3D.html#MergeADD">MergeADD</a></dd>
<dd><a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a></dd>
<dd><a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a></dd>
<dd><a href="geosolver.method.html#Method">geosolver.method.Method</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="MergeADD-__init__"><strong>__init__</strong></a>(self, map)</dt></dl>
<dl><dt><a name="MergeADD-__str__"><strong>__str__</strong></a>(self)</dt></dl>
<dl><dt><a name="MergeADD-multi_execute"><strong>multi_execute</strong></a>(self, inmap)</dt></dl>
<hr>
Static methods defined here:<br>
<dl><dt><a name="MergeADD-pattern"><strong>pattern</strong></a> = <a href="#MergeADD-_pattern">_pattern</a>()</dt></dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>patterngraph</strong> = &lt;geosolver.graph.Graph instance at 0xb7d6728c&gt;</dl>
<hr>
Methods inherited from <a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>:<br>
<dl><dt><a name="MergeADD-prototype_constraints"><strong>prototype_constraints</strong></a>(self)</dt></dl>
<dl><dt><a name="MergeADD-status_str"><strong>status_str</strong></a>(self)</dt></dl>
<hr>
Methods inherited from <a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a>:<br>
<dl><dt><a name="MergeADD-execute"><strong>execute</strong></a>(self, inmap)</dt><dd><tt>calls&nbsp;multi_execute&nbsp;for&nbsp;each&nbsp;permutation&nbsp;of&nbsp;multi-valued&nbsp;input&nbsp;variables&nbsp;and&nbsp;collects<br>
result&nbsp;in&nbsp;multi-valued&nbsp;ouput&nbsp;variables.&nbsp;Subclasses&nbsp;should&nbsp;implement&nbsp;multi_execute.</tt></dd></dl>
<hr>
Methods inherited from <a href="geosolver.method.html#Method">geosolver.method.Method</a>:<br>
<dl><dt><a name="MergeADD-inputs"><strong>inputs</strong></a>(self)</dt><dd><tt>return&nbsp;a&nbsp;list&nbsp;of&nbsp;input&nbsp;variables<br>
&nbsp;<br>
If&nbsp;an&nbsp;attribute&nbsp;'_inputs'&nbsp;has&nbsp;been&nbsp;defined,&nbsp;a&nbsp;new&nbsp;list<br>
with&nbsp;the&nbsp;contents&nbsp;of&nbsp;that&nbsp;attribute&nbsp;will&nbsp;be&nbsp;returned.&nbsp;<br>
Subclasses&nbsp;may&nbsp;choose&nbsp;to&nbsp;initialise&nbsp;this&nbsp;variable&nbsp;or&nbsp;to&nbsp;<br>
override&nbsp;this&nbsp;function.</tt></dd></dl>
<dl><dt><a name="MergeADD-outputs"><strong>outputs</strong></a>(self)</dt><dd><tt>return&nbsp;a&nbsp;list&nbsp;of&nbsp;output&nbsp;variables<br>
&nbsp;<br>
If&nbsp;an&nbsp;attribute&nbsp;'_outputs'&nbsp;has&nbsp;been&nbsp;defined,&nbsp;a&nbsp;new&nbsp;list<br>
with&nbsp;the&nbsp;contents&nbsp;of&nbsp;that&nbsp;attribute&nbsp;will&nbsp;be&nbsp;returned.&nbsp;<br>
Subclasses&nbsp;may&nbsp;choose&nbsp;to&nbsp;initialise&nbsp;this&nbsp;variable&nbsp;or&nbsp;to&nbsp;<br>
override&nbsp;this&nbsp;function.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="MergeDAD">class <strong>MergeDAD</strong></a>(<a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Represents&nbsp;a&nbsp;merging&nbsp;of&nbsp;three&nbsp;distances<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="geosolver.clsolver3D.html#MergeDAD">MergeDAD</a></dd>
<dd><a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a></dd>
<dd><a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a></dd>
<dd><a href="geosolver.method.html#Method">geosolver.method.Method</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="MergeDAD-__init__"><strong>__init__</strong></a>(self, map)</dt></dl>
<dl><dt><a name="MergeDAD-__str__"><strong>__str__</strong></a>(self)</dt></dl>
<dl><dt><a name="MergeDAD-multi_execute"><strong>multi_execute</strong></a>(self, inmap)</dt></dl>
<hr>
Static methods defined here:<br>
<dl><dt><a name="MergeDAD-pattern"><strong>pattern</strong></a> = <a href="#MergeDAD-_pattern">_pattern</a>()</dt></dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>patterngraph</strong> = &lt;geosolver.graph.Graph instance at 0xb7d6720c&gt;</dl>
<hr>
Methods inherited from <a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>:<br>
<dl><dt><a name="MergeDAD-prototype_constraints"><strong>prototype_constraints</strong></a>(self)</dt></dl>
<dl><dt><a name="MergeDAD-status_str"><strong>status_str</strong></a>(self)</dt></dl>
<hr>
Methods inherited from <a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a>:<br>
<dl><dt><a name="MergeDAD-execute"><strong>execute</strong></a>(self, inmap)</dt><dd><tt>calls&nbsp;multi_execute&nbsp;for&nbsp;each&nbsp;permutation&nbsp;of&nbsp;multi-valued&nbsp;input&nbsp;variables&nbsp;and&nbsp;collects<br>
result&nbsp;in&nbsp;multi-valued&nbsp;ouput&nbsp;variables.&nbsp;Subclasses&nbsp;should&nbsp;implement&nbsp;multi_execute.</tt></dd></dl>
<hr>
Methods inherited from <a href="geosolver.method.html#Method">geosolver.method.Method</a>:<br>
<dl><dt><a name="MergeDAD-inputs"><strong>inputs</strong></a>(self)</dt><dd><tt>return&nbsp;a&nbsp;list&nbsp;of&nbsp;input&nbsp;variables<br>
&nbsp;<br>
If&nbsp;an&nbsp;attribute&nbsp;'_inputs'&nbsp;has&nbsp;been&nbsp;defined,&nbsp;a&nbsp;new&nbsp;list<br>
with&nbsp;the&nbsp;contents&nbsp;of&nbsp;that&nbsp;attribute&nbsp;will&nbsp;be&nbsp;returned.&nbsp;<br>
Subclasses&nbsp;may&nbsp;choose&nbsp;to&nbsp;initialise&nbsp;this&nbsp;variable&nbsp;or&nbsp;to&nbsp;<br>
override&nbsp;this&nbsp;function.</tt></dd></dl>
<dl><dt><a name="MergeDAD-outputs"><strong>outputs</strong></a>(self)</dt><dd><tt>return&nbsp;a&nbsp;list&nbsp;of&nbsp;output&nbsp;variables<br>
&nbsp;<br>
If&nbsp;an&nbsp;attribute&nbsp;'_outputs'&nbsp;has&nbsp;been&nbsp;defined,&nbsp;a&nbsp;new&nbsp;list<br>
with&nbsp;the&nbsp;contents&nbsp;of&nbsp;that&nbsp;attribute&nbsp;will&nbsp;be&nbsp;returned.&nbsp;<br>
Subclasses&nbsp;may&nbsp;choose&nbsp;to&nbsp;initialise&nbsp;this&nbsp;variable&nbsp;or&nbsp;to&nbsp;<br>
override&nbsp;this&nbsp;function.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="MergeDDD">class <strong>MergeDDD</strong></a>(<a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Represents&nbsp;a&nbsp;merging&nbsp;of&nbsp;three&nbsp;distances<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="geosolver.clsolver3D.html#MergeDDD">MergeDDD</a></dd>
<dd><a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a></dd>
<dd><a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a></dd>
<dd><a href="geosolver.method.html#Method">geosolver.method.Method</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="MergeDDD-__init__"><strong>__init__</strong></a>(self, map)</dt></dl>
<dl><dt><a name="MergeDDD-__str__"><strong>__str__</strong></a>(self)</dt></dl>
<dl><dt><a name="MergeDDD-multi_execute"><strong>multi_execute</strong></a>(self, inmap)</dt></dl>
<hr>
Static methods defined here:<br>
<dl><dt><a name="MergeDDD-pattern"><strong>pattern</strong></a> = <a href="#MergeDDD-_pattern">_pattern</a>()</dt></dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>patterngraph</strong> = &lt;geosolver.graph.Graph instance at 0xb7d6710c&gt;</dl>
<hr>
Methods inherited from <a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>:<br>
<dl><dt><a name="MergeDDD-prototype_constraints"><strong>prototype_constraints</strong></a>(self)</dt></dl>
<dl><dt><a name="MergeDDD-status_str"><strong>status_str</strong></a>(self)</dt></dl>
<hr>
Methods inherited from <a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a>:<br>
<dl><dt><a name="MergeDDD-execute"><strong>execute</strong></a>(self, inmap)</dt><dd><tt>calls&nbsp;multi_execute&nbsp;for&nbsp;each&nbsp;permutation&nbsp;of&nbsp;multi-valued&nbsp;input&nbsp;variables&nbsp;and&nbsp;collects<br>
result&nbsp;in&nbsp;multi-valued&nbsp;ouput&nbsp;variables.&nbsp;Subclasses&nbsp;should&nbsp;implement&nbsp;multi_execute.</tt></dd></dl>
<hr>
Methods inherited from <a href="geosolver.method.html#Method">geosolver.method.Method</a>:<br>
<dl><dt><a name="MergeDDD-inputs"><strong>inputs</strong></a>(self)</dt><dd><tt>return&nbsp;a&nbsp;list&nbsp;of&nbsp;input&nbsp;variables<br>
&nbsp;<br>
If&nbsp;an&nbsp;attribute&nbsp;'_inputs'&nbsp;has&nbsp;been&nbsp;defined,&nbsp;a&nbsp;new&nbsp;list<br>
with&nbsp;the&nbsp;contents&nbsp;of&nbsp;that&nbsp;attribute&nbsp;will&nbsp;be&nbsp;returned.&nbsp;<br>
Subclasses&nbsp;may&nbsp;choose&nbsp;to&nbsp;initialise&nbsp;this&nbsp;variable&nbsp;or&nbsp;to&nbsp;<br>
override&nbsp;this&nbsp;function.</tt></dd></dl>
<dl><dt><a name="MergeDDD-outputs"><strong>outputs</strong></a>(self)</dt><dd><tt>return&nbsp;a&nbsp;list&nbsp;of&nbsp;output&nbsp;variables<br>
&nbsp;<br>
If&nbsp;an&nbsp;attribute&nbsp;'_outputs'&nbsp;has&nbsp;been&nbsp;defined,&nbsp;a&nbsp;new&nbsp;list<br>
with&nbsp;the&nbsp;contents&nbsp;of&nbsp;that&nbsp;attribute&nbsp;will&nbsp;be&nbsp;returned.&nbsp;<br>
Subclasses&nbsp;may&nbsp;choose&nbsp;to&nbsp;initialise&nbsp;this&nbsp;variable&nbsp;or&nbsp;to&nbsp;<br>
override&nbsp;this&nbsp;function.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="MergeDR">class <strong>MergeDR</strong></a>(<a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Represents&nbsp;a&nbsp;merging&nbsp;of&nbsp;a&nbsp;distance&nbsp;(two-point&nbsp;cluster)&nbsp;with&nbsp;a&nbsp;rigid<br>
The&nbsp;first&nbsp;cluster&nbsp;determines&nbsp;the&nbsp;orientation&nbsp;of&nbsp;the&nbsp;resulting&nbsp;cluster<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="geosolver.clsolver3D.html#MergeDR">MergeDR</a></dd>
<dd><a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a></dd>
<dd><a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a></dd>
<dd><a href="geosolver.method.html#Method">geosolver.method.Method</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="MergeDR-__init__"><strong>__init__</strong></a>(self, map)</dt></dl>
<dl><dt><a name="MergeDR-__str__"><strong>__str__</strong></a>(self)</dt></dl>
<dl><dt><a name="MergeDR-multi_execute"><strong>multi_execute</strong></a>(self, inmap)</dt></dl>
<hr>
Static methods defined here:<br>
<dl><dt><a name="MergeDR-pattern"><strong>pattern</strong></a> = <a href="#MergeDR-_pattern">_pattern</a>()</dt></dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>patterngraph</strong> = &lt;geosolver.graph.Graph instance at 0xb7d5efec&gt;</dl>
<hr>
Methods inherited from <a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>:<br>
<dl><dt><a name="MergeDR-prototype_constraints"><strong>prototype_constraints</strong></a>(self)</dt></dl>
<dl><dt><a name="MergeDR-status_str"><strong>status_str</strong></a>(self)</dt></dl>
<hr>
Methods inherited from <a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a>:<br>
<dl><dt><a name="MergeDR-execute"><strong>execute</strong></a>(self, inmap)</dt><dd><tt>calls&nbsp;multi_execute&nbsp;for&nbsp;each&nbsp;permutation&nbsp;of&nbsp;multi-valued&nbsp;input&nbsp;variables&nbsp;and&nbsp;collects<br>
result&nbsp;in&nbsp;multi-valued&nbsp;ouput&nbsp;variables.&nbsp;Subclasses&nbsp;should&nbsp;implement&nbsp;multi_execute.</tt></dd></dl>
<hr>
Methods inherited from <a href="geosolver.method.html#Method">geosolver.method.Method</a>:<br>
<dl><dt><a name="MergeDR-inputs"><strong>inputs</strong></a>(self)</dt><dd><tt>return&nbsp;a&nbsp;list&nbsp;of&nbsp;input&nbsp;variables<br>
&nbsp;<br>
If&nbsp;an&nbsp;attribute&nbsp;'_inputs'&nbsp;has&nbsp;been&nbsp;defined,&nbsp;a&nbsp;new&nbsp;list<br>
with&nbsp;the&nbsp;contents&nbsp;of&nbsp;that&nbsp;attribute&nbsp;will&nbsp;be&nbsp;returned.&nbsp;<br>
Subclasses&nbsp;may&nbsp;choose&nbsp;to&nbsp;initialise&nbsp;this&nbsp;variable&nbsp;or&nbsp;to&nbsp;<br>
override&nbsp;this&nbsp;function.</tt></dd></dl>
<dl><dt><a name="MergeDR-outputs"><strong>outputs</strong></a>(self)</dt><dd><tt>return&nbsp;a&nbsp;list&nbsp;of&nbsp;output&nbsp;variables<br>
&nbsp;<br>
If&nbsp;an&nbsp;attribute&nbsp;'_outputs'&nbsp;has&nbsp;been&nbsp;defined,&nbsp;a&nbsp;new&nbsp;list<br>
with&nbsp;the&nbsp;contents&nbsp;of&nbsp;that&nbsp;attribute&nbsp;will&nbsp;be&nbsp;returned.&nbsp;<br>
Subclasses&nbsp;may&nbsp;choose&nbsp;to&nbsp;initialise&nbsp;this&nbsp;variable&nbsp;or&nbsp;to&nbsp;<br>
override&nbsp;this&nbsp;function.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="MergePR">class <strong>MergePR</strong></a>(<a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Represents&nbsp;a&nbsp;merging&nbsp;of&nbsp;a&nbsp;one-point&nbsp;cluster&nbsp;with&nbsp;any&nbsp;other&nbsp;rigid<br>
The&nbsp;first&nbsp;cluster&nbsp;determines&nbsp;the&nbsp;orientation&nbsp;of&nbsp;the&nbsp;resulting&nbsp;cluster<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="geosolver.clsolver3D.html#MergePR">MergePR</a></dd>
<dd><a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a></dd>
<dd><a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a></dd>
<dd><a href="geosolver.method.html#Method">geosolver.method.Method</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="MergePR-__init__"><strong>__init__</strong></a>(self, map)</dt></dl>
<dl><dt><a name="MergePR-__str__"><strong>__str__</strong></a>(self)</dt></dl>
<dl><dt><a name="MergePR-multi_execute"><strong>multi_execute</strong></a>(self, inmap)</dt></dl>
<hr>
Static methods defined here:<br>
<dl><dt><a name="MergePR-pattern"><strong>pattern</strong></a> = <a href="#MergePR-_pattern">_pattern</a>()</dt></dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>patterngraph</strong> = &lt;geosolver.graph.Graph instance at 0xb7d5ef2c&gt;</dl>
<hr>
Methods inherited from <a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>:<br>
<dl><dt><a name="MergePR-prototype_constraints"><strong>prototype_constraints</strong></a>(self)</dt></dl>
<dl><dt><a name="MergePR-status_str"><strong>status_str</strong></a>(self)</dt></dl>
<hr>
Methods inherited from <a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a>:<br>
<dl><dt><a name="MergePR-execute"><strong>execute</strong></a>(self, inmap)</dt><dd><tt>calls&nbsp;multi_execute&nbsp;for&nbsp;each&nbsp;permutation&nbsp;of&nbsp;multi-valued&nbsp;input&nbsp;variables&nbsp;and&nbsp;collects<br>
result&nbsp;in&nbsp;multi-valued&nbsp;ouput&nbsp;variables.&nbsp;Subclasses&nbsp;should&nbsp;implement&nbsp;multi_execute.</tt></dd></dl>
<hr>
Methods inherited from <a href="geosolver.method.html#Method">geosolver.method.Method</a>:<br>
<dl><dt><a name="MergePR-inputs"><strong>inputs</strong></a>(self)</dt><dd><tt>return&nbsp;a&nbsp;list&nbsp;of&nbsp;input&nbsp;variables<br>
&nbsp;<br>
If&nbsp;an&nbsp;attribute&nbsp;'_inputs'&nbsp;has&nbsp;been&nbsp;defined,&nbsp;a&nbsp;new&nbsp;list<br>
with&nbsp;the&nbsp;contents&nbsp;of&nbsp;that&nbsp;attribute&nbsp;will&nbsp;be&nbsp;returned.&nbsp;<br>
Subclasses&nbsp;may&nbsp;choose&nbsp;to&nbsp;initialise&nbsp;this&nbsp;variable&nbsp;or&nbsp;to&nbsp;<br>
override&nbsp;this&nbsp;function.</tt></dd></dl>
<dl><dt><a name="MergePR-outputs"><strong>outputs</strong></a>(self)</dt><dd><tt>return&nbsp;a&nbsp;list&nbsp;of&nbsp;output&nbsp;variables<br>
&nbsp;<br>
If&nbsp;an&nbsp;attribute&nbsp;'_outputs'&nbsp;has&nbsp;been&nbsp;defined,&nbsp;a&nbsp;new&nbsp;list<br>
with&nbsp;the&nbsp;contents&nbsp;of&nbsp;that&nbsp;attribute&nbsp;will&nbsp;be&nbsp;returned.&nbsp;<br>
Subclasses&nbsp;may&nbsp;choose&nbsp;to&nbsp;initialise&nbsp;this&nbsp;variable&nbsp;or&nbsp;to&nbsp;<br>
override&nbsp;this&nbsp;function.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="MergeRR">class <strong>MergeRR</strong></a>(<a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Represents&nbsp;a&nbsp;merging&nbsp;of&nbsp;two&nbsp;rigids&nbsp;sharing&nbsp;three&nbsp;points&nbsp;(overconstrained).<br>
The&nbsp;first&nbsp;cluster&nbsp;determines&nbsp;the&nbsp;orientation&nbsp;of&nbsp;the&nbsp;resulting&nbsp;cluster<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="geosolver.clsolver3D.html#MergeRR">MergeRR</a></dd>
<dd><a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a></dd>
<dd><a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a></dd>
<dd><a href="geosolver.method.html#Method">geosolver.method.Method</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="MergeRR-__init__"><strong>__init__</strong></a>(self, map)</dt></dl>
<dl><dt><a name="MergeRR-__str__"><strong>__str__</strong></a>(self)</dt></dl>
<dl><dt><a name="MergeRR-multi_execute"><strong>multi_execute</strong></a>(self, inmap)</dt></dl>
<hr>
Static methods defined here:<br>
<dl><dt><a name="MergeRR-pattern"><strong>pattern</strong></a> = <a href="#MergeRR-_pattern">_pattern</a>()</dt></dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>patterngraph</strong> = &lt;geosolver.graph.Graph instance at 0xb7d6708c&gt;</dl>
<hr>
Methods inherited from <a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>:<br>
<dl><dt><a name="MergeRR-prototype_constraints"><strong>prototype_constraints</strong></a>(self)</dt></dl>
<dl><dt><a name="MergeRR-status_str"><strong>status_str</strong></a>(self)</dt></dl>
<hr>
Methods inherited from <a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a>:<br>
<dl><dt><a name="MergeRR-execute"><strong>execute</strong></a>(self, inmap)</dt><dd><tt>calls&nbsp;multi_execute&nbsp;for&nbsp;each&nbsp;permutation&nbsp;of&nbsp;multi-valued&nbsp;input&nbsp;variables&nbsp;and&nbsp;collects<br>
result&nbsp;in&nbsp;multi-valued&nbsp;ouput&nbsp;variables.&nbsp;Subclasses&nbsp;should&nbsp;implement&nbsp;multi_execute.</tt></dd></dl>
<hr>
Methods inherited from <a href="geosolver.method.html#Method">geosolver.method.Method</a>:<br>
<dl><dt><a name="MergeRR-inputs"><strong>inputs</strong></a>(self)</dt><dd><tt>return&nbsp;a&nbsp;list&nbsp;of&nbsp;input&nbsp;variables<br>
&nbsp;<br>
If&nbsp;an&nbsp;attribute&nbsp;'_inputs'&nbsp;has&nbsp;been&nbsp;defined,&nbsp;a&nbsp;new&nbsp;list<br>
with&nbsp;the&nbsp;contents&nbsp;of&nbsp;that&nbsp;attribute&nbsp;will&nbsp;be&nbsp;returned.&nbsp;<br>
Subclasses&nbsp;may&nbsp;choose&nbsp;to&nbsp;initialise&nbsp;this&nbsp;variable&nbsp;or&nbsp;to&nbsp;<br>
override&nbsp;this&nbsp;function.</tt></dd></dl>
<dl><dt><a name="MergeRR-outputs"><strong>outputs</strong></a>(self)</dt><dd><tt>return&nbsp;a&nbsp;list&nbsp;of&nbsp;output&nbsp;variables<br>
&nbsp;<br>
If&nbsp;an&nbsp;attribute&nbsp;'_outputs'&nbsp;has&nbsp;been&nbsp;defined,&nbsp;a&nbsp;new&nbsp;list<br>
with&nbsp;the&nbsp;contents&nbsp;of&nbsp;that&nbsp;attribute&nbsp;will&nbsp;be&nbsp;returned.&nbsp;<br>
Subclasses&nbsp;may&nbsp;choose&nbsp;to&nbsp;initialise&nbsp;this&nbsp;variable&nbsp;or&nbsp;to&nbsp;<br>
override&nbsp;this&nbsp;function.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="MergeSD">class <strong>MergeSD</strong></a>(<a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Derive&nbsp;a&nbsp;Rigid&nbsp;from&nbsp;a&nbsp;Scalabe&nbsp;and&nbsp;a&nbsp;Rigid&nbsp;sharing&nbsp;two&nbsp;points<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="geosolver.clsolver3D.html#MergeSD">MergeSD</a></dd>
<dd><a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a></dd>
<dd><a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a></dd>
<dd><a href="geosolver.method.html#Method">geosolver.method.Method</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="MergeSD-__init__"><strong>__init__</strong></a>(self, map)</dt></dl>
<dl><dt><a name="MergeSD-__str__"><strong>__str__</strong></a>(self)</dt></dl>
<dl><dt><a name="MergeSD-multi_execute"><strong>multi_execute</strong></a>(self, inmap)</dt></dl>
<hr>
Static methods defined here:<br>
<dl><dt><a name="MergeSD-pattern"><strong>pattern</strong></a> = <a href="#MergeSD-_pattern">_pattern</a>()</dt></dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>patterngraph</strong> = &lt;geosolver.graph.Graph instance at 0xb7d6738c&gt;</dl>
<hr>
Methods inherited from <a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>:<br>
<dl><dt><a name="MergeSD-prototype_constraints"><strong>prototype_constraints</strong></a>(self)</dt></dl>
<dl><dt><a name="MergeSD-status_str"><strong>status_str</strong></a>(self)</dt></dl>
<hr>
Methods inherited from <a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a>:<br>
<dl><dt><a name="MergeSD-execute"><strong>execute</strong></a>(self, inmap)</dt><dd><tt>calls&nbsp;multi_execute&nbsp;for&nbsp;each&nbsp;permutation&nbsp;of&nbsp;multi-valued&nbsp;input&nbsp;variables&nbsp;and&nbsp;collects<br>
result&nbsp;in&nbsp;multi-valued&nbsp;ouput&nbsp;variables.&nbsp;Subclasses&nbsp;should&nbsp;implement&nbsp;multi_execute.</tt></dd></dl>
<hr>
Methods inherited from <a href="geosolver.method.html#Method">geosolver.method.Method</a>:<br>
<dl><dt><a name="MergeSD-inputs"><strong>inputs</strong></a>(self)</dt><dd><tt>return&nbsp;a&nbsp;list&nbsp;of&nbsp;input&nbsp;variables<br>
&nbsp;<br>
If&nbsp;an&nbsp;attribute&nbsp;'_inputs'&nbsp;has&nbsp;been&nbsp;defined,&nbsp;a&nbsp;new&nbsp;list<br>
with&nbsp;the&nbsp;contents&nbsp;of&nbsp;that&nbsp;attribute&nbsp;will&nbsp;be&nbsp;returned.&nbsp;<br>
Subclasses&nbsp;may&nbsp;choose&nbsp;to&nbsp;initialise&nbsp;this&nbsp;variable&nbsp;or&nbsp;to&nbsp;<br>
override&nbsp;this&nbsp;function.</tt></dd></dl>
<dl><dt><a name="MergeSD-outputs"><strong>outputs</strong></a>(self)</dt><dd><tt>return&nbsp;a&nbsp;list&nbsp;of&nbsp;output&nbsp;variables<br>
&nbsp;<br>
If&nbsp;an&nbsp;attribute&nbsp;'_outputs'&nbsp;has&nbsp;been&nbsp;defined,&nbsp;a&nbsp;new&nbsp;list<br>
with&nbsp;the&nbsp;contents&nbsp;of&nbsp;that&nbsp;attribute&nbsp;will&nbsp;be&nbsp;returned.&nbsp;<br>
Subclasses&nbsp;may&nbsp;choose&nbsp;to&nbsp;initialise&nbsp;this&nbsp;variable&nbsp;or&nbsp;to&nbsp;<br>
override&nbsp;this&nbsp;function.</tt></dd></dl>
</td></tr></table> <p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#ffc8d8">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#000000" face="helvetica, arial"><a name="MergeTTD">class <strong>MergeTTD</strong></a>(<a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>)</font></td></tr>
<tr bgcolor="#ffc8d8"><td rowspan=2><tt>&nbsp;&nbsp;&nbsp;</tt></td>
<td colspan=2><tt>Represents&nbsp;a&nbsp;derive&nbsp;of&nbsp;a&nbsp;tetra&nbsp;from&nbsp;six&nbsp;distances<br>&nbsp;</tt></td></tr>
<tr><td>&nbsp;</td>
<td width="100%"><dl><dt>Method resolution order:</dt>
<dd><a href="geosolver.clsolver3D.html#MergeTTD">MergeTTD</a></dd>
<dd><a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a></dd>
<dd><a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a></dd>
<dd><a href="geosolver.method.html#Method">geosolver.method.Method</a></dd>
</dl>
<hr>
Methods defined here:<br>
<dl><dt><a name="MergeTTD-__init__"><strong>__init__</strong></a>(self, map)</dt></dl>
<dl><dt><a name="MergeTTD-__str__"><strong>__str__</strong></a>(self)</dt></dl>
<dl><dt><a name="MergeTTD-multi_execute"><strong>multi_execute</strong></a>(self, inmap)</dt></dl>
<dl><dt><a name="MergeTTD-prototype_constraints"><strong>prototype_constraints</strong></a>(self)</dt></dl>
<hr>
Static methods defined here:<br>
<dl><dt><a name="MergeTTD-pattern"><strong>pattern</strong></a> = <a href="#MergeTTD-_pattern">_pattern</a>()</dt></dl>
<hr>
Data and other attributes defined here:<br>
<dl><dt><strong>patterngraph</strong> = &lt;geosolver.graph.Graph instance at 0xb7d6718c&gt;</dl>
<hr>
Methods inherited from <a href="geosolver.clsolver.html#ClusterMethod">geosolver.clsolver.ClusterMethod</a>:<br>
<dl><dt><a name="MergeTTD-status_str"><strong>status_str</strong></a>(self)</dt></dl>
<hr>
Methods inherited from <a href="geosolver.multimethod.html#MultiMethod">geosolver.multimethod.MultiMethod</a>:<br>
<dl><dt><a name="MergeTTD-execute"><strong>execute</strong></a>(self, inmap)</dt><dd><tt>calls&nbsp;multi_execute&nbsp;for&nbsp;each&nbsp;permutation&nbsp;of&nbsp;multi-valued&nbsp;input&nbsp;variables&nbsp;and&nbsp;collects<br>
result&nbsp;in&nbsp;multi-valued&nbsp;ouput&nbsp;variables.&nbsp;Subclasses&nbsp;should&nbsp;implement&nbsp;multi_execute.</tt></dd></dl>
<hr>
Methods inherited from <a href="geosolver.method.html#Method">geosolver.method.Method</a>:<br>
<dl><dt><a name="MergeTTD-inputs"><strong>inputs</strong></a>(self)</dt><dd><tt>return&nbsp;a&nbsp;list&nbsp;of&nbsp;input&nbsp;variables<br>
&nbsp;<br>
If&nbsp;an&nbsp;attribute&nbsp;'_inputs'&nbsp;has&nbsp;been&nbsp;defined,&nbsp;a&nbsp;new&nbsp;list<br>
with&nbsp;the&nbsp;contents&nbsp;of&nbsp;that&nbsp;attribute&nbsp;will&nbsp;be&nbsp;returned.&nbsp;<br>
Subclasses&nbsp;may&nbsp;choose&nbsp;to&nbsp;initialise&nbsp;this&nbsp;variable&nbsp;or&nbsp;to&nbsp;<br>
override&nbsp;this&nbsp;function.</tt></dd></dl>
<dl><dt><a name="MergeTTD-outputs"><strong>outputs</strong></a>(self)</dt><dd><tt>return&nbsp;a&nbsp;list&nbsp;of&nbsp;output&nbsp;variables<br>
&nbsp;<br>
If&nbsp;an&nbsp;attribute&nbsp;'_outputs'&nbsp;has&nbsp;been&nbsp;defined,&nbsp;a&nbsp;new&nbsp;list<br>
with&nbsp;the&nbsp;contents&nbsp;of&nbsp;that&nbsp;attribute&nbsp;will&nbsp;be&nbsp;returned.&nbsp;<br>
Subclasses&nbsp;may&nbsp;choose&nbsp;to&nbsp;initialise&nbsp;this&nbsp;variable&nbsp;or&nbsp;to&nbsp;<br>
override&nbsp;this&nbsp;function.</tt></dd></dl>
</td></tr></table></td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#eeaa77">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Functions</strong></big></font></td></tr>
<tr><td bgcolor="#eeaa77"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><dl><dt><a name="-pattern2graph"><strong>pattern2graph</strong></a>(pattern)</dt><dd><tt>convert&nbsp;pattern&nbsp;to&nbsp;pattern&nbsp;graph</tt></dd></dl>
<dl><dt><a name="-reference2graph"><strong>reference2graph</strong></a>(nlet)</dt><dd><tt>convert&nbsp;nlet&nbsp;to&nbsp;reference&nbsp;graph</tt></dd></dl>
<dl><dt><a name="-solve_3p3d"><strong>solve_3p3d</strong></a>(v1, v2, v3, v4, p1, p2, p3, d14, d24, d34)</dt><dd><tt>returns&nbsp;a&nbsp;list&nbsp;of&nbsp;Configurations&nbsp;of&nbsp;v1,v2,v3&nbsp;such&nbsp;that&nbsp;distance&nbsp;v1-v2=d12&nbsp;etc.<br>
v&lt;x&gt;:&nbsp;name&nbsp;of&nbsp;point&nbsp;variable<br>
p&lt;x&gt;:&nbsp;numeric&nbsp;point&nbsp;position&nbsp;(vector)<br>
d&lt;xy&gt;:&nbsp;numeric&nbsp;distance&nbsp;value<br>
a&lt;xyz&gt;:&nbsp;numeric&nbsp;angle&nbsp;in&nbsp;radians</tt></dd></dl>
<dl><dt><a name="-solve_ada_3D"><strong>solve_ada_3D</strong></a>(a, b, c, a_cab, d_ab, a_abc)</dt><dd><tt>returns&nbsp;a&nbsp;list&nbsp;of&nbsp;Configurations&nbsp;of&nbsp;v1,v2,v3&nbsp;such&nbsp;that&nbsp;distance&nbsp;v1-v2=d12&nbsp;etc.<br>
v&lt;x&gt;:&nbsp;name&nbsp;of&nbsp;point&nbsp;variables<br>
d&lt;xy&gt;:&nbsp;numeric&nbsp;distance&nbsp;values<br>
a&lt;xyz&gt;:&nbsp;numeric&nbsp;angle&nbsp;in&nbsp;radians</tt></dd></dl>
<dl><dt><a name="-solve_add_3D"><strong>solve_add_3D</strong></a>(a, b, c, a_cab, d_ab, d_bc)</dt><dd><tt>returns&nbsp;a&nbsp;list&nbsp;of&nbsp;Configurations&nbsp;of&nbsp;v1,v2,v3&nbsp;such&nbsp;that&nbsp;distance&nbsp;v1-v2=d12&nbsp;etc.<br>
v&lt;x&gt;:&nbsp;name&nbsp;of&nbsp;point&nbsp;variables<br>
d&lt;xy&gt;:&nbsp;numeric&nbsp;distance&nbsp;values<br>
a&lt;xyz&gt;:&nbsp;numeric&nbsp;angle&nbsp;in&nbsp;radians</tt></dd></dl>
<dl><dt><a name="-solve_dad_3D"><strong>solve_dad_3D</strong></a>(v1, v2, v3, d12, a123, d23)</dt><dd><tt>returns&nbsp;a&nbsp;list&nbsp;of&nbsp;Configurations&nbsp;of&nbsp;v1,v2,v3&nbsp;such&nbsp;that&nbsp;distance&nbsp;v1-v2=d12&nbsp;etc.<br>
v&lt;x&gt;:&nbsp;name&nbsp;of&nbsp;point&nbsp;variables<br>
d&lt;xy&gt;:&nbsp;numeric&nbsp;distance&nbsp;values<br>
a&lt;xyz&gt;:&nbsp;numeric&nbsp;angle&nbsp;in&nbsp;radians</tt></dd></dl>
<dl><dt><a name="-solve_ddd_3D"><strong>solve_ddd_3D</strong></a>(v1, v2, v3, d12, d23, d31)</dt><dd><tt>returns&nbsp;a&nbsp;list&nbsp;of&nbsp;Configurations&nbsp;of&nbsp;v1,v2,v3&nbsp;such&nbsp;that&nbsp;distance&nbsp;v1-v2=d12&nbsp;etc.<br>
v&lt;x&gt;:&nbsp;name&nbsp;of&nbsp;point&nbsp;variables<br>
d&lt;xy&gt;:&nbsp;numeric&nbsp;distance&nbsp;values<br>
a&lt;xyz&gt;:&nbsp;numeric&nbsp;angle&nbsp;in&nbsp;radians</tt></dd></dl>
</td></tr></table><p>
<table width="100%" cellspacing=0 cellpadding=2 border=0 summary="section">
<tr bgcolor="#55aa55">
<td colspan=3 valign=bottom>&nbsp;<br>
<font color="#ffffff" face="helvetica, arial"><big><strong>Data</strong></big></font></td></tr>
<tr><td bgcolor="#55aa55"><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</tt></td><td>&nbsp;</td>
<td width="100%"><strong>NegInf</strong> = geosolver.tolerance.NegInf<br>
<strong>PosInf</strong> = geosolver.tolerance.PosInf<br>
<strong>default_tol</strong> = 9.9999999999999995e-07<br>
<strong>diag_selector</strong> = &lt;_sre.SRE_Pattern object at 0xb7ec9b60&gt;<br>
<strong>diag_stream</strong> = &lt;open file '&lt;stdout&gt;', mode 'w' at 0xb7eb3068&gt;</td></tr></table>
</body></html>