|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectilog.views.graphlayout.IlvGraphLayout
ilog.views.graphlayout.uniformlengthedges.IlvUniformLengthEdgesLayout
public class IlvUniformLengthEdgesLayout
The main class for the Uniform Length Edges Layout algorithm.
The Uniform Length Edges Layout algorithm can be used to lay out any type of graph. It often provides a drawing with no, or only a few, edge crossings and with approximately equal-length edges for small- and medium-size graphs having a small number of cycles.
This layout algorithm iteratively searches for a configuration of the graph such that the lengths of the edges are close to a desired value.
Here are sample drawings produced with the Uniform Length Edges Layout algorithm:



Performance hints
Several parameters have an impact on speed. In some extent, the performance can be improved by modifying these parameters.
setPreferredLinksLength(float). The algorithm stops iterating
when the length of all links is close to the specified
"preferredLinksLength" parameter. If the preferred length is very
high while the initial length of the links is small, reducing the
preferred length is an indirect way to reduce the necessary number
of iterations, hence to speed up.IlvGraphLayout.setAllowedTime(long). Reducing the allowed time is a way to
force the completion of the layout quicker. However, the quality
gets of course worst.setAllowedNumberOfIterations(int). Similar as
for IlvGraphLayout.setAllowedTime(long).setRespectNodeSizes(boolean). If disabled, the algorithm is a bit
quicker because it does not try to avoid overlaps between nodes.
This is in particular possible, without quality degradation, when
all the nodes have approximately the same size and have more or less
a square shape. In such cases, specifying a "preferredLinksLength"
high enough usually avoids overlaps even if "respectNodeSizes" is
not enabled.IlvGraphLayout.setAnimate(boolean). For maximum performance, ensure the animation
is not enabled (it is disabled by default). Enabling the animation
is costly for large graphs (requires a grapher update and redraw at each
iteration).setMaxAllowedMovePerIteration(float). This indicates the maximum
distance the algorithm is allowed to move a node at each iteration.
The higher the value, quicker the optimum may be reached, but also the
algorithm may fail to converge (no "crash", just that the quality may
be worst).See the corresponding chapter of the ILOG JViews Graph Layout User's Manual for details on the algorithm, the types of graphs for which this algorithm can be used, the features and limitations, code samples, parameters, and so on.
You can specify a preferred length for the links globally
(setPreferredLinksLength(float) or for specific links
(setPreferredLength(java.lang.Object, float)).
You can request that the real size of the nodes is taken into
account (setRespectNodeSizes(boolean)). This is especially recommended
when the nodes are not square (have a larger or smaller width than height),
or have different sizes. In such a case, the layout quality can be
often further improved by increasing the weight of the node repulsion
force (see setAdditionalNodeRepulsionWeight(float); the default is zero).
While the layout algorithm optionally restricts the region where
the nodes are placed (see setForceFitToLayoutRegion(boolean)),
the layout quality is usually much better if this option is not
used (this is the default behavior).
If this option is not set, the nodes are considered to be points located in the center of the bounding box of the nodes. Using the layout algorithm without setting this option is recommended when the width of the nodes is close to their height and there are no significant size differences among the nodes.
Note that the initial position of the nodes (at the moment you start the layout) is taken into account by the layout algorithm, so you may get different results depending on the initial position.
| Field Summary | |
|---|---|
static int |
NO_RESHAPE_STYLE
No links reshape option. |
static int |
STRAIGHT_LINE_STYLE
Straight-line links shape option. |
| Fields inherited from class ilog.views.graphlayout.IlvGraphLayout |
|---|
INVERSE_VIEW_COORDINATES, MANAGER_COORDINATES, VIEW_COORDINATES |
| Constructor Summary | |
|---|---|
IlvUniformLengthEdgesLayout()
Creates a new instance of the Uniform Length Edges Layout algorithm. |
|
IlvUniformLengthEdgesLayout(IlvUniformLengthEdgesLayout source)
Creates a new layout instance by copying an existing one. |
|
| Method Summary | |
|---|---|
int |
checkAppropriateLink(Object link)
Checks whether the input link is appropriate for this layout. |
IlvGraphLayout |
copy()
Copies the layout instance. |
void |
copyParameters(IlvGraphLayout source)
Copies the parameters from a given layout instance. |
protected IlvGraphLayoutGrapherProperty |
createLayoutGrapherProperty(String name,
boolean withDefaults)
Returns a new instance of IlvUniformLengthEdgesLayoutGrapherProperty
that stores the parameter settings of this layout class. |
protected IlvGraphLayoutLinkProperty |
createLayoutLinkProperty(String name,
IlvGraphic link,
boolean withDefaults)
Returns a new instance of IlvUniformLengthEdgesLayoutLinkProperty
that stores the parameter settings of this layout class for links. |
IlvGraphLayoutReport |
createLayoutReport()
Creates the graph layout report instance. |
void |
detach()
Detaches the graph model from the layout instance. |
float |
getAdditionalNodeRepulsionWeight()
Returns the weight of the additional node repulsion force. |
int |
getAllowedNumberOfIterations()
Returns the maximum number of allowed iterations. |
float |
getConvergenceThreshold()
Returns the threshold value. |
float |
getLinkLengthWeight()
Returns the link length weight. |
int |
getLinkStyle()
Returns the current option for the style of the shape of the links. |
float |
getMaxAllowedMovePerIteration()
Returns the maximum authorized move at each iteration of the layout algorithm. |
IlvGraphicVector |
getMovingNodes()
Returns the vector of nodes being moved by the graph layout algorithm. |
float |
getNodeDistanceThreshold()
Returns the node distance threshold. |
float |
getPreferredLength(Object link)
Returns the preferred length of a link. |
float |
getPreferredLinksLength()
Returns the global preferred length of the links. |
protected void |
init()
Initializes instance variables. |
boolean |
isForceFitToLayoutRegion()
Returns the current choice for the force-fit-to-layout-region parameter. |
protected boolean |
isLayoutOfConnectedComponentsEnabledByDefault()
Overridden version of the method from the superclass that always returns true. |
boolean |
isRespectNodeSizes()
Returns true if the algorithm tries to respect the size of
the nodes. |
protected void |
layout(boolean redraw)
Computes the layout using the Uniform Length Edges Layout algorithm. |
void |
setAdditionalNodeRepulsionWeight(float weight)
Sets the weight of the additional node repulsion force. |
void |
setAllowedNumberOfIterations(int iterations)
Sets the maximum number of iterations of the layout algorithm. |
void |
setConvergenceThreshold(float threshold)
Sets the threshold value for the convergence detection mechanism. |
void |
setForceFitToLayoutRegion(boolean option)
Sets whether the layout algorithm must force the graph drawing to fit the layout region. |
void |
setLinkLengthWeight(float weight)
Sets the link length weight. |
void |
setLinkStyle(int style)
Sets the style of the shape of the links. |
void |
setMaxAllowedMovePerIteration(float maxMove)
Sets the maximum authorized node move at each iteration of the layout algorithm. |
void |
setNodeDistanceThreshold(float threshold)
Sets the node distance threshold. |
void |
setPreferredLength(Object link,
float length)
Sets the preferred length of a link. |
void |
setPreferredLinksLength(float length)
Sets the global preferred length of the links. |
void |
setRespectNodeSizes(boolean respect)
Sets whether the algorithm must try to respect the size of the nodes. |
boolean |
supportsAllowedTime()
Indicates that this layout class can stop the layout computation when the user-defined allowed time is exceeded. |
boolean |
supportsAnimation()
Indicates that this layout class supports the animation mechanism; that is, it performs a redraw of the grapher after each iteration if the method IlvGraphLayout.setAnimate(boolean) is called with a true argument. |
boolean |
supportsLayoutOfConnectedComponents()
Indicates that this layout class can cut the attached graph into connected components, apply itself to each connected component separately, and then use the layout instance returned by the method IlvGraphLayout.getLayoutOfConnectedComponents() to position the connected
components. |
boolean |
supportsLayoutRegion()
Indicates that this layout class can control the size of the graph drawing to fit (approximately) a user-defined region (a rectangle) or a user-defined manager view. |
boolean |
supportsLinkClipping()
Indicates that this layout class can use a link clip interface to clip the end points of a link. |
boolean |
supportsLinkConnectionBox()
Indicates that this layout class can use a link connection box interface to calculate the end points of a link. |
boolean |
supportsPreserveFixedNodes()
Indicates that this layout class allows the user to specify fixed nodes. |
boolean |
supportsSaveParametersToNamedProperties()
Indicates that this layout class can transfer the layout parameters to named properties. |
boolean |
supportsStopImmediately()
Indicates that this layout class can interrupt the current run of the layout immediately in a controlled way. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int STRAIGHT_LINE_STYLE
setLinkStyle(int), the links are given a straight-line shape.
public static final int NO_RESHAPE_STYLE
setLinkStyle(int), the links are not reshaped.
| Constructor Detail |
|---|
public IlvUniformLengthEdgesLayout()
IlvGraphLayout.attach(ilog.views.IlvGrapher).
IlvGraphLayout.attach(IlvGraphModel).
IlvGraphLayout.performLayout().
IlvGraphLayout.attach(ilog.views.IlvGrapher),
IlvGraphLayout.attach(ilog.views.graphlayout.IlvGraphModel),
IlvGraphLayout.performLayout(),
IlvGrapherAdapter.addLayer(ilog.views.IlvManagerLayer),
IlvGrapherAdapter.setFilter(ilog.views.graphlayout.IlvLayoutGraphicFilter)public IlvUniformLengthEdgesLayout(IlvUniformLengthEdgesLayout source)
copy() method.
Any subclass should provide a copy constructor.
The parameters of the source layout are copied using
the method copyParameters(ilog.views.graphlayout.IlvGraphLayout).
source - The layout instance that is copied.copy(),
copyParameters(ilog.views.graphlayout.IlvGraphLayout)| Method Detail |
|---|
protected void init()
You should not call this method directly. The method is called internally by the constructor without arguments and by the copy constructor. The method must be overridden by subclasses that need to initialize additional instance variables.
init in class IlvGraphLayoutpublic IlvGraphLayout copy()
This method copies the layout instance by calling the copy constructor.
When performing a recursive layout of a nested graph,
this method is used by IlvLayoutProvider
to "clone" the layout instance of a parent graph.
Note that the parameters which are specific to a node or a link are not copied. The other parameters, including the layout region specification and the customization interfaces, are also copied. A copy of the layout instance used for laying out the connected components is set on the new instance.
If a method of the type supportsXXX is associated with a
parameter, the parameter is copied only if the corresponding method
returns true.
copy in class IlvGraphLayoutpublic void copyParameters(IlvGraphLayout source)
Note that the parameters which are specific to a node or a link are not copied. The other parameters, including the layout region specification and the customization interfaces, are also copied. A copy of the layout instance used for laying out the connected components is set on this layout instance.
If a method of the type supportsXXX is associated with a
parameter, the parameter is copied only if the corresponding method
returns true.
copyParameters in class IlvGraphLayoutsource - The layout instance from which the parameters are copied.copy()public void detach()
IlvGraphLayout.attach(IlvGraphModel).
The method performs cleaning operations on the graph model.
Note that you must call this method when you no longer need the layout instance. Otherwise, some objects may not be garbage collected.
detach in class IlvGraphLayoutIlvGraphLayout.attach(IlvGraphModel)public IlvGraphLayoutReport createLayoutReport()
IlvUniformLengthEdgesLayoutReport.
createLayoutReport in class IlvGraphLayoutcreateLayoutReport()protected boolean isLayoutOfConnectedComponentsEnabledByDefault()
true.
isLayoutOfConnectedComponentsEnabledByDefault in class IlvGraphLayoutIlvGraphLayout.setLayoutOfConnectedComponentsEnabled(boolean)public final boolean supportsPreserveFixedNodes()
preserveFixedNodes is true.
supportsPreserveFixedNodes in class IlvGraphLayouttrue.IlvGraphLayout.setPreserveFixedNodes(boolean),
IlvGraphLayout.isPreserveFixedNodes()public final boolean supportsLayoutRegion()
setForceFitToLayoutRegion(boolean).
supportsLayoutRegion in class IlvGraphLayouttrue.setForceFitToLayoutRegion(boolean),
IlvGraphLayout.setLayoutRegion(ilog.views.IlvManagerView),
IlvGraphLayout.setLayoutRegion(ilog.views.IlvManagerView, ilog.views.IlvRect),
IlvGraphLayout.setLayoutRegion(ilog.views.IlvRect),
IlvGraphLayout.getSpecLayoutRegion(),
IlvGraphLayout.getCalcLayoutRegion()public final boolean supportsAllowedTime()
IlvGraphLayoutReport.STOPPED_AND_INVALID in this case.
supportsAllowedTime in class IlvGraphLayouttrue.IlvGraphLayout.setAllowedTime(long),
IlvGraphLayout.getAllowedTime(),
IlvGraphLayoutReport.getCode()public final boolean supportsStopImmediately()
IlvGraphLayoutReport.STOPPED_AND_INVALID in this case.
supportsStopImmediately in class IlvGraphLayouttrue.IlvGraphLayout.stopImmediately(),
IlvGraphLayout.isStoppedImmediately(),
IlvGraphLayoutReport.getCode()public final boolean supportsAnimation()
IlvGraphLayout.setAnimate(boolean) is called with a true argument.
supportsAnimation in class IlvGraphLayouttrue.IlvGraphLayout.setAnimate(boolean),
IlvGraphLayout.isAnimate()public final boolean supportsLayoutOfConnectedComponents()
IlvGraphLayout.getLayoutOfConnectedComponents() to position the connected
components. By default, this layout is an instance of
IlvGridLayout that
can be customized as needed.
supportsLayoutOfConnectedComponents in class IlvGraphLayouttrue.IlvGraphLayout.getLayoutOfConnectedComponents(),
IlvGraphLayout.isLayoutOfConnectedComponentsEnabled(),
IlvGraphLayout.performLayout(boolean, boolean)public final boolean supportsLinkConnectionBox()
The connection box interface is used only if link clipping is enabled
by setting a link clip interface, and if the link style is straight
line. In this case, the layout algorithm calculates the virtual center
of the end nodes of each link by the link connection box interface and
obtains the final connection points by clipping with the link clip
interface.
The virtual center is defined as the center of the connection box shifted
by the average of the tangential "top" and "bottom" offsets in the
horizontal direction, and by the average of the tangential "left" and
"right" offsets in the vertical direction.
For instance, if the tangential offset is 20 at the top side and 10 at
all other sides, the average shift offset is (20 + 10)/2 = 15
in the horizontal direction and (10 + 10)/2 = 10 in the
vertical direction; hence, the virtual center is at
connectionBox.center() + (15, 10).
If no link clipping is performed, the layout algorithms does not actively place the end points of links. It relies on the link connectors that are attached to the nodes to find appropriate connection points for the links.
supportsLinkConnectionBox in class IlvGraphLayouttrue.IlvGraphLayout.setLinkConnectionBoxInterface(ilog.views.graphlayout.IlvLinkConnectionBoxInterface),
IlvGraphLayout.setLinkClipInterface(ilog.views.graphlayout.IlvLinkClipInterface),
IlvLinkConnector,
setLinkStyle(int),
supportsLinkClipping()public final boolean supportsLinkClipping()
Link clipping is performed only if the link style is straight line. If no link clip interface is given, the layout algorithm does not actively place the end points of links. It relies on the link connectors that are attached to the nodes to find appropriate connection points for the links.
supportsLinkClipping in class IlvGraphLayouttrue.IlvGraphLayout.setLinkClipInterface(ilog.views.graphlayout.IlvLinkClipInterface),
IlvLinkConnector,
setLinkStyle(int),
supportsLinkConnectionBox()public final boolean supportsSaveParametersToNamedProperties()
.ivl file.
supportsSaveParametersToNamedProperties in class IlvGraphLayouttrue.IlvGrapherAdapter.saveParametersToNamedProperties(IlvGraphLayout, boolean),
IlvGrapherAdapter.loadParametersFromNamedProperties(IlvGraphLayout),
IlvGrapherAdapter.removeParametersFromNamedProperties()
protected void layout(boolean redraw)
throws IlvGraphLayoutException
IlvGraphLayout.performLayout().
Note that this class overrides the createLayoutReport()
and creates an instance of IlvUniformLengthEdgesLayoutReport.
layout in class IlvGraphLayoutredraw - If true, the attached graph model will be asked
to redraw the graph after layout.
When the layout algorithm moves the nodes and reshapes the links, it is
required to pass the value of the redraw argument to the
methods IlvGraphModel.moveNode(java.lang.Object, float, float, boolean) and
IlvGraphModel.reshapeLink(java.lang.Object, ilog.views.IlvPoint, ilog.views.IlvPoint[], int, int, ilog.views.IlvPoint, boolean).
IlvInappropriateLinkException - if the
grapher contains links that cannot be reshaped to a straight line and
the link style is STRAIGHT_LINE_STYLE. (For details, see
IlvInappropriateLinkException.)
IlvGraphLayoutException - If an unusual situation occurs.
WARNING: this method can throw one of the subclasses of
IlvGraphLayoutException. Specifically, it can throw an
IlvInappropriateGraphException. It can also throw an
IlvInappropriateLinkException when inappropriate types
of links and/or link connectors are used in an IlvGrapher.
For details, refer to the documentation of these exception classes.IlvGraphLayout.performLayout(),
createLayoutReport(),
IlvUniformLengthEdgesLayoutReport,
IlvGraphLayout.getCalcLayoutRegion()public final void setConvergenceThreshold(float threshold)
getMaxAllowedMovePerIteration() is smaller
than threshold during several successive iterations.
The default value is 1. The units are in the same coordinate
space as the coordinates and size of the nodes.
Increasing this value may speed up the layout because the iterations
may be stopped earlier. However, this may produce a nonoptimal layout.
Decreasing this value in some cases improves the quality of the
layout but needs more time because more iterations are performed.
Note that if the specified value is too small, the iterations
cannot be stopped until the allowed time or the
allowed number of iterations is reached.
getConvergenceThreshold()public final float getConvergenceThreshold()
setConvergenceThreshold(float)public final void setMaxAllowedMovePerIteration(float maxMove)
5.
Increasing this parameter may speed up the layout, but the algorithm may fail to converge. Decreasing this parameter slows down the layout but in some cases improves the convergence. You should not specify a zero value, because in this case the layout cannot move the nodes at all.
getMaxAllowedMovePerIteration(),
setConvergenceThreshold(float)public final float getMaxAllowedMovePerIteration()
setMaxAllowedMovePerIteration(float),
setConvergenceThreshold(float)public void setForceFitToLayoutRegion(boolean option)
false (which is the default),
the layout algorithm is free to move nodes outside the layout
region. Note that the layout may not be optimal if the size
of the layout region is too small. It is recommended to
avoid forcing the use of a layout region anytime this is possible.
IlvGraphLayout.setLayoutRegion(ilog.views.IlvManagerView),
IlvGraphLayout.setLayoutRegion(ilog.views.IlvManagerView, ilog.views.IlvRect),
IlvGraphLayout.setLayoutRegion(ilog.views.IlvRect),
isForceFitToLayoutRegion(),
IlvGraphLayout.getCalcLayoutRegion()public boolean isForceFitToLayoutRegion()
setForceFitToLayoutRegion(boolean),
IlvGraphLayout.getCalcLayoutRegion()public void setPreferredLinksLength(float length)
The default value is 60.
getPreferredLinksLength(),
setPreferredLength(java.lang.Object, float),
setNodeDistanceThreshold(float)public float getPreferredLinksLength()
setPreferredLinksLength(float),
setPreferredLength(java.lang.Object, float),
setNodeDistanceThreshold(float)
public void setPreferredLength(Object link,
float length)
After having specified a length for a link, you can call the method with a strictly negative value to indicate that the global preferred length must be used again for this link.
By default, no length is specified for the individual links.
getPreferredLength(java.lang.Object),
setPreferredLinksLength(float),
setNodeDistanceThreshold(float)public float getPreferredLength(Object link)
-1 if the length is unspecified (in this case,
the layout uses the global length; see getPreferredLinksLength()).
setPreferredLength(java.lang.Object, float),
setPreferredLinksLength(float),
setNodeDistanceThreshold(float)public void setNodeDistanceThreshold(float threshold)
setAdditionalNodeRepulsionWeight(float))
is applied only for nodes that are not connected by a link and are at a
distance smaller than this threshold.
The default value is 30.
Note that the additional repulsion force is applied only if the
corresponding weight (see setAdditionalNodeRepulsionWeight(float))
is larger than 0. The default weight is 0; therefore, the node distance
threshold has no effect if the weight is not modified.
getNodeDistanceThreshold(),
setPreferredLinksLength(float),
setPreferredLength(java.lang.Object, float)public float getNodeDistanceThreshold()
setNodeDistanceThreshold(float),
setPreferredLinksLength(float),
setPreferredLength(java.lang.Object, float)public void setRespectNodeSizes(boolean respect)
true, the preferred length
parameter is interpreted as a minimum distance between the bounding
boxes of the end nodes. Otherwise, the preferred length parameter is
considered as the center-to-center distance between the end nodes.
isRespectNodeSizes()public boolean isRespectNodeSizes()
true if the algorithm tries to respect the size of
the nodes.
Returns false otherwise.
setRespectNodeSizes(boolean)public void setLinkLengthWeight(float weight)
setPreferredLinksLength(float) and setPreferredLength(java.lang.Object, float)).
The default value is 1. Increasing (or decreasing) this value
increases (or decreases) the priority that is given to the link length
criteria with respect to the minimum distance between nodes
not connected by a link.
getLinkLengthWeight(),
setAdditionalNodeRepulsionWeight(float)public float getLinkLengthWeight()
setLinkLengthWeight(float),
setAdditionalNodeRepulsionWeight(float)public void setAdditionalNodeRepulsionWeight(float weight)
setNodeDistanceThreshold(float)).
The default value is 0.2. Increasing the weight increases
the priority that is given to maintaining the nodes at a distance larger
than the node distance threshold. On the other side, increasing the
weight decreases the ability of the algorithm to reach convergence
quickly.
getAdditionalNodeRepulsionWeight(),
setNodeDistanceThreshold(float),
setLinkLengthWeight(float)public float getAdditionalNodeRepulsionWeight()
setAdditionalNodeRepulsionWeight(float),
setLinkLengthWeight(float)public int getAllowedNumberOfIterations()
setAllowedNumberOfIterations(int)public void setAllowedNumberOfIterations(int iterations)
1000.
getAllowedNumberOfIterations()public void setLinkStyle(int style)
STRAIGHT_LINE_STYLE (the links are given a straight-line shape)
and NO_RESHAPE_STYLE (no reshape is performed on the links).
This feature can be useful if the graph contains links that have
intermediate points and are not straight-line links, for instance,
IlvPolylineLinkImage links with
intermediate points.
The default value is STRAIGHT_LINE_STYLE.
Note that when the graph attached to the layout is of type
IlvGrapher, the effect of the link reshaping depends
on the type of the links and the connectors installed at the node.
For all link styles, we recommend using links of type
IlvPolylineLinkImage and either no link
connector or any link connector except
IlvFreeLinkConnector
Other link or connector types may cause an
IlvInappropriateLinkException
during layout. You can use the method
IlvGraphLayoutUtil.EnsureAppropriateLinks(ilog.views.graphlayout.IlvGraphModel, ilog.views.graphlayout.IlvLayoutProvider)
before layout or when the exception is caught to convert all links and link
connectors to an appropriate type.
getLinkStyle()public int getLinkStyle()
setLinkStyle(int)public int checkAppropriateLink(Object link)
IlvGraphLayout.checkAppropriateLinks().
checkAppropriateLink in class IlvGraphLayoutlink - The link to be checked.
IlvGraphLayout.checkAppropriateLinks()public IlvGraphicVector getMovingNodes()
IlvGrapherAdapter
in order to optimize for speed.
getMovingNodes in class IlvGraphLayout
protected IlvGraphLayoutGrapherProperty createLayoutGrapherProperty(String name,
boolean withDefaults)
IlvUniformLengthEdgesLayoutGrapherProperty
that stores the parameter settings of this layout class.
The method is used by
IlvGrapherAdapter.saveParametersToNamedProperties(IlvGraphLayout, boolean)
to create a named property that contains parameter settings of this layout
instance.
createLayoutGrapherProperty in class IlvGraphLayoutIlvGraphLayoutGrapherProperty,
IlvGrapherAdapter.saveParametersToNamedProperties(IlvGraphLayout, boolean),
IlvGrapherAdapter.loadParametersFromNamedProperties(IlvGraphLayout),
IlvGrapherAdapter.removeParametersFromNamedProperties()
protected IlvGraphLayoutLinkProperty createLayoutLinkProperty(String name,
IlvGraphic link,
boolean withDefaults)
IlvUniformLengthEdgesLayoutLinkProperty
that stores the parameter settings of this layout class for links.
The method is used by
IlvGrapherAdapter.saveParametersToNamedProperties(IlvGraphLayout, boolean)
to create a named property for a link that contains parameter settings
of this layout instance for the input link.
createLayoutLinkProperty in class IlvGraphLayoutIlvGraphLayoutLinkProperty,
IlvGrapherAdapter.saveParametersToNamedProperties(IlvGraphLayout, boolean),
IlvGrapherAdapter.loadParametersFromNamedProperties(IlvGraphLayout),
IlvGrapherAdapter.removeParametersFromNamedProperties()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||