|
||||||||||
| 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.TrackSegment
public class TrackSegment
A regular, straight-line segment of track.
| Nested Class Summary | |
|---|---|
class |
TrackSegment.TSEP
Track segment edit point. |
| Field Summary | |
|---|---|
protected int |
cap
How the segment is ended. |
protected java.awt.geom.Line2D |
coords
The line connecting two points, on the map image. |
static int |
POINT_BEGIN
The begin segment |
static int |
POINT_END
The end segment |
protected java.awt.Stroke |
railBedStroke
The rail bed pen |
protected java.awt.Stroke |
railStroke
The rail line pen |
| Fields inherited from class net.kolls.railworld.RailSegment |
|---|
dests, ec, MOUSE_NEAR, pts, RAIL_BED_WIDTH, RAIL_WIDTH, trains |
| Constructor Summary | |
|---|---|
TrackSegment(RailSegment bg,
RailSegment en,
java.awt.geom.Line2D crds)
Create a track segment. |
|
| Method Summary | |
|---|---|
boolean |
canErase()
Can this segment be erased? In some cases, other segments must be erased first. |
SegmentEditPoint |
createSEP(int ptIdx,
RailSegment anchor)
Given a point index in the pts array and possibly a railsegment to attach, return a segmenteditpoint if such attachment is possible. |
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. |
java.awt.geom.Line2D |
getCoords()
|
java.awt.geom.Point2D |
getPoint(RailSegment start,
double myPos)
|
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. |
protected void |
setCap()
Set the line end cap based on next segment... |
| Methods inherited from class net.kolls.railworld.RailSegment |
|---|
carHidden, click, destNZ, enter, getDest, getDests, getPoint, getPoints, isDynamic, nearEditPoint, pixelStep, setDest, setPoint, singleton, step, trains, update, update |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
protected int cap
protected java.awt.geom.Line2D coords
protected java.awt.Stroke railBedStroke
protected java.awt.Stroke railStroke
public static final int POINT_BEGIN
public static final int POINT_END
| Constructor Detail |
|---|
public TrackSegment(RailSegment bg,
RailSegment en,
java.awt.geom.Line2D crds)
bg - Begin segmenten - End segmentcrds - Line coords| Method Detail |
|---|
public java.awt.geom.Line2D getCoords()
public java.lang.String mouseOver(java.awt.geom.Point2D pos)
RailSegment
mouseOver in class RailSegmentpos - The mouse position
RailSegment.isDynamic()public void recomp()
RailSegment
recomp in class RailSegmentprotected void setCap()
public RailSegment dest(RailSegment source)
RailSegment
dest in class RailSegmentsource - The rail segment of origin
null if there is none.public Distance length()
RailSegment
length in class RailSegmentDistance of 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 represents
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 SegmentEditPoint createSEP(int ptIdx,
RailSegment anchor)
RailSegment
createSEP in class RailSegmentptIdx - The index into the pts array.anchor - 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 canErase()
RailSegment
canErase in class RailSegmentpublic 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.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||