<!-- saved from url=(0026)http://www.naturaldocs.org -->
<divid=Content><divclass="CClass"><divclass=CTopicid=MainTopic><h1class=CTitle><aname="mxGeometry"></a>mxGeometry</h1><divclass=CBody><p>Represents the geometry of a cell. For vertices, the geometry consists of the x- and y-location, as well as the width and height. For edges, the edge either defines the source- and target-terminal, or the geometry defines the respective terminal points.</p><!--START_ND_SUMMARY--><divclass=Summary><divclass=STitle>Summary</div><divclass=SBorder><tableborder=0cellspacing=0cellpadding=0class=STable><trclass="SMain"><tdclass=SEntry><ahref="#mxGeometry">mxGeometry</a></td><tdclass=SDescription>Represents the geometry of a cell. </td></tr><trclass="SGroup SIndent1"><tdclass=SEntry><ahref="#mxGeometry.Variables">Variables</a></td><tdclass=SDescription></td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxGeometry.TRANSLATE_CONTROL_POINTS"id=link1onMouseOver="ShowTip(event, 'tt1', 'link1')"onMouseOut="HideTip('tt1')">TRANSLATE_CONTROL_POINTS</a></td><tdclass=SDescription>Global switch to translate the points in translate. </td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxGeometry.alternateBounds"id=link2onMouseOver="ShowTip(event, 'tt2', 'link2')"onMouseOut="HideTip('tt2')">alternateBounds</a></td><tdclass=SDescription>Stores alternate values for x, y, width and height in a rectangle. </td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxGeometry.sourcePoint"id=link3onMouseOver="ShowTip(event, 'tt3', 'link3')"onMouseOut="HideTip('tt3')">sourcePoint</a></td><tdclass=SDescription>Defines the source point of the edge. </td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxGeometry.targetPoint"id=link4onMouseOver="ShowTip(event, 'tt4', 'link4')"onMouseOut="HideTip('tt4')">targetPoint</a></td><tdclass=SDescription>Defines the target point of the edge. </td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxGeometry.points"id=link5onMouseOver="ShowTip(event, 'tt5', 'link5')"onMouseOut="HideTip('tt5')">points</a></td><tdclass=SDescription>Array of <ahref="../util/mxPoint-php.html#mxPoint"class=LClassid=link6onMouseOver="ShowTip(event, 'tt6', 'link6')"onMouseOut="HideTip('tt6')">mxPoints</a> which specifies the control points along the edge. </td></tr><trclass="SVariable SIndent2"><tdclass=SEntry><ahref="#mxGeometry.offset"id=link7onMouseOver="ShowTip(event, 'tt7', 'link7')"onMouseOut="HideTip('tt7')">offset</a></td><tdclass=SDescription>Holds the offset of the label for edges. </td></tr><trclass="SVariable SIndent2 SMarked"><tdclass=SEntry><ahref="#mxGeometry.relative"id=link8onMouseOver="ShowTip(event, 'tt8', 'link8')"onMouseOut="HideTip('tt8')">relative</a></td><tdclass=SDescription>Specifies if the coordinates in the geometry are to be interpreted as relative coordinates. </td></tr><trclass="SGroup SIndent1"><tdclass=SEntry><ahref="#mxGeometry.Functions">Functions</a></td><tdclass=SDescription></td></tr><trclass="SFunction SIndent2 SMarked"><tdclass=SEntry><ahref="#mxGeometry.mxGeometry"id=link9onMouseOver="ShowTip(event, 'tt9', 'link9')"onMouseOut="HideTip('tt9')">mxGeometry</a></td><tdclass=SDescription>Constructs a new object to describe the size and location of a vertex or the control points of an edge.</td></tr><trclass="SFunction SIndent2"><tdclass=SEntry><ahref="#mxGeometry.getTerminalPoint"id=link10onMouseOver="ShowTip(event, 'tt10', 'link10')"onMouseOut="HideTip('tt10')">getTerminalPoint</a></td><tdclass=SDescription>Returns the <ahref="../util/mxPoint-php.html#mxPoint"class=LClassid=link11onMouseOver="ShowTip(event, 'tt6', 'link11')"onMouseOut="HideTip('tt6')">mxPoint</a> representing the source or target point of this edge. </td></tr><trclass="SFunction SIndent2 SMarked"><tdclass=SEntry><ahref="#mxGeometry.setTerminalPoint"id=link12onMouseOver="ShowTip(event, 'tt11', 'link12')"onMouseOut="HideTip('tt11')">setTerminalPoint</a></td><tdclass=SDescription>Sets the <ahref="#mxGeometr
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxGeometry.TRANSLATE_CONTROL_POINTS"></a>TRANSLATE_CONTROL_POINTS</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">public static $TRANSLATE_CONTROL_POINTS</td></tr></table></blockquote><p>Global switch to translate the points in translate. Default is true.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxGeometry.alternateBounds"></a>alternateBounds</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">var $alternateBounds</td></tr></table></blockquote><p>Stores alternate values for x, y, width and height in a rectangle. Default is null.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxGeometry.sourcePoint"></a>sourcePoint</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">var $sourcePoint</td></tr></table></blockquote><p>Defines the source point of the edge. This is used if the corresponding edge does not have a source vertex. Otherwise it is ignored. Default is null.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxGeometry.targetPoint"></a>targetPoint</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">var $targetPoint</td></tr></table></blockquote><p>Defines the target point of the edge. This is used if the corresponding edge does not have a target vertex. Otherwise it is ignored. Default is null.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxGeometry.points"></a>points</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">var $points</td></tr></table></blockquote><p>Array of <ahref="../util/mxPoint-php.html#mxPoint"class=LClassid=link19onMouseOver="ShowTip(event, 'tt6', 'link19')"onMouseOut="HideTip('tt6')">mxPoints</a> which specifies the control points along the edge. These points are the intermediate points on the edge, for the endpoints use <ahref="#mxGeometry.targetPoint"class=LVariableid=link20onMouseOver="ShowTip(event, 'tt4', 'link20')"onMouseOut="HideTip('tt4')">targetPoint</a> and <ahref="#mxGeometry.sourcePoint"class=LVariableid=link21onMouseOver="ShowTip(event, 'tt3', 'link21')"onMouseOut="HideTip('tt3')">sourcePoint</a> or set the terminals of the edge to a non-null value. Default is null.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxGeometry.offset"></a>offset</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">var $offset</td></tr></table></blockquote><p>Holds the offset of the label for edges. This is the absolute vector between the center of the edge and the top, left point of the label. Default is null.</p></div></div></div>
<divclass="CVariable"><divclass=CTopic><h3class=CTitle><aname="mxGeometry.relative"></a>relative</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">var $relative</td></tr></table></blockquote><p>Specifies if the coordinates in the geometry are to be interpreted as relative coordinates. Default is false. This is used to mark a geometry with an x- and y-coordinate that is used to describe an edge label position.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxGeometry.mxGeometry"></a>mxGeometry</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass="PBeforeParameters prettyprint "nowrap>function mxGeometry(</td><tdclass="PParameter prettyprint "nowrap>$x</td><tdclass="PDefaultValuePrefix prettyprint "> = </td><tdclass="PDefaultValue prettyprint "width=100%>0,</td></tr><tr><td></td><tdclass="PParameter prettyprint "nowrap>$y</td><tdclass="PDefaultValuePrefix prettyprint "> = </td><tdclass="PDefaultValue prettyprint "width=100%>0,</td></tr><tr><td></td><tdclass="PParameter prettyprint "nowrap>$width</td><tdclass="PDefaultValuePrefix prettyprint "> = </td><tdclass="PDefaultValue prettyprint "width=100%>0,</td></tr><tr><td></td><tdclass="PParameter prettyprint "nowrap>$height</td><tdclass="PDefaultValuePrefix prettyprint "> = </td><tdclass="PDefaultValue prettyprint "width=100%>0</td><tdclass="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Constructs a new object to describe the size and location of a vertex or the control points of an edge.</p></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxGeometry.getTerminalPoint"></a>getTerminalPoint</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass="PBeforeParameters prettyprint "nowrap>function getTerminalPoint(</td><tdclass="PParameter prettyprint "nowrap>$isSource</td><tdclass="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Returns the <ahref="../util/mxPoint-php.html#mxPoint"class=LClassid=link22onMouseOver="ShowTip(event, 'tt6', 'link22')"onMouseOut="HideTip('tt6')">mxPoint</a> representing the source or target point of this edge. This is only used if the edge has no source or target vertex.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>isSource</td><tdclass=CDLDescription>Boolean that specifies if the source or target point should be returned.</td></tr></table></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxGeometry.setTerminalPoint"></a>setTerminalPoint</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass="PBeforeParameters prettyprint "nowrap>function setTerminalPoint(</td><tdclass="PParameter prettyprint "nowrap>$point,</td></tr><tr><td></td><tdclass="PParameter prettyprint "nowrap>$isSource</td><tdclass="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Sets the <ahref="#mxGeometry.sourcePoint"class=LVariableid=link23onMouseOver="ShowTip(event, 'tt3', 'link23')"onMouseOut="HideTip('tt3')">sourcePoint</a> or <ahref="#mxGeometry.targetPoint"class=LVariableid=link24onMouseOver="ShowTip(event, 'tt4', 'link24')"onMouseOut="HideTip('tt4')">targetPoint</a> to the given <ahref="../util/mxPoint-php.html#mxPoint"class=LClassid=link25onMouseOver="ShowTip(event, 'tt6', 'link25')"onMouseOut="HideTip('tt6')">mxPoint</a> and returns the new point.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>point</td><tdclass=CDLDescription>Point to be used as the new source or target point.</td></tr><tr><tdclass=CDLEntry>isSource</td><tdclass=CDLDescription>Boolean that specifies if the source or target point should be set.</td></tr></table></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxGeometry.translate"></a>translate</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass="PBeforeParameters prettyprint "nowrap>function translate(</td><tdclass="PParameter prettyprint "nowrap>$dx,</td></tr><tr><td></td><tdclass="PParameter prettyprint "nowrap>$dy</td><tdclass="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote><p>Translates the geometry by the specified amount. That is, <x> and <y> of the geometry, the <ahref="#mxGeometry.sourcePoint"class=LVariableid=link26onMouseOver="ShowTip(event, 'tt3', 'link26')"onMouseOut="HideTip('tt3')">sourcePoint</a>, <ahref="#mxGeometry.targetPoint"class=LVariableid=link27onMouseOver="ShowTip(event, 'tt4', 'link27')"onMouseOut="HideTip('tt4')">targetPoint</a> and all elements of <ahref="#mxGeometry.points"class=LVariableid=link28onMouseOver="ShowTip(event, 'tt5', 'link28')"onMouseOut="HideTip('tt5')">points</a> are translated by the given amount. <x> and <y> are only translated if <ahref="#mxGeometry.relative"class=LVariableid=link29onMouseOver="ShowTip(event, 'tt8', 'link29')"onMouseOut="HideTip('tt8')">relative</a> is false. If <ahref="#mxGeometry.TRANSLATE_CONTROL_POINTS"class=LVariableid=link30onMouseOver="ShowTip(event, 'tt1', 'link30')"onMouseOut="HideTip('tt1')">TRANSLATE_CONTROL_POINTS</a> is false, then <ahref="#mxGeometry.points"class=LVariableid=link31onMouseOver="ShowTip(event, 'tt5', 'link31')"onMouseOut="HideTip('tt5')">points</a> are not modified by this function.</p><h4class=CHeading>Parameters</h4><tableborder=0cellspacing=0cellpadding=0class=CDescriptionList><tr><tdclass=CDLEntry>dx</td><tdclass=CDLDescription>Integer that specifies the x-coordinate of the translation.</td></tr><tr><tdclass=CDLEntry>dy</td><tdclass=CDLDescription>Integer that specifies the y-coordinate of the translation.</td></tr></table></div></div></div>
<divclass="CFunction"><divclass=CTopic><h3class=CTitle><aname="mxGeometry.copy"></a>copy</h3><divclass=CBody><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">function copy()</td></tr></table></blockquote><p>Returns a copy of this <ahref="#mxGeometry.mxGeometry"class=LFunctionid=link32onMouseOver="ShowTip(event, 'tt9', 'link32')"onMouseOut="HideTip('tt9')">mxGeometry</a>.</p></div></div></div>
<divclass=CToolTipid="tt1"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">public static $TRANSLATE_CONTROL_POINTS</td></tr></table></blockquote>Global switch to translate the points in translate. </div></div><divclass=CToolTipid="tt2"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">var $alternateBounds</td></tr></table></blockquote>Stores alternate values for x, y, width and height in a rectangle. </div></div><divclass=CToolTipid="tt3"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">var $sourcePoint</td></tr></table></blockquote>Defines the source point of the edge. </div></div><divclass=CToolTipid="tt4"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">var $targetPoint</td></tr></table></blockquote>Defines the target point of the edge. </div></div><divclass=CToolTipid="tt5"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">var $points</td></tr></table></blockquote>Array of mxPoints which specifies the control points along the edge. </div></div><divclass=CToolTipid="tt6"><divclass=CClass>Implements a 2-dimensional point with double precision coordinates.</div></div><divclass=CToolTipid="tt7"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">var $offset</td></tr></table></blockquote>Holds the offset of the label for edges. </div></div><divclass=CToolTipid="tt8"><divclass=CVariable><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><tdclass="prettyprint">var $relative</td></tr></table></blockquote>Specifies if the coordinates in the geometry are to be interpreted as relative coordinates. </div></div><divclass=CToolTipid="tt9"><divclass=CFunction><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass="PBeforeParameters prettyprint "nowrap>function mxGeometry(</td><tdclass="PParameter prettyprint "nowrap>$x</td><tdclass="PDefaultValuePrefix prettyprint "> = </td><tdclass="PDefaultValue prettyprint "width=100%>0,</td></tr><tr><td></td><tdclass="PParameter prettyprint "nowrap>$y</td><tdclass="PDefaultValuePrefix prettyprint "> = </td><tdclass="PDefaultValue prettyprint "width=100%>0,</td></tr><tr><td></td><tdclass="PParameter prettyprint "nowrap>$width</td><tdclass="PDefaultValuePrefix prettyprint "> = </td><tdclass="PDefaultValue prettyprint "width=100%>0,</td></tr><tr><td></td><tdclass="PParameter prettyprint "nowrap>$height</td><tdclass="PDefaultValuePrefix prettyprint "> = </td><tdclass="PDefaultValue prettyprint "width=100%>0</td><tdclass="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Constructs a new object to describe the size and location of a vertex or the control points of an edge.</div></div><divclass=CToolTipid="tt10"><divclass=CFunction><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass="PBeforeParameters prettyprint "nowrap>function getTerminalPoint(</td><tdclass="PParameter prettyprint "nowrap>$isSource</td><tdclass="PAfterParameters prettyprint "nowrap>)</td></tr></table></td></tr></table></blockquote>Returns the mxPoint representing the source or target point of this edge. </div></div><divclass=CToolTipid="tt11"><divclass=CFunction><blockquote><tableborder=0cellspacing=0cellpadding=0class="Prototype"><tr><td><tableborder=0cellspacing=0cellpadding=0><tr><tdclass="PBeforeParameters prettyprint "nowrap>function setTerminalPoint(</td><tdclass="PParameter prettyprint "nowrap>$point,</td></tr><tr><td></td><tdclass="PParam