public class IlvAnnealingLabelLayout extends IlvLabelLayout
 This performs a simulated annealing label positioning algorithm. Each
 label is moved according to its label descriptor, such that the
 overlaps among labels, and between labels and obstacles is small. The
 label descriptor defines the area where a label can be placed. For
 instance, to specify an area close to a given point, use the
 IlvAnnealingPointLabelDescriptor (see setLabelDescriptor(Object, IlvAnnealingLabelDescriptor)), or to
 specify an area along a polyline, use the
 IlvAnnealingPolylineLabelDescriptor. 
 
 In the following sample drawings, the labels were placed by the
 Annealing Label Layout algorithm. They show point labeling with the
 IlvAnnealingPointLabelDescriptor to place the labels at
 nodes of a network or at cities of a map. 
 
    
 The following are two sample drawings that show link/line labeling
 with the IlvAnnealingPolylineLabelDescriptor. Many
 options are provided to tailor the placement. In the left drawing, the
 "Start Label", "End Label" and "Center Label" were specified to be at
 the start, end, center, respectively, of the corresponding link. The
 right drawing shows a link with multiple labels. It is possible to
 specify the side of the link where labels are placed. 
 
    Simulated annealing is a quality controlled, randomized iterative heuristic. The labels are placed according to a temperature scheme, and the quality of the placement increases when the temperature decreases. The quality is defined by the amount of overlaps between pairs of labels and between labels and obstacles. The fewer overlaps the higher the quality. Simulated annealing, as randomized algorithm, does not guarantee a placement of the labels without overlaps. However, it produces a quality layout with a high probability. The more iterations the higher the probability of high quality.
See the corresponding chapter of the User's Manual for details on the algorithm, the features and limitations, code samples, and so on.
Note that the initial position of the labels (at the moment you start the layout) does not affect the resulting layout.
INVERSE_VIEW_COORDINATES, MANAGER_COORDINATES, VIEW_COORDINATES| Constructor and Description | 
|---|
| IlvAnnealingLabelLayout()Creates a new instance of the Annealing Layout algorithm. | 
| IlvAnnealingLabelLayout(IlvAnnealingLabelLayout source)Creates a new label layout instance by copying an existing one. | 
| Modifier and Type | Method and Description | 
|---|---|
| void | cleanLabel(IlvLabelingModel labelingModel,
          Object label)Cleans a label. | 
| void | cleanObstacle(IlvLabelingModel labelingModel,
             Object obstacle)Cleans an obstacle. | 
| void | contentsChanged(LabelingModelEvent event)Overridden version of the base class method to allow the layout to
 automatically update the label positions when a related obstacle is
 moved. | 
| IlvLabelLayout | copy()Copies the layout instance. | 
| void | copyParameters(IlvLabelLayout source)Copies the parameters from a given layout instance. | 
| protected IlvLabelLayoutLabelProperty | createLayoutLabelProperty(String name,
                         IlvGraphic label,
                         boolean withDefaults)Returns a new instance of  IlvAnnealingLabelLayoutLabelPropertythat stores the parameter settings of this layout class for labels. | 
| protected IlvLabelLayoutManagerProperty | createLayoutManagerProperty(String name,
                           boolean withDefaults)Returns a new instance of  IlvAnnealingLabelLayoutManagerPropertythat stores the parameter
 settings of this layout class. | 
| void | detach()Detaches the labeling model from the layout instance. | 
| int | getAllowedNumberOfIterations()Returns the maximum allowed number of iterations of the layout
 algorithm. | 
| IlvAutoLayoutHandler | getAutoLayoutHandler()Returns the auto layout handler. | 
| IlvAnnealingLabelDescriptor | getLabelDescriptor(Object label)Returns the descriptor of the label. | 
| IlvAnnealingLabelDescriptorProvider | getLabelDescriptorProvider()Returns the label descriptor provider. | 
| IlvLabelMovementPolicy | getLabelMovementPolicy()Returns the label movement policy used during layout. | 
| double | getLabelOffset()Returns the minimum offset between labels. | 
| Enumeration | getLabelsOfObstacle(Object obstacle)Returns the labels associated with an obstacle. | 
| int | getMaxNumberOfFailIterations()Returns the maximum number of iterations that
 doesn't improve the layout quality before the layout algorithm stops. | 
| double | getMinImprovementPercentageToContinue()Returns the minimum required percentage the layout needs to improve
 over a couple of rounds before the layout algorithm stops. | 
| int | getNumberIterationsForMinImprovement()Returns the number of iterations performed to reach the minimum
 required percentage of layout quality improvement. | 
| double | getObstacleOffset()Returns the global minimum offset between a label and an unrelated
 obstacle. | 
| IlvObstacleOffsetInterface | getObstacleOffsetInterface()Returns the obstacle offset interface used during layout. | 
| protected void | init()Initializes instance variables. | 
| boolean | isAutoUpdate()Returns  trueif the automatic update of labels on
 geometry changes is enabled. | 
| boolean | isUseQuadtree()Returns  trueif the quadtree is enabled. | 
| protected void | layout(boolean redraw)Computes the layout using the Annealing Layout algorithm. | 
| void | refreshAllLabelsOfObstacles()Refreshes all the labels associated with obstacles. | 
| void | refreshLabelsOfObstacle(Object obstacle)Refreshes the labels associated with an obstacle. | 
| void | setAllowedNumberOfIterations(int iterations)Sets the maximum allowed number of iterations of the layout algorithm. | 
| void | setAutoLayoutHandler(IlvAutoLayoutHandler handler)Sets the auto layout handler. | 
| void | setAutoUpdate(boolean flag)Enables the automatic update of labels on geometry changes. | 
| void | setLabelDescriptor(Object label,
                  IlvAnnealingLabelDescriptor descriptor)Sets the descriptor of the label. | 
| void | setLabelDescriptorProvider(IlvAnnealingLabelDescriptorProvider provider)Allows you to install a label descriptor provider. | 
| void | setLabelMovementPolicy(IlvLabelMovementPolicy policy)Allows you to install a label movement policy, that is, an object that
 allows or prohibits a label being moved by the layout algorithm. | 
| void | setLabelOffset(double offset)Sets the minimum offset between the border of neighbored labels. | 
| void | setMaxNumberOfFailIterations(int iterations)Sets the maximum number of iterations that
 doesn't improve the layout quality before the layout algorithm stops. | 
| void | setMinImprovementPercentageToContinue(double percentage)Sets the minimum required percentage the layout needs to improve over
 a couple of rounds before the layout algorithm stops. | 
| void | setNumberIterationsForMinImprovement(int iterations)Sets the number of iterations performed to reach the minimum required
 percentage of layout quality improvement specified by  setMinImprovementPercentageToContinue(double). | 
| void | setObstacleOffset(double offset)Sets the global minimum offset between a label and an unrelated
 obstacle. | 
| void | setObstacleOffsetInterface(IlvObstacleOffsetInterface ifc)Allows you to install an obstacle offset interface, that is, an object
 that allows selecting specific minimum offsets between certain
 label/obstacle pairs. | 
| void | setUseQuadtree(boolean flag)Enables the quadtree. | 
| boolean | supportsAllowedTime()Indicates that this layout class can stop the layout computation when
 the user-defined allowed time is exceeded. | 
| boolean | supportsPercentageComplete()Indicates that this layout class can estimate the percentage of
 completion during the run of layout. | 
| boolean | supportsRandomGenerator()Indicates that this layout class uses randomly-generated numbers that
 can be initialized with a user-defined seed value. | 
| boolean | supportsSaveParametersToNamedProperties()Indicates whether the 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. | 
| void | updateLabelPosition(Object label,
                   boolean redraw)Update the position of the input label when the related obstacle has
 moved. | 
addLabelLayoutEventListener, addLabelLayoutParameterEventListener, attach, attach, callLayoutStepPerformedIfNeeded, cleanLabelingModel, createLayoutReport, getAllowedTime, getCoordinatesMode, getInstanceId, getLabelingModel, getLayoutReport, getManager, getMinBusyTime, getSeedValueForRandomGenerator, increasePercentageComplete, isGeometryUpToDate, isInputCheckEnabled, isLayoutNeeded, isLayoutRunning, isLayoutRunning, isLayoutTimeElapsed, isParametersUpToDate, isStoppedImmediately, isStoppedPrematurely, isStructureUpToDate, isUseDefaultParameters, isUseSeedValueForRandomGenerator, layoutStepPerformed, onParameterChanged, onParameterChanged, performLayout, performLayout, removeLabelLayoutEventListener, removeLabelLayoutParameterEventListener, setAllowedTime, setCoordinatesMode, setGeometryUpToDate, setInputCheckEnabled, setLayoutReport, setLayoutRunning, setManager, setMinBusyTime, setParametersUpToDate, setSeedValueForRandomGenerator, setStructureUpToDate, setUseDefaultParameters, setUseSeedValueForRandomGenerator, stopImmediatelypublic IlvAnnealingLabelLayout()
attach(IlvManager). attach(IlvLabelingModel). performLayout. public IlvAnnealingLabelLayout(IlvAnnealingLabelLayout source)
copy() method.  Any subclass
 should provide a copy constructor. 
 Note that layout parameters which are specific to a label or obstacle are not copied. Global layout parameters are copied.
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 IlvLabelLayoutpublic IlvLabelLayout copy()
This method copies the layout instance by calling the copy constructor.
copy in class IlvLabelLayoutIlvAnnealingLabelLayout(IlvAnnealingLabelLayout), 
copyParameters(IlvLabelLayout)public void copyParameters(IlvLabelLayout source)
Note that layout parameters which are specific to a label or obstacle are not copied. Global layout parameters are copied.
copyParameters in class IlvLabelLayoutsource - The layout instance from which the parameters are copied.copy()public void detach()
 When a new labeling model is attached to the layout instance, it is
 not necessary to detach the previously attached labeling model
 because this is done automatically when the method IlvLabelLayout.attach(IlvLabelingModel) is called. 
 
This method performs cleaning operations on the labeling model. In addition to the cleaning operations in the base class, Annealing Label Layout removes the label descriptors per label.
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 IlvLabelLayoutIlvLabelLayout.attach(IlvLabelingModel), 
setLabelDescriptor(Object, IlvAnnealingLabelDescriptor)public void cleanLabel(IlvLabelingModel labelingModel, Object label)
cleanLabel in class IlvLabelLayoutlabelingModel - The graph model the label belongs tolabel - The label to be cleaneddetach()public void cleanObstacle(IlvLabelingModel labelingModel, Object obstacle)
cleanObstacle in class IlvLabelLayoutlabelingModel - The graph model the obstacle belongs
   toobstacle - The obstacle to be cleaneddetach()public void contentsChanged(LabelingModelEvent event)
 If the auto update is enabled (that is, isAutoUpdate()
 returns  true) the method checks whether an auto layout
 handler is installed. If a handler is installed, it calls IlvAutoLayoutHandler.performAutoLayout(Object, Vector), passing
 this as layout and the vector of changed objects.
 Otherwise it simply calls the method updateLabelPosition(Object, boolean) in order to reposition the
 labels accordingly. 
 
contentsChanged in interface LabelingModelListenercontentsChanged in class IlvLabelLayoutevent - The event indicating the change that has occurred in the
   labeling model.setAutoUpdate(boolean), 
setAutoLayoutHandler(IlvAutoLayoutHandler), 
updateLabelPosition(Object, boolean)public void setAutoLayoutHandler(IlvAutoLayoutHandler handler)
getAutoLayoutHandler(), 
setAutoUpdate(boolean), 
contentsChanged(LabelingModelEvent)public IlvAutoLayoutHandler getAutoLayoutHandler()
setAutoLayoutHandler(IlvAutoLayoutHandler), 
setAutoUpdate(boolean), 
contentsChanged(LabelingModelEvent)public void updateLabelPosition(Object label, boolean redraw)
The normal usage of this method is to install a listener on the related object of the label that gets notified about the object movements. When notified, the listener should call this method to update the label position depending on the new position of the related object.
label - The input label.redraw - The flag indicating if the label must be redraw
   immediately.LabelingModelListener, 
contentsChanged(LabelingModelEvent), 
setAutoUpdate(boolean)protected void layout(boolean redraw)
IlvLabelLayout.performLayout(boolean, boolean).
 
 layout in class IlvLabelLayoutredraw - If true, the attached labeling model will be
   asked to redraw the manager after layout. When the layout algorithm
   moves the labels, it is required to pass the value of the
   redraw argument to the method IlvLabelingModel.moveLabel(Object, double, double, boolean).IlvLabelLayout.performLayout(boolean, boolean)public Enumeration getLabelsOfObstacle(Object obstacle)
obstacle - The input obstacle.IlvAnnealingLabelDescriptor.getRelatedObstacle()public void refreshLabelsOfObstacle(Object obstacle)
getLabelsOfObstacle(Object) returns the correct associated labels.obstacle - The input obstacle.getLabelsOfObstacle(Object), 
refreshAllLabelsOfObstacles()public void refreshAllLabelsOfObstacles()
getLabelsOfObstacle(Object) returns the correct associated labels.getLabelsOfObstacle(Object), 
refreshLabelsOfObstacle(Object)public void setLabelDescriptor(Object label, IlvAnnealingLabelDescriptor descriptor)
 For instance, to specify that a label should move close to an
 IlvGraphic that represents a city on a geographic map,
 use an IlvAnnealingPointLabelDescriptor. In order to
 specify that a label should be placed on a link, use an
 IlvAnnealingLinkLabelDescriptor. 
 
Label descriptors cannot be shared. You have to allocate a different label descriptor for each label.
 There are two possibilities to specify the label descriptor: either
 iterate over the labels and call setLabelDescriptor for
 each label, or specify a label descriptor provider that allocates the
 label descriptors on the fly when needed. 
 
label - The label.descriptor - The label descriptor.setLabelDescriptorProvider(IlvAnnealingLabelDescriptorProvider), 
getLabelDescriptor(Object), 
IlvAnnealingLabelDescriptor, 
IlvAnnealingPointLabelDescriptor, 
IlvAnnealingPolylineLabelDescriptorpublic IlvAnnealingLabelDescriptor getLabelDescriptor(Object label)
label - The label.setLabelDescriptor(Object, IlvAnnealingLabelDescriptor)public final void setLabelDescriptorProvider(IlvAnnealingLabelDescriptorProvider provider)
 For instance, to specify that a label should move close to an
 IlvGraphic that represents a city on a geographic map,
 use an IlvAnnealingPointLabelDescriptor. In order to
 specify that a label should be placed on a link, use an
 IlvAnnealingLinkLabelDescriptor. 
 
Label descriptors cannot be shared. You have to allocate a different label descriptor for each label.
 There are two possibilities to specify the label descriptor: either
 iterate over the labels and call setLabelDescriptor(Object,
 IlvAnnealingLabelDescriptor) for each label, or specify a label
 descriptor provider that allocates the label descriptors on the fly
 when needed. The label descriptor provider is in particular useful if
 your application knows which labels belong to which related obstacle
 through the design of the data structures of labels and obstacles, so
 that there is no need to specify label descriptors in advance. 
 
provider - The label descriptor provider.setLabelDescriptor(Object, IlvAnnealingLabelDescriptor), 
getLabelDescriptorProvider()public final IlvAnnealingLabelDescriptorProvider getLabelDescriptorProvider()
null if
 none is specified.setLabelDescriptorProvider(IlvAnnealingLabelDescriptorProvider)public final void setLabelOffset(double offset)
Very large minimum offsets may slow down the layout considerably.
 The default value is 0. 
 
getLabelOffset()public final double getLabelOffset()
setLabelOffset(double)public final void setObstacleOffset(double offset)
setObstacleOffsetInterface(IlvObstacleOffsetInterface). The minimum
 offset is not used for the related obstacle of the label, if any (see
 IlvAnnealingPointLabelDescriptor.getRelatedObstacle() and
 IlvAnnealingLabelDescriptor.considerObstacle(Object)). 
 Simulated annealing is a quality controlled iterative heuristic. It will not always satisfy the minimum offset, but it will include the minimum offset in the calculation of the quality after each iteration step; hence, the majority of labels will most likely preserve the minimum offset at the end of layout.
 Very large minimum offsets may slow down the layout considerably. It
 is not recommended to set the global obstacle offset to an
 unreasonably high value such as Double.MAX_VALUE,
 because this causes computational problems inside quadtree operations
 (see setUseQuadtree(boolean)).  
 
 The default value is 0. 
 
offset - The offset value to set.getObstacleOffset(), 
setObstacleOffsetInterface(IlvObstacleOffsetInterface)public final double getObstacleOffset()
setObstacleOffset(double)public final void setObstacleOffsetInterface(IlvObstacleOffsetInterface ifc)
setObstacleOffset(double)) specifies globally the
 minimum offset between labels and unrelated obstacles. The obstacle
 offset interface can be used to make this minimum offset smaller for
 specific label/obstacle pairs, hence allowing the label to move
 closer to the corresponding obstacle than specified by the global
 obstacle offset. The obstacle offset is not used for the related
 obstacle of the label, if any (see IlvAnnealingPointLabelDescriptor.getRelatedObstacle() and IlvAnnealingLabelDescriptor.considerObstacle(Object)). 
 
  If an obstacle offset interface is installed, the effective minimum
 offset between a label and an obstacle is the minimum of the value
 provided by getObstacleOffset() and the value provided by
 the obstacle interface. As an example, assume the labels in general
 must be  at least 10 units apart from unrelated obstacles, except for
 a specific label "X" that can move as close as 3 units to specific
 obstacles "A" and "B". You specify this by setting the global
 obstacle offset to 10, and by installing an obstacle offset interface
 that returns 3 for the call getOffset(model, X, A) and
 for the call getOffset(model, X, B), while it returns
 Double.MAX_VALUE for all other combinations of labels
 and obstacles. 
 
The obstacle offset interface cannot be used to make a minimum obstacle offset larger than the global obstacle offset. The global obstacle offset is always the upper limit, that is, if the obstacle offset interface returns larger values than the global obstacle offset, then the global offset is used.
ifc - The obstacle offset interface to set.getObstacleOffsetInterface(), 
IlvObstacleOffsetInterfacepublic final IlvObstacleOffsetInterface getObstacleOffsetInterface()
null if none is specified.setObstacleOffsetInterface(IlvObstacleOffsetInterface)public final void setAllowedNumberOfIterations(int iterations)
Simulated annealing is a quality controlled, randomized iterative heuristic. It does not guarantee a placement of the labels without overlaps. However, the more iterations, the higher the probability that the heuristic ends up with a high quality layout without overlaps.
getAllowedNumberOfIterations()public final int getAllowedNumberOfIterations()
setAllowedNumberOfIterations(int)public final void setMaxNumberOfFailIterations(int iterations)
Simulated annealing is a quality controlled, randomized iterative heuristic. If after the specified number of iterations, the quality did not improve, the algorithm gives up. Hence, setting the maximum number to a high value avoids that the layout algorithm gives up too early, resulting in a better quality of the layout. Setting the maximum number to a low value speeds up the algorithm.
The default value is 20.
getMaxNumberOfFailIterations()public final int getMaxNumberOfFailIterations()
setMaxNumberOfFailIterations(int)public final void setMinImprovementPercentageToContinue(double percentage)
Simulated annealing is a quality controlled, randomized iterative heuristic. If, after the specified number of iterations, the quality did not improve at least by the specified percentage, the algorithm gives up. Hence, setting the percentage to 0 avoids that the layout algorithm gives up too early, resulting in a better quality of the layout. Setting the percentage to a high number speeds up the algorithm. Useful percentage values are between 0 and 5%.
The default value is 0.5%.
 By default, the algorithm performs five iterations to reach at least
 0.5% improvement of the quality. The number of iterations that are
 taken to reach the minimum percentage of improvement can be set by
 setNumberIterationsForMinImprovement(int). 
 
percentage - The minimum improvement value, as a percentage.getMinImprovementPercentageToContinue(), 
setNumberIterationsForMinImprovement(int)public final double getMinImprovementPercentageToContinue()
setMinImprovementPercentageToContinue(double)public final void setNumberIterationsForMinImprovement(int iterations)
setMinImprovementPercentageToContinue(double). 
 Simulated annealing is a quality controlled, randomized iterative heuristic. If, after the specified number of iterations, the quality did not improve at least by the specified percentage, the algorithm gives up. Hence, setting the number of iterations to a high value avoids the layout algorithm giving up too early, resulting in a better quality of the layout. Setting the number of iterations to a small number speeds up the algorithm. Useful values are between 1 and 30.
The default value is 5.
iterations - The number of iterations to reach the minimum 
   improvement.getNumberIterationsForMinImprovement(), 
setMinImprovementPercentageToContinue(double)public final int getNumberIterationsForMinImprovement()
setNumberIterationsForMinImprovement(int)public final void setUseQuadtree(boolean flag)
The quadtree is enabled by default.
public final boolean isUseQuadtree()
true if the quadtree is enabled.setUseQuadtree(boolean)public final void setLabelMovementPolicy(IlvLabelMovementPolicy policy)
 An example of a label movement policy is an application that has its
 own preprocessing phase for the label positions, so that the label
 layout should treat only the remaining labels that the preprocessing
 phase could not handle. For instance, the movement policy could check
 which labels overlap with other labels and obstacles, and then move
 only these overlapping labels, and keep those labels fixed that are
 initially overlap-free. (This particular policy is available by the
 class IlvOverlappingLabelMovementPolicy). 
 
policy - The label movement policy.getLabelMovementPolicy()public final IlvLabelMovementPolicy getLabelMovementPolicy()
null if none is specified.setLabelMovementPolicy(IlvLabelMovementPolicy)public final void setAutoUpdate(boolean flag)
updateLabelPosition(Object,
 boolean) for each label that has a point label descriptor or
 polyline label descriptor with a related obstacle that was moved or
 resized. 
 It is disabled by default.
It is designed to automatically update the labels during interactions. Hence, it is optimized for speed: It does not perform a full layout and does not try to avoid overlaps.
 If the default labeling model is used, the automatic update is not
 always performed on zoom level changes. This may lead to undesired
 results with nonzoomable objects (see IlvGraphic.zoomable()).
 We recommend to use zoomable objects. 
 
public final boolean isAutoUpdate()
true if the automatic update of labels on
 geometry changes is enabled.setAutoUpdate(boolean)public final boolean supportsPercentageComplete()
supportsPercentageComplete in class IlvLabelLayouttrue.IlvLabelLayout.increasePercentageComplete(int), 
IlvLabelLayoutReport.getPercentageComplete()public final boolean supportsRandomGenerator()
useSeedValueForRandomGenerator with a true
 argument.  
 supportsRandomGenerator in class IlvLabelLayouttrue.IlvLabelLayout.setSeedValueForRandomGenerator(long), 
IlvLabelLayout.getSeedValueForRandomGenerator(), 
IlvLabelLayout.setUseSeedValueForRandomGenerator(boolean), 
IlvLabelLayout.isUseSeedValueForRandomGenerator()public final boolean supportsAllowedTime()
IlvLabelLayoutReport.STOPPED_AND_VALID in
 this case, if all labels were moved at least once to a better
 position, and IlvLabelLayoutReport.STOPPED_AND_INVALID
 otherwise. 
 supportsAllowedTime in class IlvLabelLayouttrue.IlvLabelLayout.setAllowedTime(long), 
IlvLabelLayout.getAllowedTime(), 
IlvLabelLayoutReport.getCode()public boolean supportsStopImmediately()
IlvLabelLayoutReport.STOPPED_AND_VALID in this
 case, if all labels were moved at least once to a better position,
 and IlvLabelLayoutReport.STOPPED_AND_INVALID otherwise. 
 supportsStopImmediately in class IlvLabelLayouttrue.IlvLabelLayout.stopImmediately(), 
IlvLabelLayout.isStoppedImmediately(), 
IlvLabelLayoutReport.getCode()public boolean supportsSaveParametersToNamedProperties()
.ivl file. 
 supportsSaveParametersToNamedProperties in class IlvLabelLayouttrue.IlvDefaultLabelingModel.saveParametersToNamedProperties(ilog.views.graphlayout.labellayout.IlvLabelLayout, boolean), 
IlvDefaultLabelingModel.loadParametersFromNamedProperties(ilog.views.graphlayout.labellayout.IlvLabelLayout), 
IlvDefaultLabelingModel.removeParametersFromNamedProperties()protected IlvLabelLayoutManagerProperty createLayoutManagerProperty(String name, boolean withDefaults)
IlvAnnealingLabelLayoutManagerProperty that stores the parameter
 settings of this layout class.    
 
 The method is used by  IlvDefaultLabelingModel.saveParametersToNamedProperties(IlvLabelLayout,
 boolean) to create a named property that contains parameter settings
 of this layout instance. 
 
createLayoutManagerProperty in class IlvLabelLayoutIlvLabelLayoutManagerProperty, 
IlvDefaultLabelingModel.saveParametersToNamedProperties(ilog.views.graphlayout.labellayout.IlvLabelLayout, boolean), 
IlvDefaultLabelingModel.loadParametersFromNamedProperties(ilog.views.graphlayout.labellayout.IlvLabelLayout), 
IlvDefaultLabelingModel.removeParametersFromNamedProperties()protected IlvLabelLayoutLabelProperty createLayoutLabelProperty(String name, IlvGraphic label, boolean withDefaults)
IlvAnnealingLabelLayoutLabelProperty
 that stores the parameter settings of this layout class for labels. 
 
 The method is used by  IlvDefaultLabelingModel.saveParametersToNamedProperties(IlvLabelLayout,
 boolean) to create a named property for a label that contains
 parameter settings of a layout instance for this label.
createLayoutLabelProperty in class IlvLabelLayoutsupportsSaveParametersToNamedProperties(), 
IlvLabelLayoutLabelProperty, 
IlvDefaultLabelingModel.saveParametersToNamedProperties(ilog.views.graphlayout.labellayout.IlvLabelLayout, boolean), 
IlvDefaultLabelingModel.loadParametersFromNamedProperties(ilog.views.graphlayout.labellayout.IlvLabelLayout), 
IlvDefaultLabelingModel.removeParametersFromNamedProperties()© Copyright Rogue Wave Software, Inc. 1997, 2018. All Rights Reserved.