You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

390 lines
11 KiB
TypeScript

import {
ArcGisMapServerImageryProvider,
ArcGISTiledElevationTerrainProvider,
BingMapsImageryProvider,
BoxGeometry,
BoxOutlineGeometry,
CallbackProperty,
Camera,
Cartesian3,
CesiumTerrainProvider,
CheckerboardMaterialProperty,
CircleGeometry,
CircleOutlineGeometry,
Color,
ColorMaterialProperty,
CompositeMaterialProperty,
CompositePositionProperty,
CompositeProperty,
ConstantPositionProperty,
ConstantProperty,
CoplanarPolygonGeometry,
CoplanarPolygonOutlineGeometry,
CorridorGeometry,
CorridorOutlineGeometry,
CustomDataSource,
CylinderGeometry,
CylinderOutlineGeometry,
CzmlDataSource,
DataSource,
EllipseGeometry,
EllipseOutlineGeometry,
EllipsoidGeometry,
EllipsoidOutlineGeometry,
EllipsoidTerrainProvider,
EntityCollection,
FrustumGeometry,
FrustumOutlineGeometry,
GeoJsonDataSource,
GeometryInstance,
GoogleEarthEnterpriseImageryProvider,
GoogleEarthEnterpriseMapsProvider,
GoogleEarthEnterpriseMetadata,
GoogleEarthEnterpriseTerrainProvider,
GridImageryProvider,
GridMaterialProperty,
GroundPolylineGeometry,
ImageMaterialProperty,
ImageryProvider,
IonImageryProvider,
KmlDataSource,
MapboxImageryProvider,
MapboxStyleImageryProvider,
MaterialProperty,
NodeTransformationProperty,
OpenStreetMapImageryProvider,
OrthographicFrustum,
PlaneGeometry,
PlaneOutlineGeometry,
PolygonGeometry,
PolygonHierarchy,
PolygonOutlineGeometry,
PolylineArrowMaterialProperty,
PolylineDashMaterialProperty,
PolylineGeometry,
PolylineGlowMaterialProperty,
PolylineOutlineMaterialProperty,
PolylineVolumeGeometry,
PolylineVolumeOutlineGeometry,
PositionProperty,
PositionPropertyArray,
Property,
PropertyArray,
PropertyBag,
Quaternion,
Rectangle,
RectangleGeometry,
RectangleOutlineGeometry,
ReferenceProperty,
SampledPositionProperty,
SampledProperty,
Scene,
SimplePolylineGeometry,
SingleTileImageryProvider,
SphereGeometry,
SphereOutlineGeometry,
StripeMaterialProperty,
TerrainProvider,
TileCoordinatesImageryProvider,
TileMapServiceImageryProvider,
TimeIntervalCollectionPositionProperty,
TimeIntervalCollectionProperty,
UrlTemplateImageryProvider,
VelocityOrientationProperty,
VelocityVectorProperty,
VRTheWorldTerrainProvider,
WallGeometry,
WallOutlineGeometry,
WebMapServiceImageryProvider,
WebMapTileServiceImageryProvider,
writeTextToCanvas,
} from "cesium";
// Verify ImageryProvider instances conform to the expected interface
let imageryProvider: ImageryProvider;
imageryProvider = new WebMapServiceImageryProvider({ url: "", layers: "0" });
imageryProvider = new ArcGisMapServerImageryProvider({ url: "" });
imageryProvider = new BingMapsImageryProvider({ url: "", key: "" });
imageryProvider = new OpenStreetMapImageryProvider({ url: "" });
imageryProvider = new TileMapServiceImageryProvider({ url: "" });
imageryProvider = new GridImageryProvider({
tileWidth: 256,
tileHeight: 256,
color: new Color(1.0, 1.0, 1.0, 0.4),
});
imageryProvider = new IonImageryProvider({ assetId: 2 });
imageryProvider = new MapboxImageryProvider({ mapId: "", accessToken: "" });
imageryProvider = new MapboxStyleImageryProvider({
styleId: "",
accessToken: "",
});
imageryProvider = new SingleTileImageryProvider({ url: "" });
imageryProvider = new TileCoordinatesImageryProvider();
imageryProvider = new UrlTemplateImageryProvider({ url: "" });
imageryProvider = new WebMapServiceImageryProvider({ url: "", layers: "" });
imageryProvider = new GoogleEarthEnterpriseImageryProvider({
url: "",
metadata: new GoogleEarthEnterpriseMetadata(""),
});
imageryProvider = new GoogleEarthEnterpriseMapsProvider({
url: "",
channel: 1,
});
imageryProvider = new WebMapTileServiceImageryProvider({
url: "",
layer: "",
style: "",
tileMatrixSetID: "",
});
// Verify TerrainProvider instances conform to the expected interface
let terrainProvider: TerrainProvider;
terrainProvider = new ArcGISTiledElevationTerrainProvider({ url: "" });
terrainProvider = new CesiumTerrainProvider({ url: "" });
terrainProvider = new EllipsoidTerrainProvider();
terrainProvider = new VRTheWorldTerrainProvider({ url: "" });
terrainProvider = new GoogleEarthEnterpriseTerrainProvider({
url: "",
metadata: new GoogleEarthEnterpriseMetadata(""),
});
// Verify DataSource instances conform to the expected interface
let dataSource: DataSource;
dataSource = new CzmlDataSource();
dataSource = new GeoJsonDataSource();
dataSource = new KmlDataSource({
canvas: document.createElement("canvas"),
camera: new Camera(new Scene()),
});
dataSource = new CustomDataSource();
// Verify Property instances conform to the expected interface
let property: Property;
property = new CallbackProperty(() => 0, false);
property = new ConstantProperty(1);
property = new TimeIntervalCollectionProperty();
property = new CompositeProperty();
property = new SampledProperty(Cartesian3);
property = new PropertyBag();
property = new PropertyArray();
property = new PositionProperty();
property = new MaterialProperty();
property = new VelocityVectorProperty();
property = new VelocityOrientationProperty();
property = new PositionPropertyArray();
property = new NodeTransformationProperty();
property = new ReferenceProperty(new EntityCollection(), "object1", [
"billboard",
"scale",
]);
// Verify PositionProperty instances conform to the expected PositionProperty and Property interfaces
let positionProperty: PositionProperty;
property = positionProperty = new SampledPositionProperty();
property = positionProperty = new CompositePositionProperty();
property = positionProperty = new ConstantPositionProperty();
property = positionProperty = new TimeIntervalCollectionPositionProperty();
property = positionProperty = new ReferenceProperty(
new EntityCollection(),
"object1",
["billboard", "scale"]
);
// Verify MaterialProperty instances conform to the expected MaterialProperty and Property interfaces
let materialProperty: MaterialProperty;
property = materialProperty = new ColorMaterialProperty();
property = materialProperty = new CompositeMaterialProperty();
property = materialProperty = new GridMaterialProperty();
property = materialProperty = new ImageMaterialProperty();
property = materialProperty = new PolylineGlowMaterialProperty();
property = materialProperty = new PolylineOutlineMaterialProperty();
property = materialProperty = new StripeMaterialProperty();
property = materialProperty = new CheckerboardMaterialProperty();
property = materialProperty = new PolylineDashMaterialProperty();
property = materialProperty = new PolylineArrowMaterialProperty();
// Verify GeometryInstance can be take XXXGeometry objects.
let geometryInstance: GeometryInstance;
geometryInstance = new GeometryInstance({
geometry: new BoxGeometry({
minimum: new Cartesian3(0, 0, 0),
maximum: new Cartesian3(1, 1, 1),
}),
});
geometryInstance = new GeometryInstance({
geometry: new BoxOutlineGeometry({
minimum: new Cartesian3(0, 0, 0),
maximum: new Cartesian3(1, 1, 1),
}),
});
geometryInstance = new GeometryInstance({
geometry: new CircleGeometry({
center: new Cartesian3(0, 0, 0),
radius: 10,
}),
});
geometryInstance = new GeometryInstance({
geometry: new CircleOutlineGeometry({
center: new Cartesian3(0, 0, 0),
radius: 10,
}),
});
geometryInstance = new GeometryInstance({
geometry: new CoplanarPolygonGeometry({
polygonHierarchy: new PolygonHierarchy(),
}),
});
geometryInstance = new GeometryInstance({
geometry: new CoplanarPolygonOutlineGeometry({
polygonHierarchy: new PolygonHierarchy(),
}),
});
geometryInstance = new GeometryInstance({
geometry: new CorridorGeometry({ positions: [], width: 1 }),
});
geometryInstance = new GeometryInstance({
geometry: new CorridorOutlineGeometry({ positions: [], width: 1 }),
});
geometryInstance = new GeometryInstance({
geometry: new CylinderGeometry({
bottomRadius: 10,
length: 10,
topRadius: 10,
}),
});
geometryInstance = new GeometryInstance({
geometry: new CylinderOutlineGeometry({
bottomRadius: 10,
length: 10,
topRadius: 10,
}),
});
geometryInstance = new GeometryInstance({
geometry: new EllipseGeometry({
center: Cartesian3.ZERO,
semiMajorAxis: 1,
semiMinorAxis: 10,
}),
});
geometryInstance = new GeometryInstance({
geometry: new EllipseOutlineGeometry({
center: Cartesian3.ZERO,
semiMajorAxis: 1,
semiMinorAxis: 10,
}),
});
geometryInstance = new GeometryInstance({
geometry: new EllipsoidGeometry(),
});
geometryInstance = new GeometryInstance({
geometry: new EllipsoidOutlineGeometry(),
});
geometryInstance = new GeometryInstance({
geometry: new FrustumGeometry({
frustum: new OrthographicFrustum(),
orientation: new Quaternion(),
origin: Cartesian3.ZERO,
}),
});
geometryInstance = new GeometryInstance({
geometry: new FrustumOutlineGeometry({
frustum: new OrthographicFrustum(),
orientation: new Quaternion(),
origin: Cartesian3.ZERO,
}),
});
geometryInstance = new GeometryInstance({
geometry: new GroundPolylineGeometry({ positions: [] }),
});
geometryInstance = new GeometryInstance({
geometry: new PlaneGeometry(),
});
geometryInstance = new GeometryInstance({
geometry: new PlaneOutlineGeometry(),
});
geometryInstance = new GeometryInstance({
geometry: new PolygonGeometry({ polygonHierarchy: new PolygonHierarchy() }),
});
geometryInstance = new GeometryInstance({
geometry: new PolygonOutlineGeometry({
polygonHierarchy: new PolygonHierarchy(),
}),
});
geometryInstance = new GeometryInstance({
geometry: new PolylineGeometry({
positions: [],
}),
});
geometryInstance = new GeometryInstance({
geometry: new PolylineVolumeGeometry({
polylinePositions: [],
shapePositions: [],
}),
});
geometryInstance = new GeometryInstance({
geometry: new PolylineVolumeOutlineGeometry({
polylinePositions: [],
shapePositions: [],
}),
});
geometryInstance = new GeometryInstance({
geometry: new RectangleGeometry({ rectangle: Rectangle.MAX_VALUE }),
});
geometryInstance = new GeometryInstance({
geometry: new RectangleOutlineGeometry({ rectangle: Rectangle.MAX_VALUE }),
});
geometryInstance = new GeometryInstance({
geometry: new SimplePolylineGeometry({
positions: [],
}),
});
geometryInstance = new GeometryInstance({
geometry: new SphereGeometry(),
});
geometryInstance = new GeometryInstance({
geometry: new SphereOutlineGeometry(),
});
geometryInstance = new GeometryInstance({
geometry: new WallGeometry({
positions: [],
}),
});
geometryInstance = new GeometryInstance({
geometry: new WallOutlineGeometry({
positions: [],
}),
});
const canvas: HTMLCanvasElement | undefined = writeTextToCanvas("test");