|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectnet.kolls.railworld.RailSegment
net.kolls.railworld.segment.Signal
public class Signal
Provides a signal to indicate whether a train should proceed. The signal is unidirectional -- it controls from begin to end only.
| Field Summary | |
|---|---|
static int |
POINT_BEGIN
The begin segment of the signal. |
static int |
POINT_END
The destination segment. |
SignalProgram |
sp
The SignalProgram controlling this signal. |
| Fields inherited from class net.kolls.railworld.RailSegment |
|---|
dests, ec, MOUSE_NEAR, pts, RAIL_BED_WIDTH, RAIL_WIDTH, trains |
| Constructor Summary | |
|---|---|
Signal(RailSegment begin,
RailSegment end)
Create a signal. |
|
| Method Summary | |
|---|---|
boolean |
canErase()
Can this segment be erased? In some cases, other segments must be erased first. |
boolean |
click(java.awt.geom.Point2D pos,
RailCanvas rc)
Whenever a user clicks on the canvas, all dynamic segments receive this event. |
SegmentEditPoint |
createSEP(int ptIdx,
RailSegment attach)
Given a point index in the pts array and possibly a railsegment to attach, return a segmenteditpoint if such attachment is possible. |
static RailSegment[] |
createSignals(RailSegment[] lines)
Generates signals at switches and four ways in a reasonable way. |
RailSegment |
dest(RailSegment source)
Each rail segment must at the very least tell us where it comes from and where it goes, currently. |
void |
draw(int z,
java.awt.Graphics2D gc)
Draw the segment. |
javax.swing.JPanel |
editPanel()
You are guaranteed that the variable RailSegment.ec will be set prior to this call. |
void |
enter(Train t)
Notification that a train is in the segment. |
java.awt.geom.Point2D |
getPoint(RailSegment start,
double myPos)
|
boolean |
isDynamic()
Dynamic segments receive additional events while the game is running; non-dynamic segments are only asked to draw z levels 1 and 2 at draw static time. |
Distance |
length()
all segments have a length can be 0 for signals, etc. |
java.lang.String |
mouseOver(java.awt.geom.Point2D pos)
Whenever a user mouses over the canvas, all dynamic segments receive this event. |
void |
recomp()
Called when changes are made; recompute or update any associated values. |
boolean |
singleton()
Singleton segments may only have one train in them at a time. |
| Methods inherited from class net.kolls.railworld.RailSegment |
|---|
carHidden, destNZ, getDest, getDests, getPoint, getPoints, nearEditPoint, pixelStep, setDest, setPoint, step, trains, update, update |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int POINT_BEGIN
public static final int POINT_END
public SignalProgram sp
SignalProgram controlling this signal.
| Constructor Detail |
|---|
public Signal(RailSegment begin,
RailSegment end)
createSignals(RailSegment[]). The
signal operates in only one direction; from begin to end.
begin - The begin (origin) segmentend - The destination segment| Method Detail |
|---|
public java.lang.String mouseOver(java.awt.geom.Point2D pos)
RailSegment
mouseOver in class RailSegmentpos - The mouse position
RailSegment.isDynamic()public static RailSegment[] createSignals(RailSegment[] lines)
lines - The original rail segments.
public void recomp()
RailSegment
recomp in class RailSegmentpublic boolean canErase()
RailSegment
canErase in class RailSegment
public boolean click(java.awt.geom.Point2D pos,
RailCanvas rc)
RailSegment
click in class RailSegmentpos - The click positionrc - The current canvas which contains this segment
RailSegment.isDynamic()public RailSegment dest(RailSegment source)
RailSegment
dest in class RailSegmentsource - The rail segment of origin
null if there is none.
public void draw(int z,
java.awt.Graphics2D gc)
RailSegment
draw in class RailSegmentz - The currently z-layer to drawgc - A Graphics2D graphics context.RailSegment.isDynamic()public javax.swing.JPanel editPanel()
RailSegmentRailSegment.ec will be set prior to this call.
So if you need to refresh the canvas or make any changes to it, you can use
that variable.
editPanel in class RailSegmentJPanel to display in the sidebar to edit this segment's properties. Please keep width at 200 pixels top.public void enter(Train t)
RailSegmentRailSegment.trains() to see if it remains.
Defaults to no behavior.
enter in class RailSegmentt - The train in the segment.
public java.awt.geom.Point2D getPoint(RailSegment start,
double myPos)
getPoint in class RailSegmentstart - The segment of originmyPos - Percentage (0-1) along the segment
Point2D indicating the actual point that location representspublic boolean isDynamic()
RailSegment
isDynamic in class RailSegmentdraw events
and click events.RailSegment.draw(int, Graphics2D),
RailSegment.click(Point2D, RailCanvas)public Distance length()
RailSegment
length in class RailSegmentDistance of the segment.
public SegmentEditPoint createSEP(int ptIdx,
RailSegment attach)
RailSegment
createSEP in class RailSegmentptIdx - The index into the pts array.attach - The segment that desires to attach. (Note: do not attach the segment
automatically; it will be called through the anchor method in the edit point).
null.public boolean singleton()
RailSegment
singleton in class RailSegment
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||