public class IlvTopologicalMeshLayout extends IlvBasicLinkStyleLayout
The Topological Mesh Layout algorithm can be used to lay out cyclic
graphs, both planar and nonplanar. Most of the time, if the graph is
topologically symmetric, TML produces a symmetric drawing. The layout
algorithm places the nodes of a cycle of the graph on a circle and the
remaining nodes inside this circle. The size of the enclosing circle
depends on the layout region settings (see IlvGraphLayout.setLayoutRegion(ilog.views.IlvManagerView)
).
For an optimal layout quality, the layout region needs to be large
enough to have enough place for the nodes.
Sample drawings produced by the Topological Mesh Layout algorithm:
See the corresponding chapter of the 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.
Note that the initial position of the nodes (at the moment you start
the layout) does not affect the resulting layout. However, nodes
specified as fixed are not moved if you call the method setPreserveFixedNodes(boolean)
with a true
argument.
Modifier and Type | Field and Description |
---|---|
static int |
QUICK_BAD
Fast node placement algorithm.
|
static int |
SLOW_GOOD
Slow node placement algorithm.
|
ALL_CORNERS, BOTTOM_LEFT, BOTTOM_RIGHT, CENTERED, CLOCK_WISE, CONNECTED_ONE_BEND_BUNDLE, CONNECTED_RECTANGULAR, CONNECTED_SQUARE, COUNTER_CLOCK_WISE, FREE_ONE_BEND_BUNDLE, FREE_RECTANGULAR, FREE_SQUARE, HORIZONTAL_TO_VERTICAL, INNER, NARROW_CONNECTED_RECTANGULAR, NARROW_CONNECTED_SQUARE, NARROW_FREE_RECTANGULAR, NARROW_FREE_SQUARE, NARROW_STRAIGHT_LINE_BUNDLE, NO_BENDS, NO_BUNDLE, NO_RESHAPE_STYLE, OUTER, STRAIGHT_LINE_BUNDLE, STRAIGHT_LINE_STYLE, TOP_LEFT, TOP_RIGHT, VERTICAL_TO_HORIZONTAL
INVERSE_VIEW_COORDINATES, MANAGER_COORDINATES, VIEW_COORDINATES
Constructor and Description |
---|
IlvTopologicalMeshLayout()
Creates a new instance of the Topological Mesh Layout algorithm.
|
IlvTopologicalMeshLayout(IlvTopologicalMeshLayout source)
Creates a new layout instance by copying an existing one.
|
Modifier and Type | Method and Description |
---|---|
protected void |
beforeLayoutOfSubgraph(IlvGraphModel connectedComponent)
Performs preprocessing operations before the layout of each connected
component.
|
void |
cleanNode(IlvGraphModel graphModel,
Object node)
Cleans a node.
|
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
IlvTopologicalMeshLayoutGrapherProperty that stores the parameter
settings of this layout class. |
protected IlvGraphLayoutNodeProperty |
createLayoutNodeProperty(String name,
IlvGraphic node,
boolean withDefaults)
Returns a new instance of
IlvTopologicalMeshLayoutNodeProperty
that stores the parameter settings of this layout class for nodes. |
IlvGraphLayoutReport |
createLayoutReport()
Creates the graph layout report instance.
|
void |
detach()
Overridden version of the method
detach . |
long |
getAllowedNodesPlacementTime()
Returns the currently allowed time for the node placement step.
|
int |
getAllowedNumberOfNodesPlacementIterations()
Returns the maximum number of allowed node placement iterations.
|
int |
getAllowedNumberOfOptimizationIterations()
Returns the maximum number of allowed iterations.
|
long |
getAllowedOptimizationTime()
Returns the currently allowed time for the topological optimization
step in milliseconds.
|
int |
getExteriorCycleId()
Returns the number of the cycle that will be used as a contour for the
drawing of the graph.
|
Enumeration |
getExteriorNodes()
Returns an enumeration of the nodes that compose the outer cycle.
|
protected int |
getLayoutCodeOnInterrupt()
Returns the layout code when the allowed time elapsed before
completion of the layout.
|
double |
getNodesMoveThreshold()
Returns the threshold value for the node placement algorithm (second
step of the layout algorithm).
|
int |
getNodesPlacementAlgorithm()
Returns the current choice of the node placement algorithm.
|
int |
getNumberOfPossibleExteriorCycles()
Returns the number of cycles that can be used as the contour (the
outer cycle) for the drawing of the graph as determined by the
topological optimization step of the layout algorithm.
|
Object |
getStartingNode()
Returns the current choice for the starting node.
|
protected void |
init()
Initializes instance variables.
|
protected void |
internalLayout(boolean redraw)
Computes the layout using the Topological Mesh Layout algorithm.
|
boolean |
isExteriorNode(Object node)
Returns
true if a node belongs to the outer cycle, and
returns false otherwise. |
protected boolean |
isInterrupted()
Returns
true if the layout is interrupted. |
void |
setAllowedNodesPlacementTime(long time)
Sets the allowed maximum time (in milliseconds) for the topological
optimization step of the layout.
|
void |
setAllowedNumberOfNodesPlacementIterations(int iter)
Sets the maximum number of iterations of the drawing algorithm.
|
void |
setAllowedNumberOfOptimizationIterations(int iter)
Sets the maximum number of iterations of the topological optimization
algorithm.
|
void |
setAllowedOptimizationTime(long time)
Sets the allowed maximum time (in milliseconds) for the topological
optimization step of the layout.
|
void |
setAllowedTime(long time)
Calls the method of the superclass and internally records that a
parameter that can modify the result of the first step of TML (the
topological optimization step) was modified.
|
void |
setExteriorCycleId(int cycleId)
Specifies the index of the cycle to be used as a contour for the
drawing of the graph.
|
void |
setFixed(Object node,
boolean fixed)
Allows you to specify whether
node is a fixed node or
not. |
void |
setNodesMoveThreshold(double threshold)
Sets the convergence criteria of the node placement algorithm (the
second step of the layout algorithm).
|
void |
setNodesPlacementAlgorithm(int option)
Sets the choice of the node placement algorithm (the second step of
the layout algorithm).
|
void |
setPreserveFixedNodes(boolean option)
If the argument is
true , specifies that the layout is not
allowed to move the nodes indicated as fixed by the user. |
void |
setStartingNode(Object node)
Sets the node from which the topological optimization starts.
|
void |
setUseDefaultParameters(boolean option)
If the argument is
true , specifies that the layout use
the default values of all parameters. |
boolean |
supportsAllowedTime()
Indicates that this layout class can stop the layout computation in a
proper manner 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
setAnimate(boolean) is called with a
true argument. |
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 |
supportsMemorySavings()
Indicates that this layout class can perform the layout using two
partially different implementations: one that gives priority to
speed, the other that gives priority to memory usage.
|
boolean |
supportsPercentageComplete()
Indicates that this layout class can not estimate the percentage of
completion during the layout run.
|
boolean |
supportsStopImmediately()
Indicates that this layout class can interrupt the current run of the
layout immediately in a controlled way.
|
checkAppropriateLink, checkAppropriateLinks, getLinkStyle, getMovingNodes, getMultiLinkMaxSpread, getMultiLinkMode, getMultiLinkOffset, getMultiLinksCount, getMultiSelfLinkDistribution, getMultiSelfLinkMaxSpread, getMultiSelfLinkOffset, getPercentagesOfCompletion, getSelfLinkAbsoluteAttachPosition, getSelfLinkAllowedCorners, getSelfLinkMode, getSelfLinkOrientation, getSelfLinkRelativeAttachPosition, getSelfLinksCount, getSelfLinkSpacing, increasePercentageComplete, isConnectLinksToNodeCenters, isSelfLinkConnectToNodeCenter, layout, setConnectLinksToNodeCenters, setLinkStyle, setMultiLinkMaxSpread, setMultiLinkMode, setMultiLinkOffset, setMultiSelfLinkDistribution, setMultiSelfLinkMaxSpread, setMultiSelfLinkOffset, setSelfLinkAbsoluteAttachPosition, setSelfLinkAllowedCorners, setSelfLinkConnectToNodeCenter, setSelfLinkMode, setSelfLinkOrientation, setSelfLinkRelativeAttachPosition, setSelfLinkSpacing, supportsLayoutOfConnectedComponents, supportsLinkClipping, supportsLinkConnectionBox, supportsPreserveFixedLinks, supportsPreserveFixedNodes, supportsSaveParametersToNamedProperties
addGraphLayoutEventListener, addGraphLayoutParameterEventListener, afterLayoutOfSubgraph, attach, attach, beforeLayout, callLayoutStepPerformedIfNeeded, cleanGraphModel, cleanLink, clipAllLinks, clipLink, connectAllLinksToCenter, connectLinkToCenter, contentsChanged, createLayoutLinkProperty, getAllowedTime, getAutoLayoutHandler, getBalanceSplineCurveThreshold, getCalcLayoutRegion, getCoordinatesMode, getGrapher, getGraphModel, getInstanceId, getLayout, getLayoutOfConnectedComponents, getLayoutOfConnectedComponentsReport, getLayoutRegion, getLayoutReport, getLayouts, getLinkClipInterface, getLinkConnectionBoxInterface, getMaxSplineCurveSize, getMinBusyTime, getMinSplineCurveSize, getParentLayout, getProperty, getProperty, getRecursiveLayout, getRemainingAllowedTime, getSeedValueForRandomGenerator, getSpecLayoutRegion, getSplineLinkFilter, isAnimate, isAutoLayout, isFitToView, isFixed, isGeometryUpToDate, isInputCheckEnabled, isLayoutNeeded, isLayoutOfConnectedComponentsEnabled, isLayoutOfConnectedComponentsEnabledByDefault, isLayoutRunning, isLayoutRunning, isLayoutTimeElapsed, isLocalRecursiveLayoutNeeded, isMemorySavings, isParametersUpToDate, isPreserveFixedLinks, isPreserveFixedNodes, isSplineRoutingEnabled, isStoppedImmediately, isStructureUpToDate, isUseDefaultParameters, isUseSeedValueForRandomGenerator, layoutStepPerformed, onParameterChanged, onParameterChanged, performAutoLayout, performLayout, performLayout, performLayout, PerformLayout, performSublayout, removeGraphLayoutEventListener, removeGraphLayoutParameterEventListener, setAnimate, setAutoCheckAppropriateLinksEnabled, setAutoLayout, setAutoLayoutHandler, setBalanceSplineCurveThreshold, setCoordinatesMode, setGeometryUpToDate, setGrapher, setGraphModel, setInputCheckEnabled, setLayoutOfConnectedComponents, setLayoutOfConnectedComponentsEnabled, setLayoutRegion, setLayoutRegion, setLayoutRegion, setLayoutReport, setLayoutRunning, setLinkClipInterface, setLinkConnectionBoxInterface, setMaxSplineCurveSize, setMemorySavings, setMinBusyTime, setMinSplineCurveSize, setParametersUpToDate, setParentLayout, setPreserveFixedLinks, setProperty, setProperty, setSeedValueForRandomGenerator, setSplineLinkFilter, setSplineRoutingEnabled, setStructureUpToDate, setUseSeedValueForRandomGenerator, stopImmediately, supportsRandomGenerator, supportsSplineRouting, unfixAllLinks, unfixAllNodes, useAnimateRedraw
public static final int SLOW_GOOD
setNodesPlacementAlgorithm(int)
, it provides more uniformity of
the node distribution inside the exterior cycle, but is slightly
slower.public static final int QUICK_BAD
setNodesPlacementAlgorithm(int)
, it provides less uniformity of
the node distribution inside the exterior cycle, but is slightly
quicker.public IlvTopologicalMeshLayout()
IlvGraphLayout.attach(IlvGrapher)
. IlvGraphLayout.attach(IlvGraphModel)
.
IlvGraphLayout.performLayout()
.
public IlvTopologicalMeshLayout(IlvTopologicalMeshLayout 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.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 IlvBasicLinkStyleLayout
public 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 link clip and link connection box 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 IlvBasicLinkStyleLayout
copy()
,
copyParameters(ilog.views.graphlayout.IlvGraphLayout)
public 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 IlvBasicLinkStyleLayout
source
- The layout instance from which the parameters are copied.copy()
public void detach()
detach
.detach
in class IlvGraphLayout
detach()
public void cleanNode(IlvGraphModel graphModel, Object node)
cleanNode
in class IlvGraphLayout
graphModel
- The graph model to which the node
belongs.node
- The node to be cleaned.detach()
public final IlvGraphLayoutReport createLayoutReport()
IlvTopologicalMeshLayoutReport
.createLayoutReport
in class IlvGraphLayout
createLayoutReport()
,
IlvTopologicalMeshLayoutReport
public final boolean supportsAnimation()
setAnimate(boolean)
is called with a
true
argument.supportsAnimation
in class IlvGraphLayout
true
.IlvGraphLayout.setAnimate(boolean)
,
IlvGraphLayout.isAnimate()
public final boolean supportsMemorySavings()
IlvGraphLayout.setMemorySavings(boolean)
. supportsMemorySavings
in class IlvGraphLayout
true
.IlvGraphLayout.setMemorySavings(boolean)
,
IlvGraphLayout.isMemorySavings()
public final boolean supportsLayoutRegion()
supportsLayoutRegion
in class IlvGraphLayout
true
.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_VALID
in this case.supportsAllowedTime
in class IlvBasicLinkStyleLayout
true
.setAllowedTime(long)
,
IlvGraphLayout.getAllowedTime()
,
IlvGraphLayoutReport.getCode()
public final boolean supportsStopImmediately()
IlvGraphLayoutReport.STOPPED_AND_VALID
in this
case.supportsStopImmediately
in class IlvBasicLinkStyleLayout
true
.IlvGraphLayout.stopImmediately()
,
IlvGraphLayout.isStoppedImmediately()
public final boolean supportsPercentageComplete()
supportsPercentageComplete
in class IlvBasicLinkStyleLayout
false
.IlvBasicLinkStyleLayout.increasePercentageComplete(int)
,
IlvGraphLayoutReport.getPercentageComplete()
,
IlvJGraphLayoutProgressBar
protected void internalLayout(boolean redraw) throws IlvGraphLayoutException
IlvGraphLayout.performLayout()
. Note that
this class overrides the method createLayoutReport()
and
creates an instance of IlvTopologicalMeshLayoutReport
.internalLayout
in class IlvBasicLinkStyleLayout
IlvInappropriateGraphException
- If no cycle was found in the
connected component of the graph containing the starting node with
respect to the user-defined layers and/or filter, if applicable.
(See setStartingNode(java.lang.Object)
, IlvGrapherAdapter.addLayer(ilog.views.IlvManagerLayer)
and IlvGrapherAdapter.setFilter(ilog.views.graphlayout.IlvLayoutGraphicFilter)
).IlvInappropriateLinkException
- If the grapher contains links
that cannot be reshaped to a straight line and the link style is
IlvBasicLinkStyleLayout.STRAIGHT_LINE_STYLE
. (For details, see IlvInappropriateLinkException
).IlvGraphLayoutException
IlvGraphLayout.performLayout()
,
createLayoutReport()
,
IlvTopologicalMeshLayoutReport
,
IlvGraphLayout.getCalcLayoutRegion()
protected boolean isInterrupted()
true
if the layout is interrupted.isInterrupted
in class IlvBasicLinkStyleLayout
true
if the layout is interrupted.protected int getLayoutCodeOnInterrupt()
getLayoutCodeOnInterrupt
in class IlvBasicLinkStyleLayout
IlvGraphLayoutReport.STOPPED_AND_VALID
supportsAllowedTime()
,
supportsStopImmediately()
public Enumeration getExteriorNodes()
The method returns an empty enumeration if the layout was never performed on the current graph or if at least one exterior node has been removed since the last time the layout was performed.
isExteriorNode(java.lang.Object)
public boolean isExteriorNode(Object node)
true
if a node belongs to the outer cycle, and
returns false
otherwise.RuntimeException
- If there is no attached graph, if the layout
was never performed on the current graph, or if at least one
exterior node has been removed since the last time the layout was
performed.getExteriorNodes()
protected void beforeLayoutOfSubgraph(IlvGraphModel connectedComponent)
beforeLayoutOfSubgraph
in class IlvGraphLayout
connectedComponent
- Subgraph where layout is about to be performed.IlvGraphLayout.performLayout(boolean, boolean, boolean)
,
IlvGraphLayout.afterLayoutOfSubgraph(IlvGraphModel)
public int getNumberOfPossibleExteriorCycles()
The method returns -1
if the layout was never performed
on the current graph or if at least one exterior node has been
removed since the last time the layout was performed.
Note that the method should not be used if the layout of connected components is enabled and after a layout of a disconnected graph.
RuntimeException
setExteriorCycleId(int)
,
getExteriorCycleId()
public void setExteriorCycleId(int cycleId)
This method allows you to obtain different drawings of the graph using the same topological optimization result.
You should use this method only after having performed the layout, that is, after having determined the near-optimal exterior cycles using the topological optimization.
The legal values range from zero to the number of possible exterior cycles minus one. The possible exterior cycles are automatically sorted from the longest to the shortest cycle according to the number of nodes in the cycle.
If the argument is not in this range, the value zero is used, which corresponds to the longest exterior cycle.
Note that the method should not be used if the layout of connected components is enabled and after a layout of a disconnected graph.
public int getExteriorCycleId()
The method returns -1
if the layout was never performed
on the current graph or if at least one exterior node has been
removed since the last time the layout was performed.
Note that the method should not be used if the layout of connected components is enabled and after a layout of a disconnected graph.
RuntimeException
- If the layout was never performed on the
current graph or if at least one exterior node has been removed
since the last time the layout was performed.getNumberOfPossibleExteriorCycles()
,
setExteriorCycleId(int)
public void setUseDefaultParameters(boolean option)
true
, specifies that the layout use
the default values of all parameters.setUseDefaultParameters
in class IlvGraphLayout
IlvGraphLayout.isUseDefaultParameters()
public void setFixed(Object node, boolean fixed)
node
is a fixed node or
not. Fixed nodes are not moved during the layout only if the method
IlvGraphLayout.isPreserveFixedNodes()
returns true
.
An IllegalArgumentException
is thrown if the node does
not belong to the attached grapher.
setFixed
in class IlvGraphLayout
node
- Node or link instance which is part of the graph
model.fixed
- Indicates whether the object should remain fixed or not.setFixed(IlvGraphic, boolean)
.IlvGraphLayout.isFixed(java.lang.Object)
,
IlvBasicLinkStyleLayout.supportsPreserveFixedNodes()
,
setPreserveFixedNodes(boolean)
,
IlvGraphLayout.isPreserveFixedNodes()
,
IlvGraphLayout.unfixAllNodes()
public void setPreserveFixedNodes(boolean option)
true
, specifies that the layout is not
allowed to move the nodes indicated as fixed by the user. If the
argument is false
, the layout is free to move all the
nodes of the grapher. (This will not change the setting for the fixed
nodes, which can still be used at any time in the future.)
The default value is false
.
A RuntimeException
is thrown if the layout class does
not support this option.
public void setNodesPlacementAlgorithm(int option)
SLOW_GOOD
The first node placement algorithm (the default), which provides more
uniformity of the node distribution inside the exterior cycle, but is
slightly slower. QUICK_BAD
The second node placement
algorithm, which provides less uniformity of the node distribution
inside the exterior cycle, but is slightly quicker.getNodesPlacementAlgorithm()
public int getNodesPlacementAlgorithm()
setNodesPlacementAlgorithm(int)
public void setNodesMoveThreshold(double threshold)
threshold
.
The default value is 1
.
The value of the argument is in the same coordinate space as the
nodes and links of the graph. When laying out an IlvGrapher
,
the value is in manager coordinates (without transformation into view
coordinates). If it is necessary to provide a given value in the
coordinate space of a particular IlvManagerView
, the value in
manager coordinates can be computed using the following code:
IlvTransformer t = view.getTransformer(); double zoomFactor = transformer != null ? transformer.zoomFactor() : 1; double managerValue = viewValue / zoomFactor;
getNodesMoveThreshold()
public double getNodesMoveThreshold()
setNodesMoveThreshold(double)
public void setStartingNode(Object node)
If you do not specify a starting node, an arbitrary starting node
belonging to the attached grapher is used. If you specify a starting
node but want to reset this setting and use an arbitrary starting
node, set the starting node to null
.
If you change the starting node, you may obtain different layouts of the same graph.
Note that the starting node must belong to the attached graph.
If there are more than one connected component, it is possible to select a root for each component. If no root is specified, an arbitrary starting node is automatically selected.
setStartingNode(IlvGraphic)
.getStartingNode()
public Object getStartingNode() throws IlvGraphLayoutException
Note that the method should not be used if the layout of connected components is enabled and after a layout of a disconnected graph.
IlvInappropriateGraphException
- If you did not specify a
starting node and the algorithm could not choose a starting node
because no nonzero degree node exists.IlvGraphLayoutException
- If no graph is attached or the
starting node you specified is rejected by the filtering mechanism.
(See IlvGrapherAdapter.setFilter(ilog.views.graphlayout.IlvLayoutGraphicFilter)
).IlvGraphic getStartingNode()
.setStartingNode(java.lang.Object)
public void setAllowedNumberOfOptimizationIterations(int iter)
public int getAllowedNumberOfOptimizationIterations()
public void setAllowedNumberOfNodesPlacementIterations(int iter)
public int getAllowedNumberOfNodesPlacementIterations()
public void setAllowedOptimizationTime(long time)
getAllowedOptimizationTime()
public long getAllowedOptimizationTime()
setAllowedOptimizationTime(long)
public void setAllowedNodesPlacementTime(long time)
getAllowedNodesPlacementTime()
public long getAllowedNodesPlacementTime()
setAllowedNodesPlacementTime(long)
public final void setAllowedTime(long time)
setAllowedTime
in class IlvGraphLayout
time
- The allowed time in milliseconds.IlvGraphLayout.getAllowedTime()
protected IlvGraphLayoutGrapherProperty createLayoutGrapherProperty(String name, boolean withDefaults)
IlvTopologicalMeshLayoutGrapherProperty
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 IlvBasicLinkStyleLayout
IlvGraphLayoutGrapherProperty
,
IlvGrapherAdapter.saveParametersToNamedProperties(IlvGraphLayout, boolean)
,
IlvGrapherAdapter.loadParametersFromNamedProperties(IlvGraphLayout)
,
IlvGrapherAdapter.removeParametersFromNamedProperties()
protected IlvGraphLayoutNodeProperty createLayoutNodeProperty(String name, IlvGraphic node, boolean withDefaults)
IlvTopologicalMeshLayoutNodeProperty
that stores the parameter settings of this layout class for nodes.
The method is used by IlvGrapherAdapter.saveParametersToNamedProperties(IlvGraphLayout,
boolean)
to create a named property for a node that contains
parameter settings of this layout instance for the input node.
createLayoutNodeProperty
in class IlvGraphLayout
IlvGraphLayoutNodeProperty
,
IlvGrapherAdapter.saveParametersToNamedProperties(IlvGraphLayout, boolean)
,
IlvGrapherAdapter.loadParametersFromNamedProperties(IlvGraphLayout)
,
IlvGrapherAdapter.removeParametersFromNamedProperties()
© Copyright 2024 Rogue Wave Software, Inc., a Perforce company.. All Rights Reserved.