Commit c8efcf67 authored by iSergio's avatar iSergio
Browse files

Code review. New example. Fix examples. New functional.

parent 1deb0680
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -7,7 +7,7 @@
  <parent>
    <artifactId>cesiumjs4gwt</artifactId>
    <groupId>org.cesiumjs</groupId>
    <version>1.74</version>
    <version>1.79.1-SNAPSHOT</version>
  </parent>

  <name>CesiumJS GWT Wrapper</name>
+383 −386
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@

package org.cesiumjs.cs;

import jsinterop.annotations.*;
import org.cesiumjs.cs.collections.EntityCollection;
import org.cesiumjs.cs.core.*;
import org.cesiumjs.cs.core.providers.CesiumTerrainProvider;
@@ -27,14 +28,6 @@ import org.cesiumjs.cs.scene.Material;
import org.cesiumjs.cs.scene.Scene;
import org.cesiumjs.cs.widgets.Command;

import jsinterop.annotations.JsConstructor;
import jsinterop.annotations.JsFunction;
import jsinterop.annotations.JsMethod;
import jsinterop.annotations.JsOverlay;
import jsinterop.annotations.JsPackage;
import jsinterop.annotations.JsProperty;
import jsinterop.annotations.JsType;

/**
 * @author Serge Silaev aka iSergio
 */
@@ -183,15 +176,16 @@ public class Cesium {
                                                                                 Cartographic[] positions);

    // TODO: Example

    /**
     * Destroys an object. Each of the object's functions, including functions in
     * its prototype, is replaced with a function that throws a DeveloperError,
     * except for the object's isDestroyed function, which is set to a function that
     * returns true. The object's properties are removed with delete.
   *
     * <p>
     * This function is used by objects that hold native resources, e.g., WebGL
     * resources, which need to be
   *
     * <p>
     * explicitly released. Client code calls an object's destroy function, which
     * then releases the native resource and calls destroyObject to put itself in a
     * destroyed state.
@@ -202,15 +196,16 @@ public class Cesium {
    public static native void destroyObject(Object object);

    // TODO: Example

    /**
     * Destroys an object. Each of the object's functions, including functions in
     * its prototype, is replaced with a function that throws a DeveloperError,
     * except for the object's isDestroyed function, which is set to a function that
     * returns true. The object's properties are removed with delete.
   *
     * <p>
     * This function is used by objects that hold native resources, e.g., WebGL
     * resources, which need to be
   *
     * <p>
     * explicitly released. Client code calls an object's destroy function, which
     * then releases the native resource and calls destroyObject to put itself in a
     * destroyed state.
@@ -274,6 +269,7 @@ public class Cesium {
     * Creates a Material that combines multiple layers of color/gradient bands and maps them to terrain heights.
     * The shader does a binary search over all the heights to find out which colors are above and below a given height,
     * and interpolates between them for the final color. This material supports hundreds of entries relatively cheaply.
     *
     * @param options {@link ElevationBandMaterialOptions} with the following properties
     * @return A new Material instance.
     */
@@ -450,7 +446,8 @@ public class Cesium {
        public ElevationBandMaterialBand[] layers;

        @JsConstructor
    protected ElevationBandMaterialOptions() {}
        protected ElevationBandMaterialOptions() {
        }

        @JsOverlay
        public static ElevationBandMaterialOptions create(Scene scene, ElevationBandMaterialBand[] layers) {
+110 −113
Original line number Diff line number Diff line
@@ -16,11 +16,7 @@

package org.cesiumjs.cs.collections;

import jsinterop.annotations.JsConstructor;
import jsinterop.annotations.JsMethod;
import jsinterop.annotations.JsOverlay;
import jsinterop.annotations.JsProperty;
import jsinterop.annotations.JsType;
import jsinterop.annotations.*;
import org.cesiumjs.cs.collections.options.BillboardCollectionOptions;
import org.cesiumjs.cs.core.Matrix4;
import org.cesiumjs.cs.core.Transforms;
@@ -32,6 +28,7 @@ import org.cesiumjs.cs.scene.options.BillboardOptions;
/**
 * A renderable collection of billboards. Billboards are viewport-aligned images
 * positioned in the 3D scene.
 *
 * @author Serge Silaev aka iSergio
 */
// TODO: Examples
+30 −29
Original line number Diff line number Diff line
@@ -23,10 +23,15 @@ import jsinterop.annotations.JsType;

/**
 * Abstract class of Collection, not use it directly!.
 *
 * @author Serge Silaev aka iSergio
 */
@JsType(isNative = true, namespace = "Cesium", name = "Collection")
public abstract class Collection<T> {
    @JsConstructor
    protected Collection() {
    }

    /**
     * Returns the number of elements in this collection. This is commonly used with
     * Collection#get to iterate over all the elements in the collection.
@@ -34,10 +39,6 @@ public abstract class Collection<T> {
    @JsProperty(name = "length")
    public native int length();

  @JsConstructor
  protected Collection() {
  }

    @JsMethod
    public native T add(T value);

+226 −225
Original line number Diff line number Diff line
@@ -31,38 +31,11 @@ import org.cesiumjs.cs.datasources.Entity;
 * into a single new entity instance. If an entity has the same property in multiple collections,
 * the property of the Entity in the last collection of the list it belongs to is used.
 * CompositeEntityCollection can be used almost anywhere that a EntityCollection is used.
 *
 * @author Serge Silaev aka iSergio
 */
@JsType(isNative = true, namespace = "Cesium", name = "CompositeEntityCollection")
public class CompositeEntityCollection {
  /**
   * Gets the event that is fired when entities are added or removed from the
   * collection. The generated event is a
   */
  @JsProperty(name = "collectionChanged")
  @SuppressWarnings("rawtypes")
  public native Event collectionChanged();

  /**
   * Gets a globally unique identifier for this collection.
   */
  @JsProperty(name = "id")
  public native String id();

  /**
   * Gets the owner of this entity collection, ie. the data source or composite
   * entity collection which created it.
   */
  @JsProperty(name = "owner")
  public native Object owner();

  /**
   * Gets the array of Entity instances in the collection. This array should not
   * be modified directly.
   */
  @JsProperty(name = "values")
  public native Entity[] values();

    /**
     * Non-destructively composites multiple {@link EntityCollection} instances into
     * a single collection. If a Entity with the same ID exists in multiple
@@ -127,6 +100,34 @@ public class CompositeEntityCollection {
        //
    }

    /**
     * Gets the event that is fired when entities are added or removed from the
     * collection. The generated event is a
     */
    @JsProperty(name = "collectionChanged")
    @SuppressWarnings("rawtypes")
    public native Event collectionChanged();

    /**
     * Gets a globally unique identifier for this collection.
     */
    @JsProperty(name = "id")
    public native String id();

    /**
     * Gets the owner of this entity collection, ie. the data source or composite
     * entity collection which created it.
     */
    @JsProperty(name = "owner")
    public native Object owner();

    /**
     * Gets the array of Entity instances in the collection. This array should not
     * be modified directly.
     */
    @JsProperty(name = "values")
    public native Entity[] values();

    /**
     * Adds a collection to the composite.
     *
Loading