@openglobus/og
Version:
[openglobus](https://www.openglobus.org/) is a javascript/typescript library designed to display interactive 3d maps and planets with map tiles, imagery and vector data, markers, and 3D objects. It uses the WebGL technology, open source, and completely fr
70 lines (69 loc) • 1.96 kB
TypeScript
import { BaseGeoImage } from "./BaseGeoImage";
import type { IBaseGeoImageParams } from "./BaseGeoImage";
import { Material } from "./Material";
export interface IGeoVideoParams extends IBaseGeoImageParams {
videoElement?: HTMLVideoElement;
src?: string;
}
/**
* Used to load and display a video stream by specific corners coordinates on the globe.
* @class
* @extends {BaseGeoImage}
*/
declare class GeoVideo extends BaseGeoImage {
/**
* HTML5 video element object.
* @protected
* @type {HTMLVideoElement}
*/
protected _video: HTMLVideoElement | null;
/**
* Video source url path.
* @protected
* @type {string}
*/
protected _src: string | null;
constructor(name: string | null, options?: IGeoVideoParams);
get instanceName(): string;
/**
* Sets video source url path.
* @public
* @param {string} src - Video url path.
*/
setSrc(src: string): void;
/**
* Sets HTML5 video object.
* @public
* @param {HTMLVideoElement} video - HTML5 video element object.
*/
setVideoElement(video: HTMLVideoElement): void;
/**
* Sets layer visibility.
* @public
* @param {boolean} visibility - Layer visibility.
*/
setVisibility(visibility: boolean): void;
/**
* Creates or refresh source video GL texture.
* @virtual
* @protected
*/
protected _createSourceTexture(): void;
/**
* @private
*/
protected _onCanPlay(video: HTMLVideoElement): void;
protected _onError(video: HTMLVideoElement): void;
/**
* Loads planet segment material. In this case - GeoImage source video.
* @public
* @param {Material} material - GeoImage planet material.
*/
loadMaterial(material: Material): void;
/**
* @virtual
* @param {Material} material - GeoImage material.
*/
abortMaterialLoading(material: Material): void;
}
export { GeoVideo };