|
| БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО! |
|
|
gluNextContour
The gluNextContour function marks the beginning of another contour.
void gluNextContour( GLUtesselator *tess, GLenum type );
Parameters
tess
Specifies the tessellation object (created with gluNewTess).
type
Specifies the type of the contour being defined. Valid values are GLU_EXTERIOR, GLU_INTERIOR, GLU_UNKNOWN, GLU_CCW, and GLU_CW.
Remarks
The gluNextContour function is used in describing polygons with multiple contours. After the first contour has been described through a series of gluTessVertex calls, a gluNextContour call indicates that the previous contour is complete and that the next contour is about to begin. Another series of gluTessVertex calls is then used to describe the new contour. This process can be repeated until all contours have been described. The type parameter defines what type of contour follows. The legal contour types are as follows:
GLU_EXTERIOR
An exterior contour defines an exterior boundary of the polygon.
GLU_INTERIOR
An interior contour defines an interior boundary of the polygon (such as a hole).
GLU_UNKNOWN
An unknown contour is analyzed by the library to determine if it is interior or exterior.
GLU_CCW, GLU_CW
The first GLU_CCW or GLU_CW contour defined is considered to be exterior. All other contours are considered to be exterior if they are oriented in the same direction (clockwise or counterclockwise) as the first contour, and interior if they are not. If one contour is of type GLU_CCW or GLU_CW, then all contours must be of the same type (if they are not, then all GLU_CCW and GLU_CW contours will be changed to GLU_UNKNOWN). Note that there is no real difference between the GLU_CCW and GLU_CW contour types.
The gluNextContour function can be called before the first contour is described to define the type of the first contour. If gluNextContour is not called before the first contour, then the first contour is marked GLU_EXTERIOR.
Note The gluNextContour function is obsolete and is provided for backwards compatibility only. The gluNextContour function is mapped to gluTessEndContour followed by gluTessBeginContour.
Example
A quadrilateral with a triangular hole in it can be described as follows:
gluBeginPolygon(tess); gluTessVertex(tess, v1, v1); gluTessVertex(tess, v2, v2); gluTessVertex(tess, v3, v3); gluTessVertex(tess, v4, v4); gluNextContour(tess, GLU_INTERIOR); gluTessVertex(tess, v5, v5); gluTessVertex(tess, v6, v6); gluTessVertex(tess, v7, v7); gluEndPolygon(tess);
See Also
gluTessBeginPolygon, gluNewTess, gluTessCallback, gluTessVertex, gluTessBeginContour
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
| Пригласи друзей и счет твоего мобильника всегда будет положительным! |
gluNextContour
Функция gluNextContour выделяет начало другого контура.
пустота gluNextContour( GLUtesselator *tess, тип GLenum );
Параметры
tess
Определяет объект tessellation (созданное gluNewTess).
тип
Определяет тип контура, определянного. Правильные величины - GLU_EXTERIOR, GLU_INTERIOR, GLU_UNKNOWN, GLU_CCW, и GLU_CW.
Замечания
Функция gluNextContour использована в описывающих многоугольниках со многочисленными контурами. После того, как первый контур будет описан через серию вызовов gluTessVertex, вызов gluNextContour указывает, что предшествующий контур завершен и, что следующий контур собирается начинать. Другая серия вызовов gluTessVertex - затем использованное, чтобы описывать новый контур. Этот процесс может быть повторен пока все контуры не описаны. Параметр типа определяется, какой тип контура следует. Юридические типы контура - следующим образом:
GLU_EXTERIOR
Внешний контур определяет внешнюю границу многоугольника.
GLU_INTERIOR
Внутренний контур определяет внутреннюю границу многоугольника (как например, отверстие).
GLU_UNKNOWN
Неизвестный контур проанализирован библиотекой, чтобы определяться если он - интерьер или внешний вид.
GLU_CCW, GLU_CW
Первый GLU_CCW или контур GLU_CW определял считается, что будет внешним. Считается, что Все другие контуры будут внешним видом если они сориентированы в то же направление (по часовой стрелке или против часовой стрелки) как первый контур, и интерьер если они - не. Если один контур - типа GLU_CCW или GLU_CW, тогда все контуры должны быть того же самого типа (если они - нет, тогда все GLU_CCW и контуры GLU_CW будут изменены на GLU_UNKNOWN). Отметьтесь, что нет реального различия между GLU_CCW и типы контура GLU_CW.
Функция gluNextContour может быть названа прежде, чем первый контур будет описан, чтобы определять тип первого контура. Если gluNextContour не назван перед сначала контур, затем первый контур выделен GLU_EXTERIOR.
Отметьте что функция gluNextContour устаревшая и предусмотрена для обратной совместимости только. Функция gluNextContour отображена на gluTessEndContour сопровожденное gluTessBeginContour.
Пример
Четырехугольник с треугольным отверстием в нем может быть описан следующим образом:
gluBeginPolygon(tess); gluTessVertex(tess, v1, v1); gluTessVertex(tess, v2, v2); gluTessVertex(tess, v3, v3); gluTessVertex(tess, v4, v4); gluNextContour(tess, GLU_INTERIOR); gluTessVertex(tess, v5, v5); gluTessVertex(tess, v6, v6); gluTessVertex(tess, v7, v7); gluEndPolygon(tess);
Смотри Также
gluTessBeginPolygon, gluNewTess, gluTessCallback, gluTessVertex, gluTessBeginContour
| |
|
|
| |