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


Java PolygonShape.getVertexCount方法代码示例

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


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

示例1: fillShape

import org.jbox2d.collision.shapes.PolygonShape; //导入方法依赖的package包/类
private void fillShape(PolygonShape shape) {
    GeneralPath groundPath = new GeneralPath();
    Vec2 point = shape.getVertex(0);
    Vector<Integer> translated = camera.translateRelative(point);

    groundPath.moveTo(translated.x, translated.y);

    for (int i = 1; i < shape.getVertexCount(); ++i) {
        point = shape.getVertex(i);
        translated = camera.translateRelative(point);
        groundPath.lineTo(translated.x, translated.y);
    }

    groundPath.closePath();
    currentGraphics.fill(groundPath);
}
 
开发者ID:corazza,项目名称:Robot-Evolution,代码行数:17,代码来源:Renderer.java

示例2: render

import org.jbox2d.collision.shapes.PolygonShape; //导入方法依赖的package包/类
private static void render() {
    renderingContext2D.clear();
    renderingContext2D.save();
    renderingContext2D.translate(0, 600);
    renderingContext2D.scale(1, -1);
    renderingContext2D.scale(100, 100);
    renderingContext2D.lineWidth(0.01f);
    for (Body body = scene.getWorld().getBodyList(); body != null; body = body.getNext()) {
        Vec2 center = body.getPosition();
        renderingContext2D.save();
        renderingContext2D.translate(center.x, center.y);
        renderingContext2D.rotate(body.getAngle());
        for (Fixture fixture = body.getFixtureList(); fixture != null; fixture = fixture.getNext()) {
            Shape shape = fixture.getShape();
            if (shape.getType() == ShapeType.CIRCLE) {
                CircleShape circle = (CircleShape) shape;
                renderingContext2D.beginPath();
                renderingContext2D.arc(circle.m_p.x, circle.m_p.y, circle.getRadius(), 0, Math.PI * 2, true);
                renderingContext2D.closePath();
                renderingContext2D.stroke();
            } else if (shape.getType() == ShapeType.POLYGON) {
                PolygonShape poly = (PolygonShape) shape;
                Vec2[] vertices = poly.getVertices();
                renderingContext2D.beginPath();
                renderingContext2D.moveTo(vertices[0].x, vertices[0].y);
                for (int i = 1; i < poly.getVertexCount(); ++i) {
                    renderingContext2D.lineTo(vertices[i].x, vertices[i].y);
                }
                renderingContext2D.closePath();
                renderingContext2D.stroke();
            }
        }
        renderingContext2D.restore();
    }
    renderingContext2D.restore();
}
 
开发者ID:mirkosertic,项目名称:Bytecoder,代码行数:37,代码来源:JBox2DSimulation.java

示例3: render

import org.jbox2d.collision.shapes.PolygonShape; //导入方法依赖的package包/类
private static void render() {
    WasmCanvas.save();
    setupCanvas();
    for (Body body = scene.getWorld().getBodyList(); body != null; body = body.getNext()) {
        Vec2 center = body.getPosition();
        WasmCanvas.save();
        WasmCanvas.translate(center.x, center.y);
        WasmCanvas.rotate(body.getAngle());
        for (Fixture fixture = body.getFixtureList(); fixture != null; fixture = fixture.getNext()) {
            Shape shape = fixture.getShape();
            if (shape.getType() == ShapeType.CIRCLE) {
                CircleShape circle = (CircleShape) shape;
                WasmCanvas.beginPath();
                WasmCanvas.arc(circle.m_p.x, circle.m_p.y, circle.getRadius(), 0, Math.PI * 2, true);
                WasmCanvas.closePath();
                WasmCanvas.stroke();
            } else if (shape.getType() == ShapeType.POLYGON) {
                PolygonShape poly = (PolygonShape) shape;
                Vec2[] vertices = poly.getVertices();
                WasmCanvas.beginPath();
                WasmCanvas.moveTo(vertices[0].x, vertices[0].y);
                for (int i = 1; i < poly.getVertexCount(); ++i) {
                    WasmCanvas.lineTo(vertices[i].x, vertices[i].y);
                }
                WasmCanvas.closePath();
                WasmCanvas.stroke();
            }
        }
        WasmCanvas.restore();
    }
    WasmCanvas.restore();
}
 
开发者ID:konsoletyper,项目名称:teavm,代码行数:33,代码来源:WasmBenchmarkStarter.java

示例4: render

import org.jbox2d.collision.shapes.PolygonShape; //导入方法依赖的package包/类
private static void render() {
    CanvasRenderingContext2D context = (CanvasRenderingContext2D) canvas.getContext("2d");
    context.setFillStyle("white");
    context.setStrokeStyle("grey");
    context.fillRect(0, 0, 600, 600);
    context.save();
    context.translate(0, 600);
    context.scale(1, -1);
    context.scale(100, 100);
    context.setLineWidth(0.01);
    for (Body body = scene.getWorld().getBodyList(); body != null; body = body.getNext()) {
        Vec2 center = body.getPosition();
        context.save();
        context.translate(center.x, center.y);
        context.rotate(body.getAngle());
        for (Fixture fixture = body.getFixtureList(); fixture != null; fixture = fixture.getNext()) {
            Shape shape = fixture.getShape();
            if (shape.getType() == ShapeType.CIRCLE) {
                CircleShape circle = (CircleShape) shape;
                context.beginPath();
                context.arc(circle.m_p.x, circle.m_p.y, circle.getRadius(), 0, Math.PI * 2, true);
                context.closePath();
                context.stroke();
            } else if (shape.getType() == ShapeType.POLYGON) {
                PolygonShape poly = (PolygonShape) shape;
                Vec2[] vertices = poly.getVertices();
                context.beginPath();
                context.moveTo(vertices[0].x, vertices[0].y);
                for (int i = 1; i < poly.getVertexCount(); ++i) {
                    context.lineTo(vertices[i].x, vertices[i].y);
                }
                context.closePath();
                context.stroke();
            }
        }
        context.restore();
    }
    context.restore();
}
 
开发者ID:konsoletyper,项目名称:teavm,代码行数:40,代码来源:BenchmarkStarter.java

示例5: render

import org.jbox2d.collision.shapes.PolygonShape; //导入方法依赖的package包/类
private static void render() {
    GraphicsContext2D context = HTML5Graphics.getOrCreate("benchmark-canvas");
    context.setFillStyle(new Style.Color("white"));
    context.setStrokeStyle(new Style.Color("grey"));
    context.fillRect(0, 0, 600, 600);
    context.save();
    context.translate(0, 600);
    context.scale(1, -1);
    context.scale(100, 100);
    context.setLineWidth(0.01);
    for (Body body = scene.getWorld().getBodyList(); body != null; body = body.getNext()) {
        Vec2 center = body.getPosition();
        context.save();
        context.translate(center.x, center.y);
        context.rotate(body.getAngle());
        for (Fixture fixture = body.getFixtureList(); fixture != null; fixture = fixture.getNext()) {
            Shape shape = fixture.getShape();
            if (shape.getType() == ShapeType.CIRCLE) {
                CircleShape circle = (CircleShape) shape;
                context.beginPath();
                context.arc(circle.m_p.x, circle.m_p.y, circle.getRadius(), 0, Math.PI * 2, true);
                context.closePath();
                context.stroke();
            } else if (shape.getType() == ShapeType.POLYGON) {
                PolygonShape poly = (PolygonShape) shape;
                Vec2[] vertices = poly.getVertices();
                context.beginPath();
                context.moveTo(vertices[0].x, vertices[0].y);
                for (int i = 1; i < poly.getVertexCount(); ++i) {
                    context.lineTo(vertices[i].x, vertices[i].y);
                }
                context.closePath();
                context.stroke();
            }
        }
        context.restore();
    }
    context.restore();
}
 
开发者ID:konsoletyper,项目名称:teavm,代码行数:40,代码来源:BenchmarkStarter.java

示例6: render

import org.jbox2d.collision.shapes.PolygonShape; //导入方法依赖的package包/类
private void render() {
    Context2d context = canvas.getContext2d();
    context.setFillStyle("white");
    context.setStrokeStyle("grey");
    context.fillRect(0, 0, 600, 600);
    context.save();
    context.translate(0, 600);
    context.scale(1, -1);
    context.scale(100, 100);
    context.setLineWidth(0.01);
    for (Body body = scene.getWorld().getBodyList(); body != null; body = body.getNext()) {
        Vec2 center = body.getPosition();
        context.save();
        context.translate(center.x, center.y);
        context.rotate(body.getAngle());
        for (Fixture fixture = body.getFixtureList(); fixture != null; fixture = fixture.getNext()) {
            Shape shape = fixture.getShape();
            if (shape.getType() == ShapeType.CIRCLE) {
                CircleShape circle = (CircleShape) shape;
                context.beginPath();
                context.arc(circle.m_p.x, circle.m_p.y, circle.getRadius(), 0, Math.PI * 2, true);
                context.closePath();
                context.stroke();
            } else if (shape.getType() == ShapeType.POLYGON) {
                PolygonShape poly = (PolygonShape) shape;
                Vec2[] vertices = poly.getVertices();
                context.beginPath();
                context.moveTo(vertices[0].x, vertices[0].y);
                for (int i = 1; i < poly.getVertexCount(); ++i) {
                    context.lineTo(vertices[i].x, vertices[i].y);
                }
                context.closePath();
                context.stroke();
            }
        }
        context.restore();
    }
    context.restore();
}
 
开发者ID:konsoletyper,项目名称:teavm,代码行数:40,代码来源:BenchmarkStarter.java

示例7: paint

import org.jbox2d.collision.shapes.PolygonShape; //导入方法依赖的package包/类
@Override
public void paint(Graphics g) {
    Graphics2D gfx = (Graphics2D) g;

    gfx.setBackground(Color.white);
    gfx.setPaint(Color.black);
    gfx.clearRect(0, 0, 600, 600);

    AffineTransform originalTransformation = gfx.getTransform();

    gfx.translate(0, 600);
    gfx.scale(1, -1);
    gfx.scale(100, 100);
    gfx.setStroke(new BasicStroke(0.01f));
    for (Body body = scene.getWorld().getBodyList(); body != null; body = body.getNext()) {
        Vec2 center = body.getPosition();

        AffineTransform bodyTransform = gfx.getTransform();
        gfx.translate(center.x, center.y);
        gfx.rotate(body.getAngle());
        for (Fixture fixture = body.getFixtureList(); fixture != null; fixture = fixture.getNext()) {
            Shape shape = fixture.getShape();
            if (shape.getType() == ShapeType.CIRCLE) {
                CircleShape circle = (CircleShape) shape;
                Arc2D arc = new Arc2D.Float(circle.m_p.x - circle.getRadius(),
                        circle.m_p.y - circle.getRadius(), circle.getRadius() * 2, circle.getRadius() * 2,
                        0, 360, Arc2D.CHORD);
                gfx.draw(arc);
            } else if (shape.getType() == ShapeType.POLYGON) {
                PolygonShape poly = (PolygonShape) shape;
                Vec2[] vertices = poly.getVertices();

                Path2D path = new Path2D.Float(Path2D.WIND_EVEN_ODD);

                path.moveTo(vertices[0].x, vertices[0].y);
                for (int i = 1; i < poly.getVertexCount(); ++i) {
                    path.lineTo(vertices[i].x, vertices[i].y);
                }
                path.closePath();
                gfx.draw(path);
            }
        }
        gfx.setTransform(bodyTransform);
    }

    gfx.setTransform(originalTransformation);
}
 
开发者ID:konsoletyper,项目名称:teavm,代码行数:48,代码来源:JvmBenchmarkStarter.java


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