com.azalient.api.b.network
Interface ICentre

All Superinterfaces:
IActionable, IAssociate, IDraggable, IRecord, RecordR, RecordRW, RecordW, SortableData, StoreRecordRW

public interface ICentre
extends IAssociate, StoreRecordRW

An ICentre object is used to position the centre of one or more circular arcs. It is used by IBezier objects which are set to be arcs.


Field Summary
 
Fields inherited from interface com.azalient.api.ui.clipboard.IAssociate
scratch, ZERO
 
Fields inherited from interface com.azalient.api.a.tables.IRecord
DELETED, KEY_SEP, KEY_SEP_CHAR
 
Method Summary
 void addAssociate(IAssociate a)
           
 void changeRadius(IXyz p, double d)
          Move point p on a line from p to the centre, by the given change in radius, d.
 IBezier fixBezier()
          If this is non-null, the centre point location is constrained to lie on the perpendicular bisector of the end-points of the Bezier object
 int index()
          Returns the unique index (name) of this centre point
 IXyz p()
          Returns the movable centre point's current location
 double radius()
          Returns the radius associated with this centre point.
 void radius(double r)
          Set the radius for this centre point.
 void removeAssociate(IAssociate a)
           
 
Methods inherited from interface com.azalient.api.ui.clipboard.IAssociate
clip, name, proxy, selected
 
Methods inherited from interface com.azalient.api.ui.clipboard.IDraggable
selected, selectedForDraggingDraw
 
Methods inherited from interface com.azalient.api.ui.clipboard.IActionable
action
 
Methods inherited from interface com.azalient.api.file.StoreRecordRW
canRename, rename, store
 
Methods inherited from interface com.azalient.api.file.RecordR
extraSet, finished, isApplicable, isEditable, set
 
Methods inherited from interface com.azalient.api.a.tables.IRecord
name
 
Methods inherited from interface com.azalient.api.file.RecordW
extraCols, extraGet, extraGetB, extraGetD, extraGetI, extraGetS, extraGetT, get, isVolatile
 

Method Detail

index

int index()
Returns the unique index (name) of this centre point


p

IXyz p()
Returns the movable centre point's current location


fixBezier

IBezier fixBezier()
If this is non-null, the centre point location is constrained to lie on the perpendicular bisector of the end-points of the Bezier object


radius

double radius()
Returns the radius associated with this centre point. All Beziers attached to this centre point use this radius. This allows a single centre point to be used for related arcs, such as roundabouts


radius

void radius(double r)
Set the radius for this centre point.

See Also:
radius()

changeRadius

void changeRadius(IXyz p,
                  double d)
Move point p on a line from p to the centre, by the given change in radius, d. If d is positive this moves p away from the centre point, and towards the centre point if d is negative


addAssociate

void addAssociate(IAssociate a)
Internal - Not recommended for use. Public as a side-effect of implementation method
Add an associate object to this ICentre

removeAssociate

void removeAssociate(IAssociate a)
Internal - Not recommended for use. Public as a side-effect of implementation method
Remove an associate object from this ICentre