当前位置: 首页>>代码示例>>Java>>正文


Java Curve.pointCrossingsForQuad方法代码示例

本文整理汇总了Java中sun.awt.geom.Curve.pointCrossingsForQuad方法的典型用法代码示例。如果您正苦于以下问题:Java Curve.pointCrossingsForQuad方法的具体用法?Java Curve.pointCrossingsForQuad怎么用?Java Curve.pointCrossingsForQuad使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在sun.awt.geom.Curve的用法示例。


在下文中一共展示了Curve.pointCrossingsForQuad方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: pointCrossings

import sun.awt.geom.Curve; //导入方法依赖的package包/类
int pointCrossings(double px, double py) {
    double movx, movy, curx, cury, endx, endy;
    float coords[] = floatCoords;
    curx = movx = coords[0];
    cury = movy = coords[1];
    int crossings = 0;
    int ci = 2;
    for (int i = 1; i < numTypes; i++) {
        switch (pointTypes[i]) {
        case PathIterator.SEG_MOVETO:
            if (cury != movy) {
                crossings +=
                    Curve.pointCrossingsForLine(px, py,
                                                curx, cury,
                                                movx, movy);
            }
            movx = curx = coords[ci++];
            movy = cury = coords[ci++];
            break;
        case PathIterator.SEG_LINETO:
            crossings +=
                Curve.pointCrossingsForLine(px, py,
                                            curx, cury,
                                            endx = coords[ci++],
                                            endy = coords[ci++]);
            curx = endx;
            cury = endy;
            break;
        case PathIterator.SEG_QUADTO:
            crossings +=
                Curve.pointCrossingsForQuad(px, py,
                                            curx, cury,
                                            coords[ci++],
                                            coords[ci++],
                                            endx = coords[ci++],
                                            endy = coords[ci++],
                                            0);
            curx = endx;
            cury = endy;
            break;
    case PathIterator.SEG_CUBICTO:
            crossings +=
                Curve.pointCrossingsForCubic(px, py,
                                             curx, cury,
                                             coords[ci++],
                                             coords[ci++],
                                             coords[ci++],
                                             coords[ci++],
                                             endx = coords[ci++],
                                             endy = coords[ci++],
                                             0);
            curx = endx;
            cury = endy;
            break;
        case PathIterator.SEG_CLOSE:
            if (cury != movy) {
                crossings +=
                    Curve.pointCrossingsForLine(px, py,
                                                curx, cury,
                                                movx, movy);
            }
            curx = movx;
            cury = movy;
            break;
        }
    }
    if (cury != movy) {
        crossings +=
            Curve.pointCrossingsForLine(px, py,
                                        curx, cury,
                                        movx, movy);
    }
    return crossings;
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:75,代码来源:Path2D.java

示例2: pointCrossings

import sun.awt.geom.Curve; //导入方法依赖的package包/类
int pointCrossings(double px, double py) {
    if (numTypes == 0) {
        return 0;
    }
    double movx, movy, curx, cury, endx, endy;
    float coords[] = floatCoords;
    curx = movx = coords[0];
    cury = movy = coords[1];
    int crossings = 0;
    int ci = 2;
    for (int i = 1; i < numTypes; i++) {
        switch (pointTypes[i]) {
        case PathIterator.SEG_MOVETO:
            if (cury != movy) {
                crossings +=
                    Curve.pointCrossingsForLine(px, py,
                                                curx, cury,
                                                movx, movy);
            }
            movx = curx = coords[ci++];
            movy = cury = coords[ci++];
            break;
        case PathIterator.SEG_LINETO:
            crossings +=
                Curve.pointCrossingsForLine(px, py,
                                            curx, cury,
                                            endx = coords[ci++],
                                            endy = coords[ci++]);
            curx = endx;
            cury = endy;
            break;
        case PathIterator.SEG_QUADTO:
            crossings +=
                Curve.pointCrossingsForQuad(px, py,
                                            curx, cury,
                                            coords[ci++],
                                            coords[ci++],
                                            endx = coords[ci++],
                                            endy = coords[ci++],
                                            0);
            curx = endx;
            cury = endy;
            break;
    case PathIterator.SEG_CUBICTO:
            crossings +=
                Curve.pointCrossingsForCubic(px, py,
                                             curx, cury,
                                             coords[ci++],
                                             coords[ci++],
                                             coords[ci++],
                                             coords[ci++],
                                             endx = coords[ci++],
                                             endy = coords[ci++],
                                             0);
            curx = endx;
            cury = endy;
            break;
        case PathIterator.SEG_CLOSE:
            if (cury != movy) {
                crossings +=
                    Curve.pointCrossingsForLine(px, py,
                                                curx, cury,
                                                movx, movy);
            }
            curx = movx;
            cury = movy;
            break;
        }
    }
    if (cury != movy) {
        crossings +=
            Curve.pointCrossingsForLine(px, py,
                                        curx, cury,
                                        movx, movy);
    }
    return crossings;
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:78,代码来源:Path2D.java

示例3: pointCrossings

import sun.awt.geom.Curve; //导入方法依赖的package包/类
int pointCrossings(double px, double py) {
    if (numTypes == 0) {
        return 0;
    }
    double movx, movy, curx, cury, endx, endy;
    float[] coords = floatCoords;
    curx = movx = coords[0];
    cury = movy = coords[1];
    int crossings = 0;
    int ci = 2;
    for (int i = 1; i < numTypes; i++) {
        switch (pointTypes[i]) {
        case PathIterator.SEG_MOVETO:
            if (cury != movy) {
                crossings +=
                    Curve.pointCrossingsForLine(px, py,
                                                curx, cury,
                                                movx, movy);
            }
            movx = curx = coords[ci++];
            movy = cury = coords[ci++];
            break;
        case PathIterator.SEG_LINETO:
            crossings +=
                Curve.pointCrossingsForLine(px, py,
                                            curx, cury,
                                            endx = coords[ci++],
                                            endy = coords[ci++]);
            curx = endx;
            cury = endy;
            break;
        case PathIterator.SEG_QUADTO:
            crossings +=
                Curve.pointCrossingsForQuad(px, py,
                                            curx, cury,
                                            coords[ci++],
                                            coords[ci++],
                                            endx = coords[ci++],
                                            endy = coords[ci++],
                                            0);
            curx = endx;
            cury = endy;
            break;
    case PathIterator.SEG_CUBICTO:
            crossings +=
                Curve.pointCrossingsForCubic(px, py,
                                             curx, cury,
                                             coords[ci++],
                                             coords[ci++],
                                             coords[ci++],
                                             coords[ci++],
                                             endx = coords[ci++],
                                             endy = coords[ci++],
                                             0);
            curx = endx;
            cury = endy;
            break;
        case PathIterator.SEG_CLOSE:
            if (cury != movy) {
                crossings +=
                    Curve.pointCrossingsForLine(px, py,
                                                curx, cury,
                                                movx, movy);
            }
            curx = movx;
            cury = movy;
            break;
        }
    }
    if (cury != movy) {
        crossings +=
            Curve.pointCrossingsForLine(px, py,
                                        curx, cury,
                                        movx, movy);
    }
    return crossings;
}
 
开发者ID:bourgesl,项目名称:marlin-renderer,代码行数:78,代码来源:Path2D.java


注:本文中的sun.awt.geom.Curve.pointCrossingsForQuad方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。