com.azalient.api.b.network
Interface INode

All Superinterfaces:
IRecord, IUserData, RecordR, RecordRW, RecordW, SortableData, StoreRecordRW

public interface INode
extends IUserData, StoreRecordRW

A Node is a route choice decision point on the road network.

There is a single node at each end of every link.

Each node can have zero or more inward links, and zero or more outward links.

There can be one or more nodes in an intersection. Simple intersections have a single node, more complex intersections have multiple nodes.


Field Summary
 
Fields inherited from interface com.azalient.api.a.tables.IRecord
DELETED, KEY_SEP, KEY_SEP_CHAR
 
Method Summary
 Iterable<ILink> allEntries()
          An iterable interface for all entries, used as
for(ILink link: node.allEntries())
 Iterable<ILink> allExits()
          An iterable interface for all exits from this node, used as
for(ILink link: node.allExits())
 void changeRadius(IXyz xyz, double dr)
          When a roundabout or other arc size is changed, this is called to move the node by the change in teh radius of the arc
 int entries()
          The number of links into this node, including any barred links
 ILink entry(int index)
          The [1..N] link into this node, counted clockwise from north, including any barred links.
 ILink exit(int index)
          The [1..N] link out from this node, counted clockwise from north, including any barred links.
 int exits()
          The number of links out of this node, including any barred links
 boolean externalControl()
          Return true if the signals on this node are controlled by an external controller
 void externalControl(boolean b)
          Set to true if the signals on this node are controlled by an external controller
 NodeForm form()
          The form of the node: priority, signalised, roundabout, etc
 IIntersection intersection()
          The intersection to which this node belongs, can be null.
 void intersection(IIntersection intx)
          Set the intersection to which this node belongs, can be null.
 boolean moved()
          Has the node been moved from its default position
 IXyz position()
          The (x,y,z) position of this node
 
Methods inherited from interface com.azalient.api.a.IUserData
userData, userData, userDataHashCode
 
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

form

NodeForm form()
The form of the node: priority, signalised, roundabout, etc


position

IXyz position()
The (x,y,z) position of this node


intersection

IIntersection intersection()
The intersection to which this node belongs, can be null.


intersection

void intersection(IIntersection intx)
Set the intersection to which this node belongs, can be null.


exits

int exits()
The number of links out of this node, including any barred links


entries

int entries()
The number of links into this node, including any barred links


entry

ILink entry(int index)
The [1..N] link into this node, counted clockwise from north, including any barred links.


exit

ILink exit(int index)
The [1..N] link out from this node, counted clockwise from north, including any barred links.


allEntries

Iterable<ILink> allEntries()
An iterable interface for all entries, used as
for(ILink link: node.allEntries())


allExits

Iterable<ILink> allExits()
An iterable interface for all exits from this node, used as
for(ILink link: node.allExits())


changeRadius

void changeRadius(IXyz xyz,
                  double dr)
When a roundabout or other arc size is changed, this is called to move the node by the change in teh radius of the arc


externalControl

boolean externalControl()
Return true if the signals on this node are controlled by an external controller


externalControl

void externalControl(boolean b)
Set to true if the signals on this node are controlled by an external controller


moved

boolean moved()
Has the node been moved from its default position