public interface ILcdVVModel
multiple points
per main profile segment,
defining a number of steps in the segment. The number of steps of the sub-profile is equal to
the number of sub-profile-points in a segment minus one.
The sub-profile point coordinates on the X-axis are defined by the stepLenghtRatio(int, int, int)
.
For each of the sub-profile points, it is possible to specify two (possibly coinciding)
altitude values: the minimum
and maximum altitude
.ALcdVVModel
Modifier and Type | Method and Description |
---|---|
void |
addChangeListener(javax.swing.event.ChangeListener aListener)
The
changeEvent will be thrown when the models internal
state has changed and recalculation is required. |
double |
getDistance(int aPointIndexA,
int aPointIndexB)
Returns the distance between the given two points.
|
ILcdPoint |
getPoint(int aIndex) |
int |
getPointCount() |
int |
getSubProfileCount() |
boolean |
isEditable() |
double |
maxZ(int aSubProfilePointIndex,
int aSegmentIndex,
int aSubProfileIndex) |
double |
minZ(int aSubProfilePointIndex,
int aSegmentIndex,
int aSubProfileIndex) |
void |
removeChangeListener(javax.swing.event.ChangeListener aListener) |
void |
setPointZ(int aIndex,
double aZ,
boolean isLastInRow)
This method will be called whenever a point of the main-profile is
being dragged so that its Z-dimension needs to be changed.
|
float |
stepLenghtRatio(int aSubProfilePointIndex,
int aSegmentIndex,
int aSubProfileIndex)
Returns where the given sub-profile point is positioned on the X-axis.
|
int |
subProfilePointCount(int aSegmentIndex,
int aSubProfileIndex)
Returns the number of points (steps) of a sub-profile for the given main profile segment.
|
int getPointCount()
boolean isEditable()
ILcdPoint getPoint(int aIndex) throws java.lang.IndexOutOfBoundsException
aIndex
- the index of the point in the main profilejava.lang.IndexOutOfBoundsException
setPointZ(int, double, boolean)
int getSubProfileCount()
ILcdVVModel
.int subProfilePointCount(int aSegmentIndex, int aSubProfileIndex) throws java.lang.IndexOutOfBoundsException
aSegmentIndex
- the index of the segment in the main profileaSubProfileIndex
- the index of the sub-profile to usejava.lang.IndexOutOfBoundsException
double minZ(int aSubProfilePointIndex, int aSegmentIndex, int aSubProfileIndex) throws java.lang.IndexOutOfBoundsException
aSubProfilePointIndex
- the index of the sub-profile point whose altitude to retrieveaSegmentIndex
- the main-profile segment of the sub-profile point
A segment is a line-piece drawn between two
main-profile points.aSubProfileIndex
- the index of the sub-profile to usejava.lang.IndexOutOfBoundsException
double maxZ(int aSubProfilePointIndex, int aSegmentIndex, int aSubProfileIndex) throws java.lang.IndexOutOfBoundsException
aSubProfilePointIndex
- the index of the sub-profile point whose altitude to retrieveaSegmentIndex
- the main-profile segment to retrieve the step length for.
A segment is a line-piece drawn between two
main-profile points.aSubProfileIndex
- the index of the sub-profile to usejava.lang.IndexOutOfBoundsException
float stepLenghtRatio(int aSubProfilePointIndex, int aSegmentIndex, int aSubProfileIndex) throws java.lang.IndexOutOfBoundsException
aSubProfilePointIndex
- defines the step. It is the point to the right
of the step, so it can never be less than 1,aSegmentIndex
- the main-profile segment to retrieve the step length for.
A segment is a line-piece drawn between two
main-profile points.aSubProfileIndex
- the sub-profile to retrieve the step length ratio forjava.lang.IndexOutOfBoundsException
void setPointZ(int aIndex, double aZ, boolean isLastInRow) throws java.lang.IndexOutOfBoundsException
aZ
- The new altitude for the point.aIndex
- The index of the point being dragged.isLastInRow
- While the user is dragging the point,
this parameter will be false, at the release of the mouse
this parameter will be true.java.lang.IndexOutOfBoundsException
double getDistance(int aPointIndexA, int aPointIndexB)
void addChangeListener(javax.swing.event.ChangeListener aListener)
changeEvent
will be thrown when the models internal
state has changed and recalculation is required.void removeChangeListener(javax.swing.event.ChangeListener aListener)