new quadFeature(arg) → {geo.quadFeature}
- Description:
Create a new instance of class quadFeature.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
arg |
geo.quadFeature.spec | Options object. |
Returns:
- Type
- geo.quadFeature
Extends
Members
idle
- Description:
Getter for the idle state. Read only.
- Source:
- Inherited From:
Properties:
Name | Type | Description |
---|---|---|
idle |
boolean |
|
Getter for the idle state. Read only.
ready
- Source:
- Inherited From:
Properties:
Name | Type | Description |
---|---|---|
ready |
boolean |
|
Methods
addChild(child) → {this}
- Description:
Add a child (or an array of children) to the object.
- Source:
- Inherited From:
Parameters:
Name | Type | Description |
---|---|---|
child |
geo.object | Array.<geo.object> | A child object or array of child objects. |
Returns:
- Type
- this
addPromise(promise) → {this}
- Description:
Add the promise here and also propagate up the scene tree.
- Source:
- Inherited From:
Parameters:
Name | Type | Description |
---|---|---|
promise |
Promise | A promise object. |
Returns:
- Type
- this
bin(valopt, actualValueopt) → {number|this}
- Description:
Get/Set bin of the feature. The bin number is used to determine the order of multiple features on the same layer. It has no effect except on the webgl renderer. A negative value hides the feature without stopping interaction with it. Otherwise, features with higher bin numbers are drawn above those with lower bin numbers. If two features have the same bin number, their order relative to one another is indeterminate and may be unstable.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
val |
number |
<optional> |
The new bin number. If |
actualValue |
boolean |
<optional> |
If truthy and |
Returns:
The current bin number or a reference to this
.
- Type
- number | this
boxSearch(lowerLeft, upperRight, optsopt, gcsopt) → {geo.feature.searchResult}
- Description:
Search for features contained within a rectangular region.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
lowerLeft |
geo.geoPosition | Lower-left corner. |
|||||||||||
upperRight |
geo.geoPosition | Upper-right corner. |
|||||||||||
opts |
object |
<optional> |
Additional search options. Properties
|
||||||||||
gcs |
string | geo.transform | null |
<optional> |
Input gcs. |
Returns:
An object with a list of features and feature indices that are located at the specified point.
buildTime(valopt) → {geo.timestamp|this}
- Description:
Get/Set timestamp of last time a build happened.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
val |
geo.timestamp |
<optional> |
The new build timestamp object or |
Returns:
- Type
- geo.timestamp | this
cacheUpdate(indexOrDataopt) → {this}
- Description:
If the data has changed and caching has been used, update one or all data items by clearing their caches and updating the modified flag.
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
indexOrData |
number | object |
<optional> |
If not specified, clear all quad caches. If a number, clear that index-numbered entry from the data array. Otherwise, clear the matching entry in the data array. |
Returns:
- Type
- this
children() → {Array.<geo.object>}
- Description:
Get an array of the child objects.
- Source:
- Inherited From:
Returns:
A copy of the array of child objects.
- Type
- Array.<geo.object>
data(dataopt) → {array|this}
- Description:
Get/Set the data array for the feature. This is equivalent to getting or setting the
data
style, except that setting the data array via this method updates the data timestamp, whereas setting it via the style does not.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
data |
array |
<optional> |
A new data array or |
Returns:
- Type
- array | this
dataTime(valopt) → {geo.timestamp|this}
- Description:
Get/Set timestamp of data change.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
val |
geo.timestamp |
<optional> |
The new data timestamp object or |
Returns:
- Type
- geo.timestamp | this
dependentFeatures(argopt) → {Array.<geo.feature>|this}
- Description:
Get/Set a list of dependent features. Dependent features have their visibility changed at the same time as the feature.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
arg |
Array.<geo.feature> |
<optional> |
If specified, the new list of dependent features. Otherwise, return the current list of dependent features. |
Returns:
The current list of dependent features or
a reference to this
.
- Type
- Array.<geo.feature> | this
draw(arg) → {this}
- Description:
Force redraw of a scene object, to be implemented by subclasses. Base class just calls draw of child objects.
- Source:
- Inherited From:
Parameters:
Name | Type | Description |
---|---|---|
arg |
object | Options to pass to the child draw functions. |
Returns:
- Type
- this
featureGcsToDisplay(c) → {geo.screenPosition}
- Description:
Convert from the feature's gcs coordinates to display coordinates.
- Source:
- Inherited From:
Parameters:
Name | Type | Description |
---|---|---|
c |
geo.geoPosition | The input coordinate to convert. |
Returns:
Display space coordinates.
- Type
- geo.screenPosition
gcs(valopt, nullable) → {string|this}
- Description:
Get/Set the projection of the feature.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
val |
string |
<optional> <nullable> |
If |
Returns:
A string used by geo.transform
. If the
map interface gcs is in use, that value will be returned. If the gcs
is set, return the current class instance.
- Type
- string | this
geoIsOn(event, handleropt) → {boolean}
- Description:
Report if an event handler is bound to this object.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
event |
string | Array.<string> | An event or list of events to check. |
|
handler |
function |
<optional> |
A function that might be bound. If
|
Returns:
true if any of the specified events are bound to the specified handler.
- Type
- boolean
geoOff(eventopt, argopt, nullable) → {this}
- Description:
Remove handlers from one event or an array of events. If no event is provided all handlers will be removed.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
event |
string | Array.<string> |
<optional> |
An event or a list of events from
|
arg |
function | Array.<function()> |
<optional> <nullable> |
A function or array of functions to remove from the events or a falsy value to remove all handlers from the events. |
Returns:
- Type
- this
geoOn(event, handler) → {this}
- Description:
Bind an event handler to this object.
- Source:
- Inherited From:
Parameters:
Name | Type | Description |
---|---|---|
event |
string | An event from |
handler |
function | A function that is called when |
Returns:
- Type
- this
geoOnce(event, handler) → {function}
- Description:
Bind an event handler to this object that will fire once and then deregister itself.
- Source:
- Inherited From:
Parameters:
Name | Type | Description |
---|---|---|
event |
string | An event from |
handler |
function | A function that is called when |
Returns:
The actual bound handler. This is a wrapper around the handler that was passed to the function.
- Type
- function
geoTrigger(event, args, childrenOnlyopt) → {this}
- Description:
Trigger an event (or events) on this object and call all handlers.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
event |
string | The event to trigger. |
|
args |
object | Arbitrary argument to pass to the handler. |
|
childrenOnly |
boolean |
<optional> |
If truthy, only propagate down the tree. |
Returns:
- Type
- this
layer() → {geo.layer}
- Description:
Get the layer referenced by the feature.
- Source:
- Inherited From:
Returns:
The layer associated with the feature.
- Type
- geo.layer
modified() → {this}
- Description:
Update the timestamp to the next global timestamp value.
- Source:
- Inherited From:
Returns:
- Type
- this
mouseOverOrderHighestIndex(evt)
- Description:
If the selectionAPI is on, then setting
this.geoOn(geo.event.feature.mouseover_order, this.mouseOverOrderHighestIndex)
will make it so that the mouseon events prefer the highest index feature.
- Source:
- Inherited From:
Parameters:
Name | Type | Description |
---|---|---|
evt |
geo.event | The event; this should be triggered from
|
nearestPixel(valopt) → {boolean|number|this}
- Description:
Get/Set nearestPixel value.
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
val |
boolean | number |
<optional> |
If not specified, return the current value. If true, image quads are rendered with near-neighbor sampling. If false, with interpolated sampling. If a number, interpolate at that zoom level or below and nearest neighbor at that zoom level or above. |
Returns:
- Type
- boolean | number | this
onIdle(handler) → {this}
- Description:
Bind a handler that will be called one time when all internal promises are resolved. If there are no outstanding promises, this is invoked synchronously.
- Source:
- Inherited From:
Parameters:
Name | Type | Description |
---|---|---|
handler |
function | A function taking no arguments. |
Returns:
- Type
- this
parent(argopt) → {this|geo.sceneObject}
- Description:
Get/set parent of the object.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
arg |
geo.sceneObject |
<optional> |
The new parent or |
Returns:
- Type
- this | geo.sceneObject
pointSearch(coordinate, gcsopt) → {object}
- Description:
Point search method for selection api. Returns markers containing the given point.
- Source:
- Overrides:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
coordinate |
geo.geoPosition | Coordinate in input gcs to check if it is located in any quad. |
|
gcs |
string | geo.transform | null |
<optional> |
Input gcs. |
Returns:
An object with index
: a list of quad indices, found
:
a list of quads that contain the specified coordinate, and extra
: an
object with keys that are quad indices and values that are objects with
basis.x
and basis.y
, values from 0 - 1 relative to interior of the
quad.
- Type
- object
polygonSearch(poly, optsopt, gcsopt) → {geo.feature.searchResult}
- Description:
Search for features contained within a polygon. This should be defined in relevant subclasses.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
poly |
geo.polygonObject | A polygon as an array of coordinates or an
object with |
|||||||||||
opts |
object |
<optional> |
Additional search options. Properties
|
||||||||||
gcs |
string | geo.transform | null |
<optional> |
Input gcs. |
Returns:
An object with a list of features and feature indices that are located at the specified point.
removeChild(child) → {this}
- Description:
Remove a child (or array of children) from the object.
- Source:
- Inherited From:
Parameters:
Name | Type | Description |
---|---|---|
child |
geo.object | Array.<geo.object> | A child object or array of child objects. |
Returns:
- Type
- this
removePromise(promise) → {this}
- Description:
Remove the promise here and also propagate up the scene tree.
- Source:
- Inherited From:
Parameters:
Name | Type | Description |
---|---|---|
promise |
Promise | A promise object. |
Returns:
- Type
- this
renderer() → {geo.renderer}
- Description:
Get the renderer used by the feature.
- Source:
- Inherited From:
Returns:
The renderer used to render the feature.
- Type
- geo.renderer
selectionAPI(argopt, directopt) → {boolean|string|this}
- Description:
Get/Set if the selection API is enabled for this feature.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
arg |
boolean | string |
<optional> |
|
direct |
boolean |
<optional> |
If |
Returns:
Either the selectionAPI state or the feature instance.
- Type
- boolean | string | this
style(arg1opt, arg2opt) → {object|this}
- Description:
Get/Set style used by the feature. Styles can be constant values or functions. If a function, the style is typically called with parameters such as
(dataElement, dataIndex)
or, if the specific style of a feature has a subfeature style, with(subfeatureElement, subfeatureIndex, dataElement, dataIndex)
.See the style specification
styleSpec
for available styles.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
arg1 |
string | object |
<optional> |
If |
arg2 |
* |
<optional> |
If |
Returns:
Either the entire style object, the value of a specific style, or the current class instance.
- Type
- object | this
style.get(keyopt) → {function|object}
- Description:
A uniform getter that always returns a function even for constant styles. This can also return all defined styles as functions in a single object.
If the style
key
is a color, the returned function will also coerce the result to be ageo.geoColorObject
.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
key |
string |
<optional> |
If defined, return a function for the named style. Otherwise, return an object with a function for all defined styles. |
Returns:
Either a function for the named style or an object with functions for all defined styles.
- Type
- function | object
timestamp() → {number}
- Description:
Get time.
- Source:
- Inherited From:
Returns:
The timestamp. This is 0 if the timestamp has never been modified.
- Type
- number
updateStyleFromArray(keyOrObject, styleArray, refreshopt) → {this}
- Description:
Set style(s) from array(s). For each style, the array should have one value per data item. The values are not converted or validated. Color values should be
geo.geoColorObject
s. If invalid values are given the behavior is undefined. For some feature styles, if the first entry of an array is itself an array, then each entry of the array is expected to be an array, and values are used from these subarrays. This allows a style to apply, for instance, per vertex of a data item rather than per data item.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
keyOrObject |
string | object | Either the name of a single style or an object where the keys are the names of styles and the values are each arrays. |
||
styleArray |
array | If keyOrObject is a string, an array of values for the style. If keyOrObject is an object, this parameter is ignored. |
||
refresh |
boolean |
<optional> |
false
|
|
Returns:
The feature instance.
- Type
- this
updateTime(valopt) → {geo.timestamp|this}
- Description:
Get/Set timestamp of last time an update happened.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
val |
geo.timestamp |
<optional> |
The new update timestamp object or
|
Returns:
- Type
- geo.timestamp | this
video(indexOrData) → {HTMLVideoElement|null}
- Description:
Get the HTML video element associated with a data item.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
indexOrData |
number | object | If a number, use that entry in the data array, otherwise this must be a value in the data array. If caching is used, this is much more efficient. |
Returns:
- Type
- HTMLVideoElement | null
visible(valopt, directopt) → {boolean|this}
- Description:
Get/Set the visibility of the feature.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
val |
boolean |
<optional> |
A boolean to change the visibility, or |
direct |
boolean |
<optional> |
If |
Returns:
Either the visibility (if getting) or the feature (if setting).
- Type
- boolean | this
(static) create(layer, spec) → {geo.quadFeature|null}
- Description:
Create a quadFeature from an object.
- Source:
- See:
Parameters:
Name | Type | Description |
---|---|---|
layer |
geo.layer | The layer to add the feature to. |
spec |
geo.quadFeature.spec | The object specification. |
Returns:
- Type
- geo.quadFeature | null
(static) this.position(valopt) → {geo.quadFeature|this}
- Description:
Get/Set position.
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
val |
object | function |
<optional> |
Object or function that returns the
position of each quad. |
Returns:
- Type
- geo.quadFeature | this
Type Definitions
position
- Description:
Quad position specification
- Source:
Properties:
Name | Type | Attributes | Description | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ul |
geo.geoPosition |
<optional> |
Upper left coordinate. |
||||||||||||||||||||||||||||
ur |
geo.geoPosition |
<optional> |
Upper right coordinate. |
||||||||||||||||||||||||||||
ll |
geo.geoPosition |
<optional> |
Lower left coordinate. |
||||||||||||||||||||||||||||
lr |
geo.geoPosition |
<optional> |
Lower right coordinate. |
||||||||||||||||||||||||||||
crop |
object |
<optional> |
Image tile crop size in image pixels. Areas
beyond the width Properties
|
Quad position specification
Type:
- object
spec
- Description:
Quad feature specification.
- Source:
Properties:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
position |
geo.quadFeature.position | function |
<optional> |
Position of the quad. Default is (data). The position specifies the corners of the quad: ll, lr, ur, ul. At least two opposite corners must be specified. The corners do not have to physically correspond to the order specified, but rather correspond to that part of an image or video (if there is one). If a corner is unspecified, it will use the x coordinate from one adjacent corner, the y coordinate from the other adjacent corner, and the average z value of those two corners. For instance, if ul is unspecified, it is {x: ll.x, y: ur.y}. Note that each quad is rendered as a pair of triangles: (ll, lr, ul) and (ur, ul, lr). Nothing special is done for quads that are not convex or quads that have substantially different transformations for those two triangles. |
|
cacheQuads |
boolean |
<optional> |
true
|
If truthy, a set of internal
information is stored on each data item in the _cachedQuad attribute. If
this is falsy, the data item is not altered. If the data (positions,
opacity, etc.) of individual quads will change, set this to |
style |
geo.quadFeature.styleSpec |
<optional> |
Style object with default style options. |
|
nearestPixel |
boolean | number |
<optional> |
If true, image quads are rendered with near-neighbor sampling. If false, with interpolated sampling. If a number, interpolate at that zoom level or below and nearest neighbor at that zoom level or above. |
|
layer |
geo.layer |
<optional> |
the parent layer associated with the feature. |
|
selectionAPI |
boolean | 'auto' |
<optional> |
'auto'
|
If
where the handler is passed a |
visible |
boolean |
<optional> |
true
|
If truthy, show the feature. If falsy, hide the feature and do not allow interaction with it. |
gcs |
string |
<optional> |
The interface gcs for this feature. If |
|
bin |
number |
<optional> |
null
|
The bin number is used to determine the order
of multiple features on the same layer. It has no effect except on the
webgl renderer. A negative value hides the feature without stopping
interaction with it. Otherwise, more features with higher bin numbers are
drawn above those with lower bin numbers. If two features have the same
bin number, their order relative to one another is indeterminate and may
be unstable. A value of |
renderer |
geo.renderer |
<optional> |
A reference to the renderer used for
the feature. If |
Quad feature specification.
Type:
styleSpec
- Description:
Style specification for a quad feature.
- Source:
Properties:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
color |
geo.geoColor | function |
<optional> |
Color for quads without images.
Default is white ( |
|
opacity |
number | function |
<optional> |
1
|
Opacity for the quads. |
depth |
number | function |
<optional> |
0
|
Default z-coordinate for positions that don't explicitly specify one. |
drawOnAsyncResourceLoaded |
boolean | function |
<optional> |
true
|
Redraw quads when images or videos are loaded after initial render. |
image |
Image | string | function |
<optional> |
Image for each data item. If
falsy and |
|
video |
HTMLVideoElement | string | function |
<optional> |
Video for each data
item. If falsy and |
|
delayRenderWhenSeeking |
boolean | function |
<optional> |
true
|
If any video has a truthy value and is seeking, delaying rendering the entire feature. This prevents blinking when seeking a playing video, but may cause stuttering when there are multiple videos. |
previewColor |
geo.geoColor | function |
<optional> |
null
|
If specified, a color to show on image and video quads while waiting for the image or video to load. |
previewImage |
Image | string | function |
<optional> |
null
|
If specified, an image to show on image quads while waiting for the quad-specific image to load. This will only be shown if it (the preview image) is already loaded. |
Style specification for a quad feature.