Files
2013-03-25 21:58:56 -04:00

823 lines
33 KiB
HTML
Executable File

<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Libs.immvcglib</title>
<link rel="stylesheet" href="epydoc.css" type="text/css" />
<script type="text/javascript" src="epydoc.js"></script>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>Immunity Debugger API Reference</th>
</tr></table></th>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
<tr valign="top">
<td width="100%">
<span class="breadcrumbs">
Package&nbsp;Libs ::
Module&nbsp;immvcglib
</span>
</td>
<td>
<table cellpadding="0" cellspacing="0">
<!-- hide/show private -->
<tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
<tr><td align="right"><span class="options"
>[<a href="frames.html" target="_top">frames</a
>]&nbsp;|&nbsp;<a href="Libs.immvcglib-module.html"
target="_top">no&nbsp;frames</a>]</span></td></tr>
</table>
</td>
</tr>
</table>
<!-- ==================== MODULE DESCRIPTION ==================== -->
<h1 class="epydoc">Module immvcglib</h1><p class="nomargin-top"><span class="codelink"><a href="Libs.immvcglib-pysrc.html">source&nbsp;code</a></span></p>
<p>Reads vcg buffer and creates the graph using Immunity Debugger lib</p>
<p>(c) Immunity, Inc. 2004-2007</p>
<p><a href="http://www.immunityinc.com" target="_top">Immunity
Inc.</a></p>
<!-- ==================== CLASSES ==================== -->
<a name="section-Classes"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Classes</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Classes"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="Libs.immvcglib.graphTree-class.html" class="summary-name">graphTree</a>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="Libs.immvcglib.ParseVCGList-class.html" class="summary-name">ParseVCGList</a><br />
recursive VCG parser
</td>
</tr>
</table>
<!-- ==================== FUNCTIONS ==================== -->
<a name="section-Functions"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Functions</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Functions"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="testVCGParse"></a><span class="summary-sig-name">testVCGParse</span>(<span class="summary-sig-arg">path</span>)</span><br />
test our new VCG parsing logic</td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#testVCGParse">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="generateGraphFromBuf"></a><span class="summary-sig-name">generateGraphFromBuf</span>(<span class="summary-sig-arg">buf</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#generateGraphFromBuf">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="generateGraph"></a><span class="summary-sig-name">generateGraph</span>(<span class="summary-sig-arg">address</span>)</span><br />
generates a VCG given a function address</td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#generateGraph">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="adjustStartCoords"></a><span class="summary-sig-name">adjustStartCoords</span>(<span class="summary-sig-arg">vertices</span>,
<span class="summary-sig-arg">G</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#adjustStartCoords">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="createVertexList"></a><span class="summary-sig-name">createVertexList</span>(<span class="summary-sig-arg">nodes</span>,
<span class="summary-sig-arg">handler</span>)</span><br />
iterate vcg file to get vertex list and vertices's buffers</td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#createVertexList">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="finalAttemptToPlace"></a><span class="summary-sig-name">finalAttemptToPlace</span>(<span class="summary-sig-arg">vertices</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#finalAttemptToPlace">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="searchForDummyPathsH2South"></a><span class="summary-sig-name">searchForDummyPathsH2South</span>(<span class="summary-sig-arg">edgelist</span>,
<span class="summary-sig-arg">vertices</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#searchForDummyPathsH2South">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="searchForDummyPathsH2North"></a><span class="summary-sig-name">searchForDummyPathsH2North</span>(<span class="summary-sig-arg">edgelist</span>,
<span class="summary-sig-arg">vertices</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#searchForDummyPathsH2North">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="applyDummyPathsH2SouthTrue"></a><span class="summary-sig-name">applyDummyPathsH2SouthTrue</span>(<span class="summary-sig-arg">vertexlist</span>,
<span class="summary-sig-arg">edgelist</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#applyDummyPathsH2SouthTrue">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="applyDummyPathsH2South"></a><span class="summary-sig-name">applyDummyPathsH2South</span>(<span class="summary-sig-arg">vertexlist</span>,
<span class="summary-sig-arg">edgelist</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#applyDummyPathsH2South">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="applyDummyPathsH2North2"></a><span class="summary-sig-name">applyDummyPathsH2North2</span>(<span class="summary-sig-arg">vertexlist</span>,
<span class="summary-sig-arg">edgelist</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#applyDummyPathsH2North2">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="applyDummyPathsH2North"></a><span class="summary-sig-name">applyDummyPathsH2North</span>(<span class="summary-sig-arg">vertexlist</span>,
<span class="summary-sig-arg">edgelist</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#applyDummyPathsH2North">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="searchForDummyPathsW"></a><span class="summary-sig-name">searchForDummyPathsW</span>(<span class="summary-sig-arg">edgelist</span>,
<span class="summary-sig-arg">vertices</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#searchForDummyPathsW">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="pathFinder"></a><span class="summary-sig-name">pathFinder</span>(<span class="summary-sig-arg">vertices</span>)</span><br />
find edge's path To find an endge path we start joining two vertex
with 3 basic strokes, A -&gt; B -&gt; C after placing each of this
basci strokes we check if it is not overlapping a vertex, if so we
decide a alternate path based on dummy blank points A -&gt; A' -&gt;
A'' -&gt; B -&gt; C where A' (x2,y2) is the original A (x2,y2) so the
next basic stroke B, knows how to keep going</td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#pathFinder">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="addEndPointToEdge"></a><span class="summary-sig-name">addEndPointToEdge</span>(<span class="summary-sig-arg">edgelist</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#addEndPointToEdge">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="drawVertices"></a><span class="summary-sig-name">drawVertices</span>(<span class="summary-sig-arg">vertices</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#drawVertices">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="drawEdges"></a><span class="summary-sig-name">drawEdges</span>(<span class="summary-sig-arg">edgelist</span>,
<span class="summary-sig-arg">handler</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#drawEdges">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="createAdjacencyList"></a><span class="summary-sig-name">createAdjacencyList</span>(<span class="summary-sig-arg">G</span>,
<span class="summary-sig-arg">vertices</span>,
<span class="summary-sig-arg">edges</span>)</span><br />
creates a directed adjacency list for every vertex</td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#createAdjacencyList">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="checkPlanarity"></a><span class="summary-sig-name">checkPlanarity</span>(<span class="summary-sig-arg">vertices</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#checkPlanarity">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="firstAttemptToPlace"></a><span class="summary-sig-name">firstAttemptToPlace</span>(<span class="summary-sig-arg">vertices</span>)</span><br />
First attempt to place vertices We are going to suppose Graph is
planar and attempt to place vertices directly, in real world this
wont happens, but at least we'll have temptative coords for every
vertex</td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#firstAttemptToPlace">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="Libs.immvcglib-module.html#checkForPlacedVertex" class="summary-sig-name">checkForPlacedVertex</a>(<span class="summary-sig-arg">vertex2check</span>,
<span class="summary-sig-arg">vertices</span>)</span><br />
Note: needs to divide graph in layers</td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#checkForPlacedVertex">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a href="Libs.immvcglib-module.html#checkForPlacedVertex2" class="summary-sig-name">checkForPlacedVertex2</a>(<span class="summary-sig-arg">vertex2check</span>,
<span class="summary-sig-arg">vertices</span>)</span><br />
Note: needs to divide graph in layers</td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#checkForPlacedVertex2">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="defineVertexRelation"></a><span class="summary-sig-name">defineVertexRelation</span>(<span class="summary-sig-arg">vertices</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#defineVertexRelation">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="generateVCG"></a><span class="summary-sig-name">generateVCG</span>(<span class="summary-sig-arg">address</span>)</span><br />
this function will generate a vcg compatible buffer to create the
graph</td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#generateVCG">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td><span class="summary-sig"><a name="saveVCG"></a><span class="summary-sig-name">saveVCG</span>(<span class="summary-sig-arg">address</span>,
<span class="summary-sig-arg">filename</span>)</span></td>
<td align="right" valign="top">
<span class="codelink"><a href="Libs.immvcglib-pysrc.html#saveVCG">source&nbsp;code</a></span>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- ==================== VARIABLES ==================== -->
<a name="section-Variables"></a>
<table class="summary" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Variables</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-Variables"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="Libs.immvcglib-module.html#__VERSION__" class="summary-name">__VERSION__</a> = <code title="'1.2'"><code class="variable-quote">'</code><code class="variable-string">1.2</code><code class="variable-quote">'</code></code><br />
NOTES:
need to divide graph in layers
save max layer in graph
every set of childs [unique and different part vertex] E a different layer
save vertex of layer in each layer
mark blank path points in each layer [i preffer path points to dummy vertices]
</td>
</tr>
<tr>
<td width="15%" align="right" valign="top" class="summary">
<span class="summary-type">&nbsp;</span>
</td><td class="summary">
<a href="Libs.immvcglib-module.html#PALETTE" class="summary-name">PALETTE</a> = <code title="['''manhattan_edges: yes\r
''',
'''layoutalgorithm: mindepth\r
''',
'''finetuning: no\r
''',
'''layout_downfactor: 100\r
''',
..."><code class="variable-group">[</code><code class="variable-quote">'</code><code class="variable-string">manhattan_edges: yes\r\n</code><code class="variable-quote">'</code><code class="variable-op">, </code><code class="variable-quote">'</code><code class="variable-string">layoutalgorithm: minde</code><code class="variable-ellipsis">...</code></code>
</td>
</tr>
</table>
<!-- ==================== FUNCTION DETAILS ==================== -->
<a name="section-FunctionDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Function Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-FunctionDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="checkForPlacedVertex"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">checkForPlacedVertex</span>(<span class="sig-arg">vertex2check</span>,
<span class="sig-arg">vertices</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="Libs.immvcglib-pysrc.html#checkForPlacedVertex">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Note: needs to divide graph in layers</p>
<p>Draft notes: step 1 get temptative coords to place vertex step 2 check
if coords overlaps already placed vertex</p>
<p>step 2 a) first we have to check if (y,y2) of vertex is in range of
the placed vertex,</p>
<p>if y &gt;= yp and y &lt;= y2p or y2 &gt;= yp and y2 &lt;= y2p:</p>
<p>if that condition is true, means we have a vertex in the same y that
an already placed vertex, so it might be possible of an overlapping to
exists, so we are going to ask:</p>
<p>if x &gt;= xp and x &lt;= x2p: if that condition is true, then we have
an overlapping over the y coord of the vertex (left point)</p>
<p>if x2 &gt;= xp and x &lt;= x2p: if that condition is true, then we
have an overlapping over the y coord of the vertex (right point)</p>
<p>and if does, check whether x or x2 is overlapping once we know that,
we need to check wheter x or x2 of overlapped vertex is touched if x ,
move west x - 10 and recheck</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<a name="checkForPlacedVertex2"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr valign="top"><td>
<h3 class="epydoc"><span class="sig"><span class="sig-name">checkForPlacedVertex2</span>(<span class="sig-arg">vertex2check</span>,
<span class="sig-arg">vertices</span>)</span>
</h3>
</td><td align="right" valign="top"
><span class="codelink"><a href="Libs.immvcglib-pysrc.html#checkForPlacedVertex2">source&nbsp;code</a></span>&nbsp;
</td>
</tr></table>
<p>Note: needs to divide graph in layers</p>
<p>Draft notes: step 1 get temptative coords to place vertex step 2 check
if coords overlaps already placed vertex</p>
<p>step 2 a) first we have to check if (y,y2) of vertex is in range of
the placed vertex,</p>
<p>if y &gt;= yp and y &lt;= y2p or y2 &gt;= yp and y2 &lt;= y2p:</p>
<p>if that condition is true, means we have a vertex in the same y that
an already placed vertex, so it might be possible of an overlapping to
exists, so we are going to ask:</p>
<p>if x &gt;= xp and x &lt;= x2p: if that condition is true, then we have
an overlapping over the y coord of the vertex (left point)</p>
<p>if x2 &gt;= xp and x &lt;= x2p: if that condition is true, then we
have an overlapping over the y coord of the vertex (right point)</p>
<p>and if does, check whether x or x2 is overlapping once we know that,
we need to check wheter x or x2 of overlapped vertex is touched if x ,
move west x - 10 and recheck</p>
<dl class="fields">
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== VARIABLES DETAILS ==================== -->
<a name="section-VariablesDetails"></a>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
<td colspan="2" class="table-header">
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr valign="top">
<td align="left"><span class="table-header">Variables Details</span></td>
<td align="right" valign="top"
><span class="options">[<a href="#section-VariablesDetails"
class="privatelink" onclick="toggle_private();"
>hide private</a>]</span></td>
</tr>
</table>
</td>
</tr>
</table>
<a name="__VERSION__"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<h3 class="epydoc">__VERSION__</h3>
<pre class="literalblock">
NOTES:
need to divide graph in layers
save max layer in graph
every set of childs [unique and different part vertex] E a different layer
save vertex of layer in each layer
mark blank path points in each layer [i preffer path points to dummy vertices]
for layer in layers:
move east and west vertices, depending on their type *
pathfinder(graph)
search empy spots where edge lines might travel
a cool thing might be mark the whole graph as east-slanted or west-slanted, according the graph
the n east or n west it will move
if the graph is slanting too much to east from center point, we can start thinking on going west
that can be too fuzzy, but will try to make an aproach for human eye
new lib against old lib:
orphan vertices from old lib has been solved, now every vertex has at least 1 relationship saved
parent&lt;-&gt;child type of vertex are correctly relationed now
</pre>
<dl class="fields">
</dl>
<dl class="fields">
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
<code class="variable-quote">'</code><code class="variable-string">1.2</code><code class="variable-quote">'</code>
</pre></td></tr></table>
</dd>
</dl>
</td></tr></table>
</div>
<a name="PALETTE"></a>
<div>
<table class="details" border="1" cellpadding="3"
cellspacing="0" width="100%" bgcolor="white">
<tr><td>
<h3 class="epydoc">PALETTE</h3>
<dl class="fields">
</dl>
<dl class="fields">
<dt>Value:</dt>
<dd><table><tr><td><pre class="variable">
<code class="variable-group">[</code><code class="variable-quote">'''</code><code class="variable-string">manhattan_edges: yes\r</code>
<code class="variable-string"></code><code class="variable-quote">'''</code><code class="variable-op">,</code>
<code class="variable-quote">'''</code><code class="variable-string">layoutalgorithm: mindepth\r</code>
<code class="variable-string"></code><code class="variable-quote">'''</code><code class="variable-op">,</code>
<code class="variable-quote">'''</code><code class="variable-string">finetuning: no\r</code>
<code class="variable-string"></code><code class="variable-quote">'''</code><code class="variable-op">,</code>
<code class="variable-quote">'''</code><code class="variable-string">layout_downfactor: 100\r</code>
<code class="variable-string"></code><code class="variable-quote">'''</code><code class="variable-op">,</code>
<code class="variable-ellipsis">...</code>
</pre></td></tr></table>
</dd>
</dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
bgcolor="#a0c0ff" cellspacing="0">
<tr valign="middle">
<!-- Tree link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Index link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Help link -->
<th>&nbsp;&nbsp;&nbsp;<a
href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
<!-- Project homepage -->
<th class="navbar" align="right" width="100%">
<table border="0" cellpadding="0" cellspacing="0">
<tr><th class="navbar" align="center"
>Immunity Debugger API Reference</th>
</tr></table></th>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
<tr>
<td align="left" class="footer">
Generated by Epydoc 3.0.1 on Thu Sep 11 14:06:32 2008
</td>
<td align="right" class="footer">
<a target="mainFrame" href="http://epydoc.sourceforge.net"
>http://epydoc.sourceforge.net</a>
</td>
</tr>
</table>
<script type="text/javascript">
<!--
// Private objects are initially displayed (because if
// javascript is turned off then we want them to be
// visible); but by default, we want to hide them. So hide
// them unless we have a cookie that says to show them.
checkCookie();
// -->
</script>
</body>
</html>