/**
* A {@link Marker} with an HTML label attached to it, managed by an {@link AnnotationsPlugin}.
*
* See {@link AnnotationsPlugin} for more info.
*/
export class Annotation extends Marker {
/**
* @private
*/
private constructor();
/**
* The {@link AnnotationsPlugin} this Annotation was created by.
* @type {AnnotationsPlugin}
*/
plugin: any;
_container: any;
_htmlDirty: boolean;
_marker: any;
_onMouseClickedExternalMarker: () => void;
_onMouseEnterExternalMarker: () => void;
_onMouseLeaveExternalMarker: () => void;
_markerExternal: boolean;
_markerHTML: any;
_label: any;
_labelExternal: boolean;
_labelHTML: any;
_markerShown: boolean;
_labelShown: boolean;
_values: any;
_layoutDirty: boolean;
_visibilityDirty: boolean;
_onTick: any;
/**
* Optional World-space position for {@link Camera#eye}, used when this Annotation is associated with a {@link Camera} position.
*
* Undefined by default.
*
* @type {Number[]} Eye position.
*/
eye: number[];
/**
* Optional World-space position for {@link Camera#look}, used when this Annotation is associated with a {@link Camera} position.
*
* Undefined by default.
*
* @type {Number[]} The "look" vector.
*/
look: number[];
/**
* Optional World-space position for {@link Camera#up}, used when this Annotation is associated with a {@link Camera} position.
*
* Undefined by default.
*
* @type {Number[]} The "up" vector.
*/
up: number[];
/**
* Optional projection type for {@link Camera#projection}, used when this Annotation is associated with a {@link Camera} position.
*
* Undefined by default.
*
* @type {String} The projection type - "perspective" or "ortho"..
*/
projection: string;
/**
* @private
*/
private _buildHTML;
/**
* @private
*/
private _updatePosition;
/**
* @private
*/
private _renderTemplate;
/**
* Sets whether or not to show this Annotation's marker.
*
* The marker shows the Annotation's position.
*
* The marker is only visible when both this property and {@link Annotation#visible} are ````true````.
*
* See {@link AnnotationsPlugin} for more info.
*
* @param {Boolean} shown Whether to show the marker.
*/
setMarkerShown(shown: boolean): void;
/**
* Gets whether or not to show this Annotation's marker.
*
* The marker shows the Annotation's position.
*
* The marker is only visible when both this property and {@link Annotation#visible} are ````true````.
*
* See {@link AnnotationsPlugin} for more info.
*
* @returns {Boolean} Whether to show the marker.
*/
getMarkerShown(): boolean;
/**
* Sets whether or not to show this Annotation's label.
*
* The label is only visible when both this property and {@link Annotation#visible} are ````true````.
*
* See {@link AnnotationsPlugin} for more info.
*
* @param {Boolean} shown Whether to show the label.
*/
setLabelShown(shown: boolean): void;
/**
* Gets whether or not to show this Annotation's label.
*
* The label is only visible when both this property and {@link Annotation#visible} are ````true````.
*
* See {@link AnnotationsPlugin} for more info.
*
* @returns {Boolean} Whether to show the label.
*/
getLabelShown(): boolean;
/**
* Sets the value of a field within the HTML templates for either the Annotation's marker or label.
*
* See {@link AnnotationsPlugin} for more info.
*
* @param {String} key Identifies the field.
* @param {String} value The field's value.
*/
setField(key: string, value: string): void;
/**
* Gets the value of a field within the HTML templates for either the Annotation's marker or label.
*
* See {@link AnnotationsPlugin} for more info.
*
* @param {String} key Identifies the field.
* @returns {String} The field's value.
*/
getField(key: string): string;
/**
* Sets values for multiple placeholders within the Annotation's HTML templates for marker and label.
*
* See {@link AnnotationsPlugin} for more info.
*
* @param {{String:(String|Number)}} values Map of field values.
*/
setValues(values: {
String: (string | number);
}): void;
/**
* Gets the values that were set for the placeholders within this Annotation's HTML marker and label templates.
*
* See {@link AnnotationsPlugin} for more info.
*
* @RETURNS {{String:(String|Number)}} Map of field values.
*/
getValues(): any;
}
import { Marker } from "../../viewer/scene/marker/Marker.js";