new lineFeature(arg) → {geo.webgl.lineFeature}
- Description:
Create a new instance of lineFeature.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
arg |
geo.lineFeature.spec |
Returns:
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
actors() → {Array.<vgl.actor>}
- Description:
List vgl actors.
- Source:
Returns:
The list of actors.
- Type
- Array.<vgl.actor>
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
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
featureVertices() → {Array.<array>}
- Description:
Return the arrangement of vertices used for each line segment. Each line is rendered by two triangles. This reports how the vertices of those triangles are arranged. Each entry is a triple: the line-end number, the vertex use, and the side of the line that the vertex is on.
- Source:
Returns:
- Type
- Array.<array>
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
line(valopt) → {object|function|this}
- Description:
Get/set line accessor.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
val |
object | function |
<optional> |
If not specified, return the current line
accessor. If specified, use this for the line accessor and return
|
Returns:
The current line accessor or this feature.
- Type
- object | function | this
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
|
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(p, gcsopt) → {object}
- Description:
Returns an array of datum indices that contain the given point. This is a slow implementation with runtime order of the number of vertices. A point is considered on a line segment if it is close to the line or either end point. Closeness is based on the maximum width of the line segment, and is
ceil(maxwidth / 2) + 2
pixels. This means that corner extensions due to mitering may be outside of the selection area and that variable- width lines will have a greater selection region than their visual size at the narrow end.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
p |
geo.geoPosition | point to search for. |
|
gcs |
string | geo.transform | null |
<optional> |
Input gcs. |
Returns:
An object with index
: a list of line indices, found
:
a list of lines that contain the specified coordinate, and extra
: an
object with keys that are line indices and values that are the first
segment index for which the line was matched.
- Type
- object
polygonSearch(poly, optsopt, gcsopt) → {object}
- Description:
Returns lines that are contained in the given polygon.
- 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 index
: a list of line indices,
found
: a list of lines within the polygon, and extra
: an object
with index keys containing an object with a segment
key with a value
indicating one of the line segments that is inside the polygon and
partial
key and a boolean value to indicate if the line is on the
polygon's border.
- Type
- object
position(valopt) → {geo.geoPosition|function|this}
- Description:
Get/Set position accessor.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
val |
geo.geoPosition | function |
<optional> |
If not specified, return the
current position accessor. If specified, use this for the position
accessor and return |
Returns:
The current position or this feature.
- Type
- geo.geoPosition | function | this
rdpSimplifyData(data, toleranceopt, posFuncopt, lineFuncopt) → {this}
- Description:
Take a set of data, reduce the number of vertices per line using the Ramer–Douglas–Peucker algorithm, and use the result as the new data. This changes the instance's data, the position accessor, and the line accessor.
- Source:
- Inherited From:
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
data |
array | A new data array. |
||
tolerance |
number |
<optional> |
The maximum variation allowed in map.gcs units. A value of zero will only remove perfectly collinear points. If not specified, this is set to a half display pixel at the map's current zoom level. |
|
posFunc |
function |
<optional> |
this.style.get('position')
|
The function to get the position of each vertex. |
lineFunc |
function |
<optional> |
this.style.get('line')
|
The function to get each line. |
Returns:
- Type
- this
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
verticesPerFeature() → {number}
- Description:
Return the number of vertices used for each line segment.
- Source:
Returns:
- Type
- number
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
(inner) createFragmentShader(allowDebugopt) → {vgl.shader}
- Description:
Create the fragment shader for lines.
- Source:
Parameters:
Name | Type | Attributes | Description |
---|---|---|---|
allowDebug |
boolean |
<optional> |
If truthy, include code that can render in debug mode. This is mildly less efficient, even if debugging is not turned on. |
Returns:
- Type
- vgl.shader
(inner) createGLLines(onlyStyle)
- Description:
Create and style the data needed to render the lines.
- Source:
Parameters:
Name | Type | Description |
---|---|---|
onlyStyle |
boolean | if true, use the existing geometry and just recalculate the style. |
(inner) createVertexShader() → {vgl.shader}
- Description:
Create the vertex shader for lines.
- Source:
Returns:
- Type
- vgl.shader