Search in sources :

Example 1 with PolylineGlowMaterialPropertyOptions

use of org.cesiumjs.cs.datasources.properties.options.PolylineGlowMaterialPropertyOptions in project gwt-cs by iSergio.

the class PolylineGlowMaterialProperty method create.

/**
 * Simple method for create PolylineGlowMaterialProperty by color and glowPower.
 * @param color A Property specifying the Color of the line.
 * @param glowPower A numeric Property specifying the strength of the glow, as a percentage of the total line width.
 * @return PolylineGlowMaterialProperty
 */
@JsOverlay
public static PolylineGlowMaterialProperty create(Color color, double glowPower) {
    PolylineGlowMaterialPropertyOptions options = new PolylineGlowMaterialPropertyOptions();
    options.color = new ConstantProperty<>(color);
    options.glowPower = new ConstantProperty<>(glowPower);
    return new PolylineGlowMaterialProperty(options);
}
Also used : PolylineGlowMaterialPropertyOptions(org.cesiumjs.cs.datasources.properties.options.PolylineGlowMaterialPropertyOptions) JsOverlay(jsinterop.annotations.JsOverlay)

Example 2 with PolylineGlowMaterialPropertyOptions

use of org.cesiumjs.cs.datasources.properties.options.PolylineGlowMaterialPropertyOptions in project gwt-cs by iSergio.

the class GeometryAndAppearances method buildPanel.

@Override
public void buildPanel() {
    Math.setRandomNumberSeed(1234);
    ViewerPanel csVPanel = new ViewerPanel();
    StripeMaterialPropertyOptions stripeMaterialPropertyOptions = new StripeMaterialPropertyOptions();
    stripeMaterialPropertyOptions.evenColor = new ConstantProperty<>(Color.WHITE().withAlpha(0.5f));
    stripeMaterialPropertyOptions.oddColor = new ConstantProperty<>(Color.BLUE().withAlpha(0.5f));
    stripeMaterialPropertyOptions.repeat = new ConstantProperty<>(5.0);
    StripeMaterialProperty stripeMaterialProperty = new StripeMaterialProperty(stripeMaterialPropertyOptions);
    RectangleGraphicsOptions rectangleGraphicsOptions = new RectangleGraphicsOptions();
    rectangleGraphicsOptions.coordinates = new ConstantProperty<>(Rectangle.fromDegrees(-92.0, 20.0, -86.0, 27.0));
    rectangleGraphicsOptions.outline = new ConstantProperty<>(true);
    rectangleGraphicsOptions.outlineColor = new ConstantProperty<>(Color.WHITE());
    rectangleGraphicsOptions.outlineWidth = new ConstantProperty<>(4);
    rectangleGraphicsOptions.stRotation = new ConstantProperty<>(Math.toRadians(45));
    rectangleGraphicsOptions.material = stripeMaterialProperty;
    RectangleGraphics rectangleGraphics = new RectangleGraphics(rectangleGraphicsOptions);
    EntityOptions entityOptions = new EntityOptions();
    entityOptions.rectangle = rectangleGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    PolygonGraphicsOptions polygonGraphicsOptions = new PolygonGraphicsOptions();
    polygonGraphicsOptions.hierarchy = new ConstantProperty<>(new PolygonHierarchy(Cartesian3.fromDegreesArray(new double[] { -107.0, 27.0, -107.0, 22.0, -102.0, 23.0, -97.0, 21.0, -97.0, 25.0 })));
    polygonGraphicsOptions.outline = new ConstantProperty<>(true);
    polygonGraphicsOptions.outlineColor = new ConstantProperty<>(Color.WHITE());
    polygonGraphicsOptions.outlineWidth = new ConstantProperty<>(4);
    polygonGraphicsOptions.material = stripeMaterialProperty;
    PolygonGraphics polygonGraphics = new PolygonGraphics(polygonGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.polygon = polygonGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    EllipseGraphicsOptions ellipseGraphicsOptions = new EllipseGraphicsOptions();
    ellipseGraphicsOptions.semiMinorAxis = new ConstantProperty<>(300000.0);
    ellipseGraphicsOptions.semiMajorAxis = new ConstantProperty<>(500000.0);
    ellipseGraphicsOptions.rotation = new ConstantProperty<>(Math.toRadians(-40.0));
    ellipseGraphicsOptions.outline = new ConstantProperty<>(true);
    ellipseGraphicsOptions.outlineColor = new ConstantProperty<>(Color.WHITE());
    ellipseGraphicsOptions.outlineWidth = new ConstantProperty<>(4);
    ellipseGraphicsOptions.stRotation = new ConstantProperty<>(Math.toRadians(22));
    ellipseGraphicsOptions.material = stripeMaterialProperty;
    EllipseGraphics ellipseGraphics = new EllipseGraphics(ellipseGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.position = new ConstantPositionProperty(Cartesian3.fromDegrees(-80.0, 25.0));
    entityOptions.ellipse = ellipseGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    ellipseGraphicsOptions = new EllipseGraphicsOptions();
    ellipseGraphicsOptions.semiMinorAxis = new ConstantProperty<>(250000.0);
    ellipseGraphicsOptions.semiMajorAxis = new ConstantProperty<>(250000.0);
    ellipseGraphicsOptions.rotation = new ConstantProperty<>(Math.toRadians(-40.0));
    ellipseGraphicsOptions.outline = new ConstantProperty<>(true);
    ellipseGraphicsOptions.outlineColor = new ConstantProperty<>(Color.WHITE());
    ellipseGraphicsOptions.outlineWidth = new ConstantProperty<>(4);
    ellipseGraphicsOptions.stRotation = new ConstantProperty<>(Math.toRadians(90));
    ellipseGraphicsOptions.material = stripeMaterialProperty;
    ellipseGraphics = new EllipseGraphics(ellipseGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.position = new ConstantPositionProperty(Cartesian3.fromDegrees(-72.0, 25.0));
    entityOptions.ellipse = ellipseGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    rectangleGraphicsOptions = new RectangleGraphicsOptions();
    rectangleGraphicsOptions.coordinates = new ConstantProperty<>(Rectangle.fromDegrees(-118.0, 38.0, -116.0, 40.0));
    rectangleGraphicsOptions.extrudedHeight = new ConstantProperty<>(500000.0);
    rectangleGraphicsOptions.outline = new ConstantProperty<>(true);
    rectangleGraphicsOptions.outlineColor = new ConstantProperty<>(Color.WHITE());
    rectangleGraphicsOptions.outlineWidth = new ConstantProperty<>(4);
    rectangleGraphicsOptions.stRotation = new ConstantProperty<>(Math.toRadians(45));
    ColorRandomOptions colorRandomOptions = new ColorRandomOptions();
    colorRandomOptions.alpha = 1.0f;
    rectangleGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
    rectangleGraphics = new RectangleGraphics(rectangleGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.rectangle = rectangleGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    ellipseGraphicsOptions = new EllipseGraphicsOptions();
    ellipseGraphicsOptions.semiMinorAxis = new ConstantProperty<>(100000.0);
    ellipseGraphicsOptions.semiMajorAxis = new ConstantProperty<>(200000.0);
    ellipseGraphicsOptions.height = new ConstantProperty<>(100000.0);
    ellipseGraphicsOptions.extrudedHeight = new ConstantProperty<>(200000.0);
    ellipseGraphicsOptions.rotation = new ConstantProperty<>(Math.toRadians(90.0));
    ellipseGraphicsOptions.outline = new ConstantProperty<>(true);
    ellipseGraphicsOptions.outlineColor = new ConstantProperty<>(Color.WHITE());
    ellipseGraphicsOptions.outlineWidth = new ConstantProperty<>(4);
    colorRandomOptions = new ColorRandomOptions();
    colorRandomOptions.alpha = 1.0f;
    ellipseGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
    ellipseGraphics = new EllipseGraphics(ellipseGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.position = new ConstantPositionProperty(Cartesian3.fromDegrees(-117.0, 35.0));
    entityOptions.ellipse = ellipseGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    polygonGraphicsOptions = new PolygonGraphicsOptions();
    polygonGraphicsOptions.hierarchy = new ConstantProperty<>(new PolygonHierarchy(Cartesian3.fromDegreesArray(new double[] { -118.0, 30.0, -115.0, 30.0, -117.1, 31.1, -118.0, 33.0 })));
    polygonGraphicsOptions.height = new ConstantProperty<>(300000.0);
    polygonGraphicsOptions.extrudedHeight = new ConstantProperty<>(700000.0);
    polygonGraphicsOptions.outline = new ConstantProperty<>(true);
    polygonGraphicsOptions.outlineColor = new ConstantProperty<>(Color.WHITE());
    polygonGraphicsOptions.outlineWidth = new ConstantProperty<>(4);
    colorRandomOptions = new ColorRandomOptions();
    colorRandomOptions.alpha = 1.0f;
    polygonGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
    polygonGraphics = new PolygonGraphics(polygonGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.polygon = polygonGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    CylinderGraphicsOptions cylinderGraphicsOptions = new CylinderGraphicsOptions();
    cylinderGraphicsOptions.length = new ConstantProperty<>(200000.0);
    cylinderGraphicsOptions.topRadius = new ConstantProperty<>(150000.0);
    cylinderGraphicsOptions.bottomRadius = new ConstantProperty<>(150000.0);
    cylinderGraphicsOptions.outline = new ConstantProperty<>(true);
    cylinderGraphicsOptions.outlineColor = new ConstantProperty<>(Color.WHITE());
    cylinderGraphicsOptions.outlineWidth = new ConstantProperty<>(4);
    colorRandomOptions = new ColorRandomOptions();
    colorRandomOptions.alpha = 1.0f;
    cylinderGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
    CylinderGraphics cylinderGraphics = new CylinderGraphics(cylinderGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.position = new ConstantPositionProperty(Cartesian3.fromDegrees(-70.0, 45.0, 100000.0));
    entityOptions.cylinder = cylinderGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    for (int i = 0; i < 5; ++i) {
        double height = 100000.0 + (200000.0 * i);
        BoxGraphicsOptions boxGraphicsOptions = new BoxGraphicsOptions();
        boxGraphicsOptions.dimensions = new ConstantPositionProperty(new Cartesian3(90000.0, 90000.0, 90000.0));
        boxGraphicsOptions.outline = new ConstantProperty<>(true);
        boxGraphicsOptions.outlineColor = new ConstantProperty<>(Color.WHITE());
        colorRandomOptions = new ColorRandomOptions();
        colorRandomOptions.alpha = 0.5f;
        boxGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
        BoxGraphics boxGraphics = new BoxGraphics(boxGraphicsOptions);
        entityOptions = new EntityOptions();
        entityOptions.position = new ConstantPositionProperty(Cartesian3.fromDegrees(-106.0, 45.0, height));
        entityOptions.box = boxGraphics;
        csVPanel.getViewer().entities().add(new Entity(entityOptions));
        EllipsoidGraphicsOptions ellipsoidGraphicsOptions = new EllipsoidGraphicsOptions();
        ellipsoidGraphicsOptions.radii = new ConstantPositionProperty(new Cartesian3(45000.0, 45000.0, 90000.0));
        ellipsoidGraphicsOptions.outline = new ConstantProperty<>(true);
        ellipsoidGraphicsOptions.outlineColor = new ConstantProperty<>(Color.WHITE());
        ellipsoidGraphicsOptions.outlineWidth = new ConstantProperty<>(2);
        colorRandomOptions = new ColorRandomOptions();
        colorRandomOptions.alpha = 0.5f;
        ellipsoidGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
        EllipsoidGraphics ellipsoidGraphics = new EllipsoidGraphics(ellipsoidGraphicsOptions);
        entityOptions = new EntityOptions();
        entityOptions.position = new ConstantPositionProperty(Cartesian3.fromDegrees(-102.0, 45.0, height));
        entityOptions.ellipsoid = ellipsoidGraphics;
        csVPanel.getViewer().entities().add(new Entity(entityOptions));
        ellipsoidGraphicsOptions = new EllipsoidGraphicsOptions();
        ellipsoidGraphicsOptions.radii = new ConstantPositionProperty(new Cartesian3(67500.0, 67500.0, 67500.0));
        ellipsoidGraphicsOptions.outline = new ConstantProperty<>(true);
        ellipsoidGraphicsOptions.outlineColor = new ConstantProperty<>(Color.WHITE());
        ellipsoidGraphicsOptions.outlineWidth = new ConstantProperty<>(2);
        colorRandomOptions = new ColorRandomOptions();
        colorRandomOptions.alpha = 0.5f;
        ellipsoidGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
        ellipsoidGraphics = new EllipsoidGraphics(ellipsoidGraphicsOptions);
        entityOptions = new EntityOptions();
        entityOptions.position = new ConstantPositionProperty(Cartesian3.fromDegrees(-98.0, 45.0, height));
        entityOptions.ellipsoid = ellipsoidGraphics;
        csVPanel.getViewer().entities().add(new Entity(entityOptions));
    }
    WallGraphicsOptions wallGraphicsOptions = new WallGraphicsOptions();
    wallGraphicsOptions.positions = new ConstantProperty<>(Cartesian3.fromDegreesArray(new double[] { -95.0, 50.0, -85.0, 50.0, -75.0, 50.0 }));
    wallGraphicsOptions.maximumHeights = new ConstantProperty<>(new double[] { 500000, 1000000, 500000 });
    wallGraphicsOptions.minimumHeights = new ConstantProperty<>(new double[] { 0, 500000, 0 });
    wallGraphicsOptions.outline = new ConstantProperty<>(true);
    wallGraphicsOptions.outlineColor = new ConstantProperty<>(Color.LIGHTGRAY());
    wallGraphicsOptions.outlineWidth = new ConstantProperty<>(4);
    colorRandomOptions = new ColorRandomOptions();
    colorRandomOptions.alpha = 0.7f;
    wallGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
    WallGraphics wallGraphics = new WallGraphics(wallGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.wall = wallGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    rectangleGraphicsOptions = new RectangleGraphicsOptions();
    rectangleGraphicsOptions.coordinates = new ConstantProperty<>(Rectangle.fromDegrees(-92.0, 30.0, -85.0, 40.0));
    rectangleGraphicsOptions.material = stripeMaterialProperty;
    entityOptions = new EntityOptions();
    entityOptions.rectangle = rectangleGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    polygonGraphicsOptions = new PolygonGraphicsOptions();
    PolygonHierarchy polygonHierarchy = new PolygonHierarchy(Cartesian3.fromDegreesArray(new double[] { -109.0, 30.0, -95.0, 30.0, -95.0, 40.0, -109.0, 40.0 }), new PolygonHierarchy[] { new PolygonHierarchy(Cartesian3.fromDegreesArray(new double[] { -107.0, 31.0, -107.0, 39.0, -97.0, 39.0, -97.0, 31.0 }), new PolygonHierarchy[] { new PolygonHierarchy(Cartesian3.fromDegreesArray(new double[] { -105.0, 33.0, -99.0, 33.0, -99.0, 37.0, -105.0, 37.0 }), new PolygonHierarchy[] { new PolygonHierarchy(Cartesian3.fromDegreesArray(new double[] { -103.0, 34.0, -101.0, 34.0, -101.0, 36.0, -103.0, 36.0 })) }) }) });
    polygonGraphicsOptions.hierarchy = new ConstantProperty<>(polygonHierarchy);
    polygonGraphicsOptions.material = stripeMaterialProperty;
    polygonGraphics = new PolygonGraphics(polygonGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.polygon = polygonGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    ellipseGraphicsOptions = new EllipseGraphicsOptions();
    ellipseGraphicsOptions.semiMinorAxis = new ConstantProperty<>(200000.0);
    ellipseGraphicsOptions.semiMajorAxis = new ConstantProperty<>(500000.0);
    ellipseGraphicsOptions.rotation = new ConstantProperty<>(Math.toRadians(30.0));
    ellipseGraphicsOptions.material = stripeMaterialProperty;
    ellipseGraphics = new EllipseGraphics(ellipseGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.ellipse = ellipseGraphics;
    entityOptions.position = new ConstantPositionProperty(Cartesian3.fromDegrees(-80.0, 35.0));
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    ellipseGraphicsOptions = new EllipseGraphicsOptions();
    ellipseGraphicsOptions.semiMinorAxis = new ConstantProperty<>(200000.0);
    ellipseGraphicsOptions.semiMajorAxis = new ConstantProperty<>(200000.0);
    ellipseGraphicsOptions.rotation = new ConstantProperty<>(Math.toRadians(30.0));
    ellipseGraphicsOptions.material = stripeMaterialProperty;
    ellipseGraphics = new EllipseGraphics(ellipseGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.ellipse = ellipseGraphics;
    entityOptions.position = new ConstantPositionProperty(Cartesian3.fromDegrees(-72.0, 35.0));
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    rectangleGraphicsOptions = new RectangleGraphicsOptions();
    rectangleGraphicsOptions.coordinates = new ConstantProperty<>(Rectangle.fromDegrees(-110.0, 38.0, -107.0, 40.0));
    rectangleGraphicsOptions.height = new ConstantProperty<>(700000.0);
    rectangleGraphicsOptions.extrudedHeight = new ConstantProperty<>(1000000.0);
    rectangleGraphicsOptions.rotation = new ConstantProperty<>(Math.toRadians(45));
    colorRandomOptions = new ColorRandomOptions();
    colorRandomOptions.alpha = 1.0f;
    rectangleGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
    rectangleGraphics = new RectangleGraphics(rectangleGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.rectangle = rectangleGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    ellipseGraphicsOptions = new EllipseGraphicsOptions();
    ellipseGraphicsOptions.semiMinorAxis = new ConstantProperty<>(100000.0);
    ellipseGraphicsOptions.semiMajorAxis = new ConstantProperty<>(200000.0);
    ellipseGraphicsOptions.height = new ConstantProperty<>(300000.0);
    ellipseGraphicsOptions.extrudedHeight = new ConstantProperty<>(700000.0);
    ellipseGraphicsOptions.rotation = new ConstantProperty<>(Math.toRadians(-40.0));
    colorRandomOptions = new ColorRandomOptions();
    colorRandomOptions.alpha = 1.0f;
    ellipseGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
    ellipseGraphics = new EllipseGraphics(ellipseGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.ellipse = ellipseGraphics;
    entityOptions.position = new ConstantPositionProperty(Cartesian3.fromDegrees(-110.0, 35.0));
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    polygonGraphicsOptions = new PolygonGraphicsOptions();
    polygonGraphicsOptions.hierarchy = new ConstantProperty<>(new PolygonHierarchy(Cartesian3.fromDegreesArray(new double[] { -113.0, 30.0, -110.0, 30.0, -110.0, 33.0, -111.5, 31.0, -113.0, 33.0 })));
    polygonGraphicsOptions.extrudedHeight = new ConstantProperty<>(300000.0);
    colorRandomOptions = new ColorRandomOptions();
    colorRandomOptions.alpha = 1.0f;
    polygonGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
    polygonGraphics = new PolygonGraphics(polygonGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.polygon = polygonGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    cylinderGraphicsOptions = new CylinderGraphicsOptions();
    cylinderGraphicsOptions.length = new ConstantProperty<>(400000.0);
    cylinderGraphicsOptions.topRadius = new ConstantProperty<>(0.0);
    cylinderGraphicsOptions.bottomRadius = new ConstantProperty<>(200000.0);
    colorRandomOptions = new ColorRandomOptions();
    colorRandomOptions.alpha = 1.0f;
    cylinderGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
    cylinderGraphics = new CylinderGraphics(cylinderGraphicsOptions);
    entityOptions.position = new ConstantPositionProperty(Cartesian3.fromDegrees(-70.0, 40.0, 200000.0));
    entityOptions.cylinder = cylinderGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    for (int i = 0; i < 5; ++i) {
        double height = 200000.0 * i;
        ellipseGraphicsOptions = new EllipseGraphicsOptions();
        ellipseGraphicsOptions.semiMinorAxis = new ConstantProperty<>(200000.0);
        ellipseGraphicsOptions.semiMajorAxis = new ConstantProperty<>(200000.0);
        ellipseGraphicsOptions.height = new ConstantProperty<>(height);
        colorRandomOptions = new ColorRandomOptions();
        colorRandomOptions.alpha = 0.5f;
        ellipseGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
        ellipseGraphics = new EllipseGraphics(ellipseGraphicsOptions);
        entityOptions = new EntityOptions();
        entityOptions.ellipse = ellipseGraphics;
        entityOptions.position = new ConstantPositionProperty(Cartesian3.fromDegrees(-65.0, 35.0));
        csVPanel.getViewer().entities().add(new Entity(entityOptions));
        rectangleGraphicsOptions = new RectangleGraphicsOptions();
        rectangleGraphicsOptions.coordinates = new ConstantProperty<>(Rectangle.fromDegrees(-67.0, 27.0, -63.0, 32.0));
        rectangleGraphicsOptions.height = new ConstantProperty<>(height);
        colorRandomOptions = new ColorRandomOptions();
        colorRandomOptions.alpha = 0.5f;
        rectangleGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
        rectangleGraphics = new RectangleGraphics(rectangleGraphicsOptions);
        entityOptions = new EntityOptions();
        entityOptions.rectangle = rectangleGraphics;
        csVPanel.getViewer().entities().add(new Entity(entityOptions));
    }
    for (int i = 0; i < 5; ++i) {
        double height = 100000.0 + (200000.0 * i);
        BoxGraphicsOptions boxGraphicsOptions = new BoxGraphicsOptions();
        boxGraphicsOptions.dimensions = new ConstantProperty<>(new Cartesian3(90000.0, 90000.0, 90000.0));
        colorRandomOptions = new ColorRandomOptions();
        colorRandomOptions.alpha = 1.0f;
        boxGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
        BoxGraphics boxGraphics = new BoxGraphics(boxGraphicsOptions);
        entityOptions = new EntityOptions();
        entityOptions.position = new ConstantPositionProperty(Cartesian3.fromDegrees(-108.0, 45.0, height));
        entityOptions.box = boxGraphics;
        csVPanel.getViewer().entities().add(new Entity(entityOptions));
        EllipsoidGraphicsOptions ellipsoidGraphicsOptions = new EllipsoidGraphicsOptions();
        ellipsoidGraphicsOptions.radii = new ConstantPositionProperty(new Cartesian3(45000.0, 45000.0, 90000.0));
        colorRandomOptions = new ColorRandomOptions();
        colorRandomOptions.alpha = 1.0f;
        ellipsoidGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
        EllipsoidGraphics ellipsoidGraphics = new EllipsoidGraphics(ellipsoidGraphicsOptions);
        entityOptions = new EntityOptions();
        entityOptions.position = new ConstantPositionProperty(Cartesian3.fromDegrees(-104.0, 45.0, height));
        entityOptions.ellipsoid = ellipsoidGraphics;
        csVPanel.getViewer().entities().add(new Entity(entityOptions));
        ellipsoidGraphicsOptions = new EllipsoidGraphicsOptions();
        ellipsoidGraphicsOptions.radii = new ConstantPositionProperty(new Cartesian3(67500.0, 67500.0, 67500.0));
        colorRandomOptions = new ColorRandomOptions();
        colorRandomOptions.alpha = 1.0f;
        ellipsoidGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
        ellipsoidGraphics = new EllipsoidGraphics(ellipsoidGraphicsOptions);
        entityOptions = new EntityOptions();
        entityOptions.position = new ConstantPositionProperty(Cartesian3.fromDegrees(-100.0, 45.0, height));
        entityOptions.ellipsoid = ellipsoidGraphics;
        csVPanel.getViewer().entities().add(new Entity(entityOptions));
    }
    Cartesian3[] positions = new Cartesian3[40];
    for (int i = 0; i < 40; ++i) {
        positions[i] = Cartesian3.fromDegrees(-100.0 + i, 15.0);
    }
    PolylineGraphicsOptions polylineGraphicsOptions = new PolylineGraphicsOptions();
    polylineGraphicsOptions.positions = new ConstantProperty<>(positions);
    polylineGraphicsOptions.width = new ConstantProperty<>(10.0);
    PolylineGlowMaterialPropertyOptions polylineGlowMaterialPropertyOptions = new PolylineGlowMaterialPropertyOptions();
    polylineGlowMaterialPropertyOptions.color = new ConstantProperty<>(Color.DEEPSKYBLUE());
    polylineGlowMaterialPropertyOptions.glowPower = new ConstantProperty<>(0.25);
    polylineGraphicsOptions.material = new PolylineGlowMaterialProperty(polylineGlowMaterialPropertyOptions);
    PolylineGraphics polylineGraphics = new PolylineGraphics(polylineGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.polyline = polylineGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    positions = new Cartesian3[40];
    for (int i = 0; i < 40; ++i) {
        positions[i] = Cartesian3.fromDegrees(-100.0 + i, 9.0);
    }
    wallGraphicsOptions = new WallGraphicsOptions();
    wallGraphicsOptions.positions = new ConstantProperty<>(Cartesian3.fromDegreesArrayHeights(new double[] { -90.0, 43.0, 100000.0, -87.5, 45.0, 100000.0, -85.0, 43.0, 100000.0, -87.5, 41.0, 100000.0, -90.0, 43.0, 100000.0 }));
    CheckerboardMaterialPropertyOptions checkerboardMaterialPropertyOptions = new CheckerboardMaterialPropertyOptions();
    checkerboardMaterialPropertyOptions.repeat = new ConstantProperty<>(new Cartesian2(20.0, 6.0));
    wallGraphicsOptions.material = new CheckerboardMaterialProperty(checkerboardMaterialPropertyOptions);
    wallGraphics = new WallGraphics(wallGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.wall = wallGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    CorridorGraphicsOptions corridorGraphicsOptions = new CorridorGraphicsOptions();
    corridorGraphicsOptions.positions = new ConstantProperty<>(Cartesian3.fromDegreesArray(new double[] { -120.0, 45.0, -125.0, 50.0, -125.0, 55.0 }));
    corridorGraphicsOptions.width = new ConstantProperty<>(100000);
    colorRandomOptions = new ColorRandomOptions();
    colorRandomOptions.alpha = 1.0f;
    corridorGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
    CorridorGraphics corridorGraphics = new CorridorGraphics(corridorGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.corridor = corridorGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    corridorGraphicsOptions = new CorridorGraphicsOptions();
    corridorGraphicsOptions.positions = new ConstantProperty<>(Cartesian3.fromDegreesArray(new double[] { -120.0, 45.0, -125.0, 50.0, -125.0, 55.0 }));
    corridorGraphicsOptions.width = new ConstantProperty<>(100000);
    corridorGraphicsOptions.height = new ConstantProperty<>(300000);
    corridorGraphicsOptions.extrudedHeight = new ConstantProperty<>(400000);
    colorRandomOptions = new ColorRandomOptions();
    colorRandomOptions.alpha = 0.7f;
    corridorGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
    corridorGraphics = new CorridorGraphics(corridorGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.corridor = corridorGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    corridorGraphicsOptions = new CorridorGraphicsOptions();
    corridorGraphicsOptions.positions = new ConstantProperty<>(Cartesian3.fromDegreesArray(new double[] { -120.0, 45.0, -125.0, 50.0, -125.0, 55.0 }));
    corridorGraphicsOptions.width = new ConstantProperty<>(100000);
    corridorGraphicsOptions.height = new ConstantProperty<>(700000.0);
    corridorGraphicsOptions.outline = new ConstantProperty<>(true);
    corridorGraphicsOptions.outlineColor = new ConstantProperty<>(Color.WHITE());
    corridorGraphicsOptions.outlineWidth = new ConstantProperty<>(4);
    colorRandomOptions = new ColorRandomOptions();
    colorRandomOptions.alpha = 0.7f;
    corridorGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
    corridorGraphics = new CorridorGraphics(corridorGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.corridor = corridorGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    PolylineVolumeGraphicsOptions polylineVolumeGraphicsOptions = new PolylineVolumeGraphicsOptions();
    polylineVolumeGraphicsOptions.positions = new ConstantProperty<>(Cartesian3.fromDegreesArrayHeights(new double[] { -102.0, 15.0, 100000.0, -105.0, 20.0, 200000.0, -110.0, 20.0, 100000.0 }));
    polylineVolumeGraphicsOptions.outline = new ConstantProperty<>(true);
    polylineVolumeGraphicsOptions.outlineColor = new ConstantProperty<>(Color.WHITE());
    polylineVolumeGraphicsOptions.outlineWidth = new ConstantProperty<>(1);
    colorRandomOptions = new ColorRandomOptions();
    colorRandomOptions.alpha = 1.0f;
    polylineVolumeGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
    polylineVolumeGraphicsOptions.shape = new ConstantProperty<>(startPositions(7, 30000.0, 20000.0));
    PolylineVolumeGraphics polylineVolumeGraphics = new PolylineVolumeGraphics(polylineVolumeGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.polylineVolume = polylineVolumeGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    polylineVolumeGraphicsOptions = new PolylineVolumeGraphicsOptions();
    polylineVolumeGraphicsOptions.positions = new ConstantProperty<>(Cartesian3.fromDegreesArray(new double[] { -102.0, 15.0, -105.0, 20.0, -110.0, 20.0 }));
    colorRandomOptions = new ColorRandomOptions();
    colorRandomOptions.alpha = 1.0f;
    polylineVolumeGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.fromRandom(colorRandomOptions)));
    polylineVolumeGraphicsOptions.shape = new ConstantProperty<>(startPositions(7, 30000.0, 20000.0));
    polylineVolumeGraphics = new PolylineVolumeGraphics(polylineVolumeGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.polylineVolume = polylineVolumeGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    polylineVolumeGraphicsOptions = new PolylineVolumeGraphicsOptions();
    polylineVolumeGraphicsOptions.positions = new ConstantProperty<>(Cartesian3.fromDegreesArray(new double[] { -104.0, 13.0, -107.0, 18.0, -112.0, 18.0 }));
    polylineVolumeGraphicsOptions.material = new ColorMaterialProperty(new ConstantProperty<>(Color.WHITE()));
    polylineVolumeGraphicsOptions.shape = new ConstantProperty<>(computeCircle(40000));
    polylineVolumeGraphics = new PolylineVolumeGraphics(polylineVolumeGraphicsOptions);
    entityOptions = new EntityOptions();
    entityOptions.polylineVolume = polylineVolumeGraphics;
    csVPanel.getViewer().entities().add(new Entity(entityOptions));
    contentPanel.add(new HTML("<p>Demonstrates the wide variety of available geometry and appearances.</p>"));
    contentPanel.add(csVPanel);
    initWidget(contentPanel);
}
Also used : Entity(org.cesiumjs.cs.datasources.Entity) StripeMaterialPropertyOptions(org.cesiumjs.cs.datasources.properties.options.StripeMaterialPropertyOptions) PolylineGlowMaterialPropertyOptions(org.cesiumjs.cs.datasources.properties.options.PolylineGlowMaterialPropertyOptions) HTML(com.google.gwt.user.client.ui.HTML) EntityOptions(org.cesiumjs.cs.datasources.options.EntityOptions) ColorRandomOptions(org.cesiumjs.cs.core.options.ColorRandomOptions) ViewerPanel(org.cesiumjs.cs.widgets.ViewerPanel) CheckerboardMaterialPropertyOptions(org.cesiumjs.cs.datasources.properties.options.CheckerboardMaterialPropertyOptions)

Example 3 with PolylineGlowMaterialPropertyOptions

use of org.cesiumjs.cs.datasources.properties.options.PolylineGlowMaterialPropertyOptions in project gwt-cs by iSergio.

the class Interpolation method buildPanel.

@Override
public void buildPanel() {
    csVPanel = new ViewerPanel();
    csVPanel.getViewer().scene().globe.enableLighting = false;
    CesiumTerrainProviderOptions cesiumTerrainProviderOptions = new CesiumTerrainProviderOptions();
    cesiumTerrainProviderOptions.url = "https://assets.agi.com/stk-terrain/world";
    cesiumTerrainProviderOptions.requestWaterMask = true;
    cesiumTerrainProviderOptions.requestVertexNormals = true;
    csVPanel.getViewer().terrainProvider = new CesiumTerrainProvider(cesiumTerrainProviderOptions);
    csVPanel.getViewer().scene().globe.depthTestAgainstTerrain = true;
    Math.setRandomNumberSeed(3);
    _start = JulianDate.fromDate(new JsDate(2015, 2, 25, 16));
    _stop = JulianDate.addSeconds(_start, 360, new JulianDate());
    csVPanel.getViewer().clock().startTime = _start.clone();
    csVPanel.getViewer().clock().stopTime = _stop.clone();
    csVPanel.getViewer().clock().currentTime = _start.clone();
    csVPanel.getViewer().clock().clockRange = ClockRange.LOOP_STOP();
    csVPanel.getViewer().clock().multiplier = 10;
    csVPanel.getViewer().timeline().zoomTo(_start, _stop);
    PositionProperty position = computeCirclularFlight(-112.110693, 36.0994841, 0.03);
    TimeIntervalOptions timeIntervalOptions = new TimeIntervalOptions();
    timeIntervalOptions.start = _start;
    timeIntervalOptions.stop = _stop;
    ModelGraphicsOptions modelGraphicsOptions = new ModelGraphicsOptions();
    modelGraphicsOptions.uri = new ConstantProperty<>(GWT.getModuleBaseURL() + "SampleData/models/CesiumAir/Cesium_Air.gltf");
    modelGraphicsOptions.minimumPixelSize = new ConstantProperty<>(64);
    PolylineGlowMaterialPropertyOptions polylineGlowMaterialPropertyOptions = new PolylineGlowMaterialPropertyOptions();
    polylineGlowMaterialPropertyOptions.glowPower = new ConstantProperty<>(0.1);
    polylineGlowMaterialPropertyOptions.color = new ConstantProperty<>(Color.YELLOW());
    PathGraphicsOptions pathGraphicsOptions = new PathGraphicsOptions();
    pathGraphicsOptions.resolution = new ConstantProperty<>(1);
    pathGraphicsOptions.material = new PolylineGlowMaterialProperty(polylineGlowMaterialPropertyOptions);
    pathGraphicsOptions.width = new ConstantProperty<>(10);
    EntityOptions entityOptions = new EntityOptions();
    entityOptions.availability = new TimeIntervalCollection(new TimeInterval[] { new TimeInterval(timeIntervalOptions) });
    entityOptions.position = position;
    entityOptions.orientation = new VelocityOrientationProperty(position);
    entityOptions.model = new ModelGraphics(modelGraphicsOptions);
    entityOptions.path = new PathGraphics(pathGraphicsOptions);
    _entity = csVPanel.getViewer().entities().add(entityOptions);
    ListBox interpolationsLBox = new ListBox();
    interpolationsLBox.addItem("Interpolation: Linear Approximation", "0");
    interpolationsLBox.addItem("Interpolation: Lagrange Polynomial Approximation", "1");
    interpolationsLBox.addItem("Interpolation: Hermite Polynomial Approximation", "2");
    interpolationsLBox.addChangeHandler(new ChangeHandler() {

        @Override
        public void onChange(ChangeEvent changeEvent) {
            ListBox source = (ListBox) changeEvent.getSource();
            SampledPropertyInterpolationOptions sampledPropertyInterpolationOptions = new SampledPropertyInterpolationOptions();
            switch(source.getSelectedValue()) {
                case "0":
                    sampledPropertyInterpolationOptions.interpolationDegree = 1;
                    sampledPropertyInterpolationOptions.interpolationAlgorithm = LinearApproximation.instance();
                    ((SampledPositionProperty) _entity.position).setInterpolationOptions(sampledPropertyInterpolationOptions);
                    break;
                case "1":
                    sampledPropertyInterpolationOptions.interpolationDegree = 5;
                    sampledPropertyInterpolationOptions.interpolationAlgorithm = LagrangePolynomialApproximation.instance();
                    ((SampledPositionProperty) _entity.position).setInterpolationOptions(sampledPropertyInterpolationOptions);
                    break;
                case "2":
                    sampledPropertyInterpolationOptions.interpolationDegree = 2;
                    sampledPropertyInterpolationOptions.interpolationAlgorithm = HermitePolynomialApproximation.instance();
                    ((SampledPositionProperty) _entity.position).setInterpolationOptions(sampledPropertyInterpolationOptions);
                    break;
                default:
                    break;
            }
        }
    });
    Button viewTopDownBtn = new Button("View Top Down");
    viewTopDownBtn.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent clickEvent) {
            Viewer viewer = csVPanel.getViewer();
            viewer.trackedEntity = (Entity) JsObject.undefined();
            viewer.zoomTo(viewer.entities(), new HeadingPitchRange(0, Math.toRadians(-90), 0));
        }
    });
    Button viewSideBtn = new Button("View Side");
    viewSideBtn.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent clickEvent) {
            Viewer viewer = csVPanel.getViewer();
            viewer.trackedEntity = (Entity) JsObject.undefined();
            viewer.zoomTo(viewer.entities(), new HeadingPitchRange(Math.toRadians(-90), Math.toRadians(-15), 7500.0));
        }
    });
    Button viewAircraftBtn = new Button("View Aircraft");
    viewAircraftBtn.addClickHandler(new ClickHandler() {

        @Override
        public void onClick(ClickEvent clickEvent) {
            Viewer viewer = csVPanel.getViewer();
            viewer.trackedEntity = _entity;
        }
    });
    HorizontalPanel btnHPanel = new HorizontalPanel();
    btnHPanel.setSpacing(5);
    btnHPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
    btnHPanel.add(interpolationsLBox);
    btnHPanel.add(viewTopDownBtn);
    btnHPanel.add(viewSideBtn);
    btnHPanel.add(viewAircraftBtn);
    AbsolutePanel aPanel = new AbsolutePanel();
    aPanel.add(csVPanel);
    aPanel.add(btnHPanel, 20, 20);
    contentPanel.add(new HTML("<p>This example shows simple Cesium application</p>"));
    contentPanel.add(aPanel);
    initWidget(contentPanel);
}
Also used : CesiumTerrainProviderOptions(org.cesiumjs.cs.core.providers.options.CesiumTerrainProviderOptions) Entity(org.cesiumjs.cs.datasources.Entity) SampledPropertyInterpolationOptions(org.cesiumjs.cs.datasources.properties.options.SampledPropertyInterpolationOptions) PolylineGlowMaterialPropertyOptions(org.cesiumjs.cs.datasources.properties.options.PolylineGlowMaterialPropertyOptions) ClickEvent(com.google.gwt.event.dom.client.ClickEvent) Viewer(org.cesiumjs.cs.widgets.Viewer) JsDate(org.cesiumjs.cs.js.JsDate) ModelGraphics(org.cesiumjs.cs.datasources.graphics.ModelGraphics) EntityOptions(org.cesiumjs.cs.datasources.options.EntityOptions) ChangeHandler(com.google.gwt.event.dom.client.ChangeHandler) CesiumTerrainProvider(org.cesiumjs.cs.core.providers.CesiumTerrainProvider) ViewerPanel(org.cesiumjs.cs.widgets.ViewerPanel) TimeIntervalOptions(org.cesiumjs.cs.core.options.TimeIntervalOptions) TimeIntervalCollection(org.cesiumjs.cs.collections.TimeIntervalCollection) PathGraphics(org.cesiumjs.cs.datasources.graphics.PathGraphics) PathGraphicsOptions(org.cesiumjs.cs.datasources.graphics.options.PathGraphicsOptions) ModelGraphicsOptions(org.cesiumjs.cs.datasources.graphics.options.ModelGraphicsOptions) ClickHandler(com.google.gwt.event.dom.client.ClickHandler) ChangeEvent(com.google.gwt.event.dom.client.ChangeEvent)

Aggregations

PolylineGlowMaterialPropertyOptions (org.cesiumjs.cs.datasources.properties.options.PolylineGlowMaterialPropertyOptions)3 Entity (org.cesiumjs.cs.datasources.Entity)2 EntityOptions (org.cesiumjs.cs.datasources.options.EntityOptions)2 ViewerPanel (org.cesiumjs.cs.widgets.ViewerPanel)2 ChangeEvent (com.google.gwt.event.dom.client.ChangeEvent)1 ChangeHandler (com.google.gwt.event.dom.client.ChangeHandler)1 ClickEvent (com.google.gwt.event.dom.client.ClickEvent)1 ClickHandler (com.google.gwt.event.dom.client.ClickHandler)1 HTML (com.google.gwt.user.client.ui.HTML)1 JsOverlay (jsinterop.annotations.JsOverlay)1 TimeIntervalCollection (org.cesiumjs.cs.collections.TimeIntervalCollection)1 ColorRandomOptions (org.cesiumjs.cs.core.options.ColorRandomOptions)1 TimeIntervalOptions (org.cesiumjs.cs.core.options.TimeIntervalOptions)1 CesiumTerrainProvider (org.cesiumjs.cs.core.providers.CesiumTerrainProvider)1 CesiumTerrainProviderOptions (org.cesiumjs.cs.core.providers.options.CesiumTerrainProviderOptions)1 ModelGraphics (org.cesiumjs.cs.datasources.graphics.ModelGraphics)1 PathGraphics (org.cesiumjs.cs.datasources.graphics.PathGraphics)1 ModelGraphicsOptions (org.cesiumjs.cs.datasources.graphics.options.ModelGraphicsOptions)1 PathGraphicsOptions (org.cesiumjs.cs.datasources.graphics.options.PathGraphicsOptions)1 CheckerboardMaterialPropertyOptions (org.cesiumjs.cs.datasources.properties.options.CheckerboardMaterialPropertyOptions)1