<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true"title="class or interface in java.lang">java.lang.Object</A>
<IMGSRC="../../../resources/inherit.gif"ALT="extended by "><B>com.mxgraph.util.mxCurve</B>
</PRE>
<HR>
<DL>
<DT><PRE>public class <B>mxCurve</B><DT>extends <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true"title="class or interface in java.lang">Object</A></DL>
<CODE>static <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A></CODE></FONT></TD>
<CODE>protected <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true"title="class or interface in java.util">Map</A><<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A>,<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Double.html?is-external=true"title="class or interface in java.lang">Double</A>></CODE></FONT></TD>
<CODE> <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true"title="class or interface in java.util">List</A><<AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A>></CODE></FONT></TD>
<CODE>protected <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true"title="class or interface in java.util">Map</A><<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A>,double[]></CODE></FONT></TD>
<CODE>static <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A></CODE></FONT></TD>
<CODE>protected <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true"title="class or interface in java.util">Map</A><<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A>,<AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A>[]></CODE></FONT></TD>
<TD><CODE><B><AHREF="../../../com/mxgraph/util/mxCurve.html#mxCurve(java.util.List)">mxCurve</A></B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true"title="class or interface in java.util">List</A><<AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A>> points)</CODE>
<CODE> <AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A></CODE></FONT></TD>
<TD><CODE><B><AHREF="../../../com/mxgraph/util/mxCurve.html#collisionMove(java.lang.String, com.mxgraph.util.mxRectangle, double)">collisionMove</A></B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index,
<AHREF="../../../com/mxgraph/util/mxRectangle.html"title="class in com.mxgraph.util">mxRectangle</A> rect,
double buffer)</CODE>
<BR>
Returns a point to move the input rectangle to, in order to
attempt to place the rectangle away from the curve.</TD>
<TD><CODE><B><AHREF="../../../com/mxgraph/util/mxCurve.html#getCurveLength(java.lang.String)">getCurveLength</A></B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index)</CODE>
<CODE> <AHREF="../../../com/mxgraph/util/mxLine.html"title="class in com.mxgraph.util">mxLine</A></CODE></FONT></TD>
<TD><CODE><B><AHREF="../../../com/mxgraph/util/mxCurve.html#getCurveParallel(java.lang.String, double)">getCurveParallel</A></B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index,
double distance)</CODE>
<BR>
Returns a unit vector parallel to the curve at the specified
<CODE> <AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A>[]</CODE></FONT></TD>
<TD><CODE><B><AHREF="../../../com/mxgraph/util/mxCurve.html#getCurvePoints(java.lang.String)">getCurvePoints</A></B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index)</CODE>
<BR>
Obtains the points that make up the curve for the specified
<CODE> <AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A>[]</CODE></FONT></TD>
<TD><CODE><B><AHREF="../../../com/mxgraph/util/mxCurve.html#getCurveSection(java.lang.String, double, double)">getCurveSection</A></B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index,
double start,
double end)</CODE>
<BR>
Returns a section of the curve as an array of points</TD>
<CODE> <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true"title="class or interface in java.util">List</A><<AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A>></CODE></FONT></TD>
<TD><CODE><B><AHREF="../../../com/mxgraph/util/mxCurve.html#getIntervals(java.lang.String)">getIntervals</A></B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index)</CODE>
<TD><CODE><B><AHREF="../../../com/mxgraph/util/mxCurve.html#getLowerIndexOfSegment(java.lang.String, double)">getLowerIndexOfSegment</A></B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index,
double distance)</CODE>
<BR>
Calculates the index of the lower point on the segment
that contains the point <i>distance</i> along the</TD>
<CODE> <AHREF="../../../com/mxgraph/util/mxRectangle.html"title="class in com.mxgraph.util">mxRectangle</A></CODE></FONT></TD>
<TD><CODE><B><AHREF="../../../com/mxgraph/util/mxCurve.html#getRelativeFromAbsPoint(com.mxgraph.util.mxPoint, java.lang.String)">getRelativeFromAbsPoint</A></B>(<AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A> absPoint,
<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index)</CODE>
<BR>
Calculates the position of an absolute in terms relative
<CODE>protected <AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A></CODE></FONT></TD>
<TD><CODE><B><AHREF="../../../com/mxgraph/util/mxCurve.html#intersectRectPerimeterPoint(java.lang.String, com.mxgraph.util.mxRectangle, int)">intersectRectPerimeterPoint</A></B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> curveIndex,
<AHREF="../../../com/mxgraph/util/mxRectangle.html"title="class in com.mxgraph.util">mxRectangle</A> rect,
int indexSeg)</CODE>
<BR>
Returns the point at which this curve segment intersects the boundary
<TD><CODE><B><AHREF="../../../com/mxgraph/util/mxCurve.html#intersectRectPerimeterSeg(java.lang.String, com.mxgraph.util.mxRectangle)">intersectRectPerimeterSeg</A></B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index,
<AHREF="../../../com/mxgraph/util/mxRectangle.html"title="class in com.mxgraph.util">mxRectangle</A> rect)</CODE>
<BR>
Utility method to determine within which segment the specified rectangle
<TD><CODE><B><AHREF="../../../com/mxgraph/util/mxCurve.html#intersectRectPerimeterSeg(java.lang.String, com.mxgraph.util.mxRectangle, int)">intersectRectPerimeterSeg</A></B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index,
<AHREF="../../../com/mxgraph/util/mxRectangle.html"title="class in com.mxgraph.util">mxRectangle</A> rect,
int startSegment)</CODE>
<BR>
Utility method to determine within which segment the specified rectangle
<TD><CODE><B><AHREF="../../../com/mxgraph/util/mxCurve.html#intersectsRect(java.awt.Rectangle)">intersectsRect</A></B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/awt/Rectangle.html?is-external=true"title="class or interface in java.awt">Rectangle</A> rect)</CODE>
<BR>
Returns whether or not the rectangle passed in hits any part of this
<CODE> <AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A></CODE></FONT></TD>
<TD><CODE><B><AHREF="../../../com/mxgraph/util/mxCurve.html#intersectsRectPerimeter(java.lang.String, com.mxgraph.util.mxRectangle)">intersectsRectPerimeter</A></B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index,
<AHREF="../../../com/mxgraph/util/mxRectangle.html"title="class in com.mxgraph.util">mxRectangle</A> rect)</CODE>
<BR>
Returns the point at which this curve intersects the boundary of
<TD><CODE><B><AHREF="../../../com/mxgraph/util/mxCurve.html#intersectsRectPerimeterDist(java.lang.String, com.mxgraph.util.mxRectangle)">intersectsRectPerimeterDist</A></B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index,
<AHREF="../../../com/mxgraph/util/mxRectangle.html"title="class in com.mxgraph.util">mxRectangle</A> rect)</CODE>
<BR>
Returns the distance from the start of the curve at which this
curve intersects the boundary of the given rectangle, if it does
<TD><CODE><B><AHREF="../../../com/mxgraph/util/mxCurve.html#populateIntervals(java.lang.String)">populateIntervals</A></B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index)</CODE>
<TD><CODE><B><AHREF="../../../com/mxgraph/util/mxCurve.html#updateCurve(java.util.List)">updateCurve</A></B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true"title="class or interface in java.util">List</A><<AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A>> newPoints)</CODE>
<BR>
Updates the existing curve using the points passed in.</TD>
<THALIGN="left"><B>Methods inherited from class java.lang.<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true"title="class or interface in java.lang">Object</A></B></TH>
</TR>
<TRBGCOLOR="white"CLASS="TableRowColor">
<TD><CODE><AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#clone()"title="class or interface in java.lang">clone</A>, <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)"title="class or interface in java.lang">equals</A>, <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#finalize()"title="class or interface in java.lang">finalize</A>, <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#getClass()"title="class or interface in java.lang">getClass</A>, <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#hashCode()"title="class or interface in java.lang">hashCode</A>, <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notify()"title="class or interface in java.lang">notify</A>, <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#notifyAll()"title="class or interface in java.lang">notifyAll</A>, <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#toString()"title="class or interface in java.lang">toString</A>, <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait()"title="class or interface in java.lang">wait</A>, <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long)"title="class or interface in java.lang">wait</A>, <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Object.html?is-external=true#wait(long, int)"title="class or interface in java.lang">wait</A></CODE></TD>
protected <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true"title="class or interface in java.util">Map</A><<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A>,<AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A>[]><B>points</B></PRE>
<DL>
<DD>A collection of arrays of curve points
<P>
<DL>
</DL>
</DL>
<HR>
<ANAME="minXBounds"><!----></A><H3>
minXBounds</H3>
<PRE>
protected double <B>minXBounds</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<ANAME="maxXBounds"><!----></A><H3>
maxXBounds</H3>
<PRE>
protected double <B>maxXBounds</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<ANAME="minYBounds"><!----></A><H3>
minYBounds</H3>
<PRE>
protected double <B>minYBounds</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<ANAME="maxYBounds"><!----></A><H3>
maxYBounds</H3>
<PRE>
protected double <B>maxYBounds</B></PRE>
<DL>
<DL>
</DL>
</DL>
<HR>
<ANAME="intervals"><!----></A><H3>
intervals</H3>
<PRE>
protected <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true"title="class or interface in java.util">Map</A><<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A>,double[]><B>intervals</B></PRE>
<DL>
<DD>An array of arrays of intervals. These intervals define the distance
along the edge (0 to 1) that each point lies
<P>
<DL>
</DL>
</DL>
<HR>
<ANAME="curveLengths"><!----></A><H3>
curveLengths</H3>
<PRE>
protected <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/Map.html?is-external=true"title="class or interface in java.util">Map</A><<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A>,<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/Double.html?is-external=true"title="class or interface in java.lang">Double</A>><B>curveLengths</B></PRE>
<DL>
<DD>The curve lengths of the curves
<P>
<DL>
</DL>
</DL>
<HR>
<ANAME="CORE_CURVE"><!----></A><H3>
CORE_CURVE</H3>
<PRE>
public static <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A><B>CORE_CURVE</B></PRE>
<DL>
<DD>Defines the key for the central curve index
<P>
<DL>
</DL>
</DL>
<HR>
<ANAME="LABEL_CURVE"><!----></A><H3>
LABEL_CURVE</H3>
<PRE>
public static <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A><B>LABEL_CURVE</B></PRE>
<DL>
<DD>Defines the key for the label curve index
<P>
<DL>
</DL>
</DL>
<HR>
<ANAME="INVALID_POSITION"><!----></A><H3>
INVALID_POSITION</H3>
<PRE>
public static <AHREF="../../../com/mxgraph/util/mxLine.html"title="class in com.mxgraph.util">mxLine</A><B>INVALID_POSITION</B></PRE>
<DL>
<DD>Indicates that an invalid position on a curve was requested
<P>
<DL>
</DL>
</DL>
<HR>
<ANAME="labelBuffer"><!----></A><H3>
labelBuffer</H3>
<PRE>
protected double <B>labelBuffer</B></PRE>
<DL>
<DD>Offset of the label curve from the curve the label curve is based on.
If you wish to set this value, do so directly after creation of the curve.
The first time the curve is used the label curve will be created with
whatever value is contained in this variable. Changes to it after that point
will have no effect.
<P>
<DL>
</DL>
</DL>
<HR>
<ANAME="guidePoints"><!----></A><H3>
guidePoints</H3>
<PRE>
public <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true"title="class or interface in java.util">List</A><<AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A>><B>guidePoints</B></PRE>
<DL>
<DD>The points this curve is drawn through. These are typically control
points and are at distances from each other that straight lines
between them do not describe a smooth curve. This class takes
these guiding points and creates a finer set of internal points
that visually appears to be a curve when linked by straight lines
<P>
<DL>
</DL>
</DL>
<HR>
<ANAME="valid"><!----></A><H3>
valid</H3>
<PRE>
protected boolean <B>valid</B></PRE>
<DL>
<DD>Whether or not the curve currently holds valid values
public <B>mxCurve</B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true"title="class or interface in java.util">List</A><<AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A>> points)</PRE>
protected int <B>getLowerIndexOfSegment</B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index,
double distance)</PRE>
<DL>
<DD>Calculates the index of the lower point on the segment
public <AHREF="../../../com/mxgraph/util/mxLine.html"title="class in com.mxgraph.util">mxLine</A><B>getCurveParallel</B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index,
double distance)</PRE>
<DL>
<DD>Returns a unit vector parallel to the curve at the specified
distance along the curve. To obtain the angle the vector makes
with (1,0) perform Math.atan(segVectorY/segVectorX).
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the curve index specifying the curve to analyse<DD><CODE>distance</CODE> - the distance from start to end of curve (0.0...1.0)
<DT><B>Returns:</B><DD>a unit vector at the specified point on the curve represented
as a line, parallel with the curve. If the distance or curve is
invalid, <code>mxCurve.INVALID_POSITION</code> is returned</DL>
public <AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A>[] <B>getCurveSection</B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index,
double start,
double end)</PRE>
<DL>
<DD>Returns a section of the curve as an array of points
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the curve index specifying the curve to analyse<DD><CODE>start</CODE> - the start position of the curve segment (0.0...1.0)<DD><CODE>end</CODE> - the end position of the curve segment (0.0...1.0)
<DT><B>Returns:</B><DD>a sequence of point representing the curve section or null
public boolean <B>intersectsRect</B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/awt/Rectangle.html?is-external=true"title="class or interface in java.awt">Rectangle</A> rect)</PRE>
<DL>
<DD>Returns whether or not the rectangle passed in hits any part of this
curve.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>rect</CODE> - the rectangle to detect for a hit
<DT><B>Returns:</B><DD>whether or not the rectangle hits this curve</DL>
public <AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A><B>intersectsRectPerimeter</B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index,
<AHREF="../../../com/mxgraph/util/mxRectangle.html"title="class in com.mxgraph.util">mxRectangle</A> rect)</PRE>
<DL>
<DD>Returns the point at which this curve intersects the boundary of
the given rectangle, if it does so. If it does not intersect,
null is returned. If it intersects multiple times, the first
intersection from the start end of the curve is returned.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the curve index specifying the curve to analyse<DD><CODE>rect</CODE> - the whose boundary is to be tested for intersection
with this curve
<DT><B>Returns:</B><DD>the point at which this curve intersects the boundary of
the given rectangle, if it does so. If it does not intersect,
public double <B>intersectsRectPerimeterDist</B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index,
<AHREF="../../../com/mxgraph/util/mxRectangle.html"title="class in com.mxgraph.util">mxRectangle</A> rect)</PRE>
<DL>
<DD>Returns the distance from the start of the curve at which this
curve intersects the boundary of the given rectangle, if it does
so. If it does not intersect, -1 is returned.
If it intersects multiple times, the first intersection from
the start end of the curve is returned.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the curve index specifying the curve to analyse<DD><CODE>rect</CODE> - the whose boundary is to be tested for intersection
with this curve
<DT><B>Returns:</B><DD>the distance along the curve from the start at which
public <AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A><B>collisionMove</B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index,
<AHREF="../../../com/mxgraph/util/mxRectangle.html"title="class in com.mxgraph.util">mxRectangle</A> rect,
double buffer)</PRE>
<DL>
<DD>Returns a point to move the input rectangle to, in order to
attempt to place the rectangle away from the curve. NOTE: Curves
are scaled, the input rectangle should be also.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the curve index specifying the curve to analyse<DD><CODE>rect</CODE> - the rectangle that is to be moved<DD><CODE>buffer</CODE> - the amount by which the rectangle is to be moved,
beyond the dimensions of the rect
<DT><B>Returns:</B><DD>the point to move the top left of the input rect to
, otherwise null if no point can be determined</DL>
protected int <B>intersectRectPerimeterSeg</B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index,
<AHREF="../../../com/mxgraph/util/mxRectangle.html"title="class in com.mxgraph.util">mxRectangle</A> rect)</PRE>
<DL>
<DD>Utility method to determine within which segment the specified rectangle
intersects the specified curve
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the curve index specifying the curve to analyse<DD><CODE>rect</CODE> - the whose boundary is to be tested for intersection
with this curve
<DT><B>Returns:</B><DD>the point at which this curve intersects the boundary of
the given rectangle, if it does so. If it does not intersect,
protected int <B>intersectRectPerimeterSeg</B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index,
<AHREF="../../../com/mxgraph/util/mxRectangle.html"title="class in com.mxgraph.util">mxRectangle</A> rect,
int startSegment)</PRE>
<DL>
<DD>Utility method to determine within which segment the specified rectangle
intersects the specified curve. This method specifies which segment to
start searching at.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the curve index specifying the curve to analyse<DD><CODE>rect</CODE> - the whose boundary is to be tested for intersection
with this curve<DD><CODE>startSegment</CODE> - the segment to start searching at. To start at the
beginning of the curve, use 1, not 0.
<DT><B>Returns:</B><DD>the point at which this curve intersects the boundary of
the given rectangle, if it does so. If it does not intersect,
protected <AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A><B>intersectRectPerimeterPoint</B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> curveIndex,
<AHREF="../../../com/mxgraph/util/mxRectangle.html"title="class in com.mxgraph.util">mxRectangle</A> rect,
int indexSeg)</PRE>
<DL>
<DD>Returns the point at which this curve segment intersects the boundary
of the given rectangle, if it does so. If it does not intersect,
null is returned.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>curveIndex</CODE> - the curve index specifying the curve to analyse<DD><CODE>rect</CODE> - the whose boundary is to be tested for intersection
with this curve<DD><CODE>indexSeg</CODE> - the segments on this curve being checked
<DT><B>Returns:</B><DD>the point at which this curve segment intersects the boundary
of the given rectangle, if it does so. If it does not intersect,
public <AHREF="../../../com/mxgraph/util/mxRectangle.html"title="class in com.mxgraph.util">mxRectangle</A><B>getRelativeFromAbsPoint</B>(<AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A> absPoint,
<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index)</PRE>
<DL>
<DD>Calculates the position of an absolute in terms relative
to this curve.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>absPoint</CODE> - the point whose relative point is to calculated<DD><CODE>index</CODE> - the index of the curve whom the relative position is to be
calculated from
<DT><B>Returns:</B><DD>an mxRectangle where the x is the distance along the curve
(0 to 1), y is the orthogonal offset from the closest segment on the
curve and (width, height) is an additional Cartesian offset applied
after the other calculations</DL>
</DD>
</DL>
<HR>
<ANAME="createCoreCurve()"><!----></A><H3>
createCoreCurve</H3>
<PRE>
protected void <B>createCoreCurve</B>()</PRE>
<DL>
<DD>Creates the core curve that is based on the guide points passed into
this class instance
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<ANAME="isLabelReversed()"><!----></A><H3>
isLabelReversed</H3>
<PRE>
public boolean <B>isLabelReversed</B>()</PRE>
<DL>
<DD>Whether or not the label curve starts from the end target
and traces to the start of the branch
<P>
<DD><DL>
<DT><B>Returns:</B><DD>whether the label curve is reversed</DL>
</DD>
</DL>
<HR>
<ANAME="createLabelCurve()"><!----></A><H3>
createLabelCurve</H3>
<PRE>
protected void <B>createLabelCurve</B>()</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<ANAME="getBaseLabelCurve()"><!----></A><H3>
getBaseLabelCurve</H3>
<PRE>
protected <AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A>[] <B>getBaseLabelCurve</B>()</PRE>
<DL>
<DD>Returns the curve the label curve is too be based on
protected void <B>populateIntervals</B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index)</PRE>
public void <B>updateCurve</B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true"title="class or interface in java.util">List</A><<AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A>> newPoints)</PRE>
<DL>
<DD>Updates the existing curve using the points passed in.
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>newPoints</CODE> - the new guide points</DL>
public <AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A>[] <B>getCurvePoints</B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index)</PRE>
<DL>
<DD>Obtains the points that make up the curve for the specified
curve index. If that curve, or the core curve that other curves
are based on have not yet been created, then they are lazily
created. If creation is impossible, null is returned
<P>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>index</CODE> - the key specifying the curve
<DT><B>Returns:</B><DD>the points making up that curve, or null</DL>
public double[] <B>getIntervals</B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index)</PRE>
public double <B>getCurveLength</B>(<AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/lang/String.html?is-external=true"title="class or interface in java.lang">String</A> index)</PRE>
<DL>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<ANAME="validateCurve()"><!----></A><H3>
validateCurve</H3>
<PRE>
protected boolean <B>validateCurve</B>()</PRE>
<DL>
<DD>Method must be called before any attempt to access curve information
<P>
<DD><DL>
<DT><B>Returns:</B><DD>whether or not the curve may be used</DL>
<DD>Updates the total bounds of this curve, increasing any dimensions,
if necessary, to fit in the specified point
<P>
<DD><DL>
</DL>
</DD>
</DL>
<HR>
<ANAME="getGuidePoints()"><!----></A><H3>
getGuidePoints</H3>
<PRE>
public <AHREF="http://download.oracle.com/javase/1.5.0/docs/api/java/util/List.html?is-external=true"title="class or interface in java.util">List</A><<AHREF="../../../com/mxgraph/util/mxPoint.html"title="class in com.mxgraph.util">mxPoint</A>><B>getGuidePoints</B>()</PRE>