|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--gishur.x.voronoi.SkEdge
Eine Kante des Skeletts. Sie repräsentiert entweder ein Segmentstück oder ein Parabelstück. Eine richtige Skelettkante besteht aber möglicherweise aus mehreren solcher Stücke.
Field Summary | |
static int |
CONCAVE_EDGE
|
static int |
FREE
|
static byte |
LINEAR
Konstante für segmentmäßige Kanten |
static int |
LINK_BACKWARD
|
static int |
LINK_BOTH
|
static int |
LINK_FORWARD
|
static byte |
PARABOLIC
Konstante für parabolische Kanten |
Constructor Summary | |
SkEdge(Skeleton sk,
SKR left,
SKR right)
Erzeugt eine neue Kante zwischen den Skelettregionen left und right. |
|
SkEdge(Skeleton sk,
XPoint start,
SKR left,
SKR right,
SkEdge leftbefore,
SkEdge rightbefore)
Erzeugt eine neue Kante zwischen den Skelettregionen left und right. |
Method Summary | |
Intersectable |
base()
Liefert das grafische Element der Kante. |
java.lang.Object |
clone()
Clones the object flat. |
static XLine |
constructBisector(XPoint l,
XPoint r)
Konstruiert den Bisektor zwischen zwei Punkten. |
static XParabola |
constructBisector(XSegment l,
XPoint r)
Konstruiert den parabolischen Bisektorteil zwischen einem Punkt und einem Segment. |
static XSegment |
constructBisector(XSegment l,
XSegment r)
Bestimmt den Bisektorteil zwischen zwei Segmenten. |
boolean |
contains(XPoint p)
Liefert true, falls der Punkt p auf der Kante liegt. |
boolean |
empty()
Gibt true zurück, falls das Stück leer ist. |
ListItem |
ID()
Liefert die ID für das Skelett. |
ListItem |
ID(SKR v)
Liefert die ID für die entsprechende Skelettregion oder null. |
XPoint |
intersect(SkEdge e,
XPoint p)
Berechnet den zu p nächsten Schnittpunkt mit der Kante e. |
boolean |
isSkeletonVertex(boolean target)
Liefert true, falls der Start/Zielpunkt der Kante ein echter Skelettpunkt ist - ein komplett berechnetes Skelett vorausgesetzt. |
SKR |
left()
Liefert die linke Skelettregion. |
ListItem |
leftID()
Liefert die ID für die linke Skelettregion. |
int |
linktype()
Liefert den Linktyp der Kante (eine der Konstanten FREE, CONVEX_EDGE, LINK_FORWARD, LINK_BACKWARD). |
SkEdge |
nextLeftEdge()
Liefert die Kante, die bei linker Umrundung des Zielpunktes als nächste kommt. |
SkEdge |
nextRealLeftEdge()
Liefert die Kante, die bei linker Umrundung des Zielpunktes als nächste kommt, wenn man durch konkave Ecken enstandene Skelettkanten ignoriert. |
SkEdge |
nextRightEdge()
Liefert die Kante, die bei rechter Umrundung des Zielpunktes als nächste kommt. |
SKR |
opposite(SKR one)
Liefert die gegenüberliegende Skelettregion zu one oder null. |
ListItem |
oppositeID(SKR one)
Liefert die ID zur gegenüberliegenden Skelettregion von one oder null. |
SkEdge |
prevLeftEdge()
Liefert die Kante, die bei linker Umrundung des Startpunktes als nächste kommt. |
SkEdge |
prevRightEdge()
Liefert die Kante, die bei rechter Umrundung des Startpunktes als nächste kommt. |
void |
remove()
Entfernt die Kante aus allen Strukturen. |
SKR |
right()
Liefert die rechte Skelettregion. |
ListItem |
rightID()
Liefert die ID für die rechte Skelettregion. |
void |
setLinktype(SkEdge e)
Setzt den Link-Typ, wenn die Kanten this und e inzidieren. |
XPoint |
source()
Liefert den Startpunkt. |
XPoint |
target()
Liefert den Endpunkt. |
java.lang.String |
toString()
Überschreibt Object.toString(). |
void |
trim(XPoint c,
boolean target)
Beschneidet das Element auf den Punkt c. c muß auf der Kante liegen, d.h. contains(c.x,c.y) muß true zurückgeben. |
void |
trim(XPoint c,
boolean left,
SKR region)
Beschneidet die Kante auf den Punkt c. |
byte |
type()
Liefert den Typ der Kante: LINEAR oder PARABOLIC. |
XParabola |
xparabola()
Liefert das Parabelstück der Kante, falls sie parabolisch ist. |
XSegment |
xsegment()
Liefert das Segment der Kante, falls sie linear ist. |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
public static final byte LINEAR
public static final byte PARABOLIC
public static final int FREE
public static final int CONCAVE_EDGE
public static final int LINK_FORWARD
public static final int LINK_BACKWARD
public static final int LINK_BOTH
Constructor Detail |
public SkEdge(Skeleton sk, SKR left, SKR right)
sk
- zugehöriges Skelettleft,right
- zugeordnete linke und rechte Skelettregionpublic SkEdge(Skeleton sk, XPoint start, SKR left, SKR right, SkEdge leftbefore, SkEdge rightbefore)
sk
- zugehöriges Skelettstart
- Startpunktleft,right
- zugeordnete linke und rechte Skelettregionleftbefore,rightbefore
- letztes Element in der linken bzw. rechten
SkelettregionMethod Detail |
public java.lang.Object clone()
clone
in interface Cloneable
clone
in class java.lang.Object
Cloneable
public java.lang.String toString()
toString
in class java.lang.Object
Object.toString()
public static XLine constructBisector(XPoint l, XPoint r)
l,r
- linker und rechter Punktpublic static XSegment constructBisector(XSegment l, XSegment r)
l,r
- linkes und rechtes Segmentpublic static XParabola constructBisector(XSegment l, XPoint r)
l
- Segmentr
- Punktpublic boolean empty()
public XPoint source()
public XPoint target()
public Intersectable base()
public XSegment xsegment()
public XParabola xparabola()
public byte type()
public boolean contains(XPoint p)
p
- zu testender Punktpublic void trim(XPoint c, boolean target)
c
- neuer Start/Zielpunkttarget
- falls true, wird der Zielpunkt gesetzt, sonst der Startpunktpublic void trim(XPoint c, boolean left, SKR region)
c
- Punktleft
- Umlaufrichtung: Falls true wird der Endpunkt bezüglich linker
Umlaufrichtung der Region region beschnitten. Falls false wird der Endpunkt
bezüglich rechter Umlaufrichtung der Region region beschnitten, bzw. es wird
der Startpunkt bezüglich linker Umlaufrichtung der Region beschnitten.reg
- Skelettregionpublic XPoint intersect(SkEdge e, XPoint p)
e
- andere Skelettkantep
- Punkt zum Abstandsvergleichpublic SKR left()
public SKR right()
public SKR opposite(SKR one)
one
- Skelettregion, von der aus wir gehenpublic ListItem oppositeID(SKR one)
one
- Skelettregion, von der aus wir gehenpublic ListItem ID()
public ListItem ID(SKR v)
public ListItem leftID()
public ListItem rightID()
public SkEdge nextLeftEdge()
public SkEdge nextRightEdge()
public SkEdge prevLeftEdge()
public SkEdge prevRightEdge()
public SkEdge nextRealLeftEdge()
public boolean isSkeletonVertex(boolean target)
target
- falls true ist der Zielpunkt, sonst der Startpunkt gemeintpublic void remove()
public void setLinktype(SkEdge e)
e
- Kantepublic int linktype()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |