|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjmri.jmrit.display.layoutEditor.LayoutTurnout
public class LayoutTurnout
A LayoutTurnout corresponds to a turnout on the layout. A LayoutTurnout is an extension of the standard Turnout object with drawing and connectivity information added.
Six types are supported: right-hand, left-hand, wye, double crossover, right-handed single crossover, and left-handed single crossover. Note that double-slip turnouts can be handled as two turnouts, throat to throat, and three-way turnouts can be handles as two turnouts, left-hand and right-hand, arranged throat to continuing route.
A LayoutTurnout has three or four connection points, designated A, B, C, and D. For right-handed or left-handed turnouts, A corresponds to the throat. At the crossing, A-B (and C-D for crossovers) is a straight segment (continuing route). A-C (and B-D for crossovers) is the diverging route. B-C (and A-D for crossovers) is an illegal condition.
A LayoutTurnout carries Block information. For right-handed, left-handed, and wye turnouts, the entire turnout is in one block,however, a block border may occur at any connection (A,B,C,D). For a double crossover turnout, up to four blocks may be assigned, one for each connection point, but if only one block is assigned, that block applies to the entire turnout.
For drawing purposes, each LayoutTurnout carries a center point and displacements for B and C. For right-handed or left-handed turnouts, the displacement for A = - the displacement for B, and the center point is at the junction of the diverging route and the straight through continuing route. For double crossovers, the center point is at the center of the turnout, and the displacement for A = - the displacement for C and the displacement for D = - the displacement for B. The center point and these displacements may be adjusted by the user when in edit mode. For double crossovers, AB and BC are constrained to remain perpendicular. For single crossovers, AB and CD are constrained to remain parallel, and AC and BD are constrained to remain parallel.
When LayoutTurnouts are first created, a rotation (degrees) is provided. For 0.0 rotation, the turnout lies on the east-west line with A facing east. Rotations are performed in a clockwise direction.
When LayoutTurnouts are first created, there are no connections. Block information and connections may be added when available.
When a LayoutTurnout is first created, it is enabled for control of an assigned actual turnout. Clicking on the turnout center point will toggle the turnout. This can be disabled via the popup menu.
Signal Head names are saved here to keep track of where signals are. LayoutTurnout only serves as a storage place for signal head names. The names are placed here by tools, e.g., Set Signals at Turnout, and Set Signals at Double Crossover.
A LayoutTurnout may be linked to another LayoutTurnout to form a turnout pair. Throat-To-Throat Turnouts - Two turnouts connected closely at their throats, so closely that signals are not appropriate at the their throats. This is the situation when two RH, LH, or WYE turnouts are used to model a double slip. 3-Way Turnout - Two turnouts modeling a 3-way turnout, where the throat of the second turnout is closely connected to the continuing track of the first turnout. The throat will have three heads, or one head. A link is required to be able to correctly interpret the use of signal heads.
| Field Summary | |
|---|---|
String |
blockBName
|
String |
blockCName
|
String |
blockDName
|
String |
blockName
|
Point2D |
center
|
Object |
connectA
|
String |
connectAName
|
Object |
connectB
|
String |
connectBName
|
Object |
connectC
|
String |
connectCName
|
Object |
connectD
|
String |
connectDName
|
int |
continuingSense
|
boolean |
disabled
|
boolean |
disableWhenOccupied
|
Point2D |
dispB
|
Point2D |
dispC
|
static int |
DOUBLE_XOVER
|
static int |
FIRST_3_WAY
|
String |
ident
|
static int |
LH_TURNOUT
|
static int |
LH_XOVER
|
String |
linkedTurnoutName
|
int |
linkType
|
static int |
NO_LINK
|
static int |
RH_TURNOUT
|
static int |
RH_XOVER
|
static int |
SECOND_3_WAY
|
String |
signalA1Name
|
String |
signalA2Name
|
String |
signalA3Name
|
String |
signalAMast
|
String |
signalB1Name
|
String |
signalB2Name
|
String |
signalBMast
|
String |
signalC1Name
|
String |
signalC2Name
|
String |
signalCMast
|
String |
signalD1Name
|
String |
signalD2Name
|
String |
signalDMast
|
String |
tBlockBName
|
String |
tBlockCName
|
String |
tBlockDName
|
String |
tBlockName
|
static int |
THROAT_TO_THROAT
|
String |
tTurnoutName
|
String |
turnoutName
|
int |
type
|
static int |
WYE_TURNOUT
|
| Constructor Summary | |
|---|---|
LayoutTurnout(String id,
int t,
Point2D c,
double rot,
double xFactor,
double yFactor,
LayoutEditor myPanel)
constructor method |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int RH_TURNOUT
public static final int LH_TURNOUT
public static final int WYE_TURNOUT
public static final int DOUBLE_XOVER
public static final int RH_XOVER
public static final int LH_XOVER
public static final int NO_LINK
public static final int FIRST_3_WAY
public static final int SECOND_3_WAY
public static final int THROAT_TO_THROAT
public String ident
public String turnoutName
public String blockName
public String blockBName
public String blockCName
public String blockDName
public String signalA1Name
public String signalA2Name
public String signalA3Name
public String signalB1Name
public String signalB2Name
public String signalC1Name
public String signalC2Name
public String signalD1Name
public String signalD2Name
public String signalAMast
public String signalBMast
public String signalCMast
public String signalDMast
public int type
public Object connectA
public Object connectB
public Object connectC
public Object connectD
public int continuingSense
public boolean disabled
public boolean disableWhenOccupied
public Point2D center
public Point2D dispB
public Point2D dispC
public String linkedTurnoutName
public int linkType
public String connectAName
public String connectBName
public String connectCName
public String connectDName
public String tBlockName
public String tBlockBName
public String tBlockCName
public String tBlockDName
public String tTurnoutName
| Constructor Detail |
|---|
public LayoutTurnout(String id,
int t,
Point2D c,
double rot,
double xFactor,
double yFactor,
LayoutEditor myPanel)
| Method Detail |
|---|
public String getName()
public boolean useBlockSpeed()
public String getTurnoutName()
public String getBlockName()
public String getBlockBName()
public String getBlockCName()
public String getBlockDName()
public String getSignalA1Name()
public void setSignalA1Name(String signalName)
public String getSignalA2Name()
public void setSignalA2Name(String signalName)
public String getSignalA3Name()
public void setSignalA3Name(String signalName)
public String getSignalB1Name()
public void setSignalB1Name(String signalName)
public String getSignalB2Name()
public void setSignalB2Name(String signalName)
public String getSignalC1Name()
public void setSignalC1Name(String signalName)
public String getSignalC2Name()
public void setSignalC2Name(String signalName)
public String getSignalD1Name()
public void setSignalD1Name(String signalName)
public String getSignalD2Name()
public void setSignalD2Name(String signalName)
public String getSignalAMast()
public void setSignalAMast(String signalMast)
public String getSignalBMast()
public void setSignalBMast(String signalMast)
public String getSignalCMast()
public void setSignalCMast(String signalMast)
public String getSignalDMast()
public void setSignalDMast(String signalMast)
public String getSensorA()
public void setSensorA(String sensorName)
public String getSensorB()
public void setSensorB(String sensorName)
public String getSensorC()
public void setSensorC(String sensorName)
public String getSensorD()
public void setSensorD(String sensorName)
public String getLinkedTurnoutName()
public void setLinkedTurnoutName(String s)
public int getLinkType()
public void setLinkType(int type)
public int getTurnoutType()
public Object getConnectA()
public Object getConnectB()
public Object getConnectC()
public Object getConnectD()
public Turnout getTurnout()
public int getContinuingSense()
public void setTurnout(String tName)
public void setContinuingSense(int sense)
public void setDisabled(boolean state)
public boolean isDisabled()
public void setDisableWhenOccupied(boolean state)
public boolean isDisabledWhenOccupied()
public void setConnectA(Object o,
int type)
public void setConnectB(Object o,
int type)
public void setConnectC(Object o,
int type)
public void setConnectD(Object o,
int type)
public LayoutBlock getLayoutBlock()
public LayoutBlock getLayoutBlockB()
public LayoutBlock getLayoutBlockC()
public LayoutBlock getLayoutBlockD()
public Point2D getCoordsCenter()
public Point2D getCoordsA()
public Point2D getCoordsB()
public Point2D getCoordsC()
public Point2D getCoordsD()
public void setLayoutBlock(LayoutBlock b)
public void setLayoutBlockB(LayoutBlock b)
public void setLayoutBlockC(LayoutBlock b)
public void setLayoutBlockD(LayoutBlock b)
public void setLayoutBlockByName(String name)
public void setLayoutBlockBByName(String name)
public void setLayoutBlockCByName(String name)
public void setLayoutBlockDByName(String name)
public boolean isMainlineA()
public boolean isMainlineB()
public boolean isMainlineC()
public boolean isMainlineD()
public void setCoordsCenter(Point2D p)
public void setCoordsA(Point2D p)
public void setCoordsB(Point2D p)
public void setCoordsC(Point2D p)
public void setCoordsD(Point2D p)
public void scaleCoords(float xFactor,
float yFactor)
public void toggleTurnout()
public void setObjects(LayoutEditor p)
protected void showPopUp(MouseEvent e)
public String[] getBlockBoundaries()
protected void editLayoutTurnout()
public boolean isActive()
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||