Spec-Zone .ru
спецификации, руководства, описания, API
|
public interface PathIterator
PathIterator
интерфейс обеспечивает механизм для объектов, которые реализуют Shape
взаимодействуйте через интерфейс, чтобы возвратить геометрию их границы, позволяя вызывающую сторону получить путь той границы сегмент за один раз. Этот интерфейс позволяет этим объектам получить путь их границы сегмент за один раз при использовании 1-ого через 3-ий порядок кривые Bézier, которые являются строками и квадратными или кубическими сплайнами Bézier. Многократные подпути могут быть выражены при использовании сегмента "MOVETO", чтобы создать разрыв в геометрии, чтобы переместиться от конца одного подпути к началу следующего.
Каждый подпуть может быть закрыт вручную, заканчивая последний сегмент в подпути на той же самой координате как начинающийся сегмент "MOVETO" для того подпути или при использовании сегмента "CLOSE", чтобы добавить линейный сегмент от последней точки назад к первому. Знайте, что вручную закрытие схемы в противоположность использованию сегмента "CLOSE", чтобы закрыть путь могло бы привести к различным художественным оформлениям стили линии, используемым в конечных точках подпути. Например, BasicStroke
возразите использует строку, "СОЕДИНЯЮТ" художественное оформление, чтобы соединить первые и последние точки, если с сегментом "CLOSE" встречаются, тогда как, просто заканчивая путь на той же самой координате, поскольку начинающаяся координата приводит к художественным оформлениям "ПРОПИСНОЙ БУКВЫ" строки, используемым в концах.
Shape
, BasicStroke
Модификатор и Тип | Поле и Описание |
---|---|
static int |
SEG_CLOSE
Тип сегмента, постоянный, который определяет, что предыдущий подпуть должен быть закрыт, добавляя линейный сегмент назад к точке, соответствующей новому SEG_MOVETO.
|
static int |
SEG_CUBICTO
Тип сегмента, постоянный для набора 3 точек, которые определяют кубическую параметрическую кривую, которая будет оттянута из последний раз указанной точки.
|
static int |
SEG_LINETO
Тип сегмента, постоянный для точки, которая определяет конечную точку строки, которая будет оттянута из последний раз указанной точки.
|
static int |
SEG_MOVETO
Тип сегмента, постоянный для точки, которая определяет запускающееся расположение для нового подпути.
|
static int |
SEG_QUADTO
Тип сегмента, постоянный для пары точек, которые определяют квадратную параметрическую кривую, которая будет оттянута из последний раз указанной точки.
|
static int |
WIND_EVEN_ODD
Вьющееся правило, постоянное для того, чтобы определить даже нечетное правило для того, чтобы определить внутреннюю часть пути.
|
static int |
WIND_NON_ZERO
Вьющееся правило, постоянное для того, чтобы определить ненулевое правило для того, чтобы определить внутреннюю часть пути.
|
Модификатор и Тип | Метод и Описание |
---|---|
int |
currentSegment(double[] coords)
Возвращает координаты и тип текущего сегмента пути в итерации.
|
int |
currentSegment(float[] coords)
Возвращает координаты и тип текущего сегмента пути в итерации.
|
int |
getWindingRule()
Возвращает вьющееся правило для того, чтобы определить внутреннюю часть пути.
|
boolean |
isDone()
Тесты, если итерация полна.
|
void |
next()
Перемещает iterator в следующий сегмент пути вперед вдоль основного направления обхода, пока есть больше точек в том направлении.
|
static final int WIND_EVEN_ODD
static final int WIND_NON_ZERO
static final int SEG_MOVETO
static final int SEG_LINETO
static final int SEG_QUADTO
(t=[0..1])
используя последний раз указанную (текущую) точку (CP), первая контрольная точка (P1), и финал интерполированная контрольная точка (P2). Уравнение параметрического управления для этой кривой: P(t) = B(2,0)*CP + B(2,1)*P1 + B(2,2)*P2 0 <= t <= 1 B(n,m) = mth coefficient of nth degree Bernstein polynomial = C(n,m) * t^(m) * (1 - t)^(n-m) C(n,m) = Combinations of n things, taken m at a time = n! / (m! * (n-m)!)
static final int SEG_CUBICTO
(t=[0..1])
используя последний раз указанную (текущую) точку (CP), первая контрольная точка (P1), вторая контрольная точка (P2), и финал интерполированная контрольная точка (P3). Уравнение параметрического управления для этой кривой: P(t) = B(3,0)*CP + B(3,1)*P1 + B(3,2)*P2 + B(3,3)*P3 0 <= t <= 1 B(n,m) = mth coefficient of nth degree Bernstein polynomial = C(n,m) * t^(m) * (1 - t)^(n-m) C(n,m) = Combinations of n things, taken m at a time = n! / (m! * (n-m)!)Эта форма кривой обычно известна как кривая Bézier.
static final int SEG_CLOSE
int getWindingRule()
WIND_EVEN_ODD
, WIND_NON_ZERO
boolean isDone()
true
если все сегменты были считаны; false
иначе.void next()
int currentSegment(float[] coords)
coords
- массив, который содержит данные, возвращенные из этого методаSEG_MOVETO
, SEG_LINETO
, SEG_QUADTO
, SEG_CUBICTO
, SEG_CLOSE
int currentSegment(double[] coords)
coords
- массив, который содержит данные, возвращенные из этого методаSEG_MOVETO
, SEG_LINETO
, SEG_QUADTO
, SEG_CUBICTO
, SEG_CLOSE
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.