Last updated

API / geotoolkit3d / widgets / scatter / ScatterPlot / ScatterPlot

Class: ScatterPlot

scatter.ScatterPlot.ScatterPlot

Scatter plot 3D is a three-dimensional data visualization that uses points to represent values.
It's supposed to work as a widget, with features such as cursor picking, highlight, cursor tool and tooltip.

Supported data formats are DataTable and JS array.

Users can add different 2D and 3D symbols to the grid using setData(). The new data does not override current data. This enables the user to show different symbol at the same time.
Note that for performance purpose, it's recommended to use 2d symbol for large dataset.
The user needs to use dispose() method to dispose data.

Dots projection on each grid plane is by default enabled, but can be disabled by user.
Note that geotoolkit3d.grid.Grid is built-in for the reason of data projection. If you need to configure grid, please use setOptions() and provide gridoption object.

Hierarchy

Table of contents

Constructors
Methods

Contents

Constructors

new ScatterPlot(options)

new ScatterPlot(options)

Parameters

Name Type
optionsOptions

Overrides

AbstractWidget.constructor

Methods

add

add(object): ScatterPlot

Adds object as child of this object.

Parameters

Name Type Description
objectObject3D<Object3DEventMap> | Object3D<Object3DEventMap>[]object

Returns

ScatterPlot

this

Inherited from

AbstractWidget.add


afterRender

afterRender(scene, camera, plot, renderer): ScatterPlot

This function is called after rendering and can update this object's content.

It should not trigger any invalidateObject though.
Note that it is not necessary nor recommended to explicitly call afterRender on this object's children as beforeRender will be called on all nodes present in the scene.

This will be executed after the transformations simplification.

See

Plot for more details on the render steps

Parameters

Name Type Description
sceneSceneThe scene
cameraCameraThe camera used for this render phase.
plotPlotThe 3D plot
rendererWebGLRendererThe renderer

Returns

ScatterPlot

Inherited from

AbstractWidget.afterRender


beforeRender

beforeRender(scene, camera, plot, renderer): ScatterPlot

This function is called prior to rendering and can update this object's content.

It should not trigger any invalidateObject though.
Note that it is not necessary nor recommended to explicitly call beforeRender on this object's children as beforeRender will be called on all nodes present in the scene.

This will be executed after the transformations simplification.

See

Plot for more details on the render steps

Parameters

Name Type Description
sceneSceneThe scene
cameraPerspectiveCamera | OrthographicCameraThe camera used for this render phase.
plotPlotThe 3D plot
rendererWebGLRendererThe renderer

Returns

ScatterPlot

Overrides

AbstractWidget.beforeRender


dispose

dispose(name?): void

Dispose objects in scatterplot.
If name is provided, it only disposes the corresponding object/projection

Parameters

Name Type Description
Optional namestringto delete the object in this name

Returns

void

Overrides

AbstractWidget.dispose


getClassName

getClassName(): string

Returns

string

Inherited from

AbstractWidget.getClassName


getDataSetName

getDataSetName(): string[]

Get the names of current data set

Returns

string[]

this


getGridLimit

getGridLimit(): Box3

Get the grid limit

Returns

Box3

box


getOptions

getOptions(): OptionsBaseOut

Get options as json object.

Returns

OptionsBaseOut

options

Overrides

AbstractWidget.getOptions


getPointData

getPointData(index, name?): PointData

Get a point's data, by its index and dataset name.

Parameters

Name Type Description
indexnumberthe point index in its data set.
Optional namestringthe data set name this point belongs to. Defaults to "default", which is the default if the set was build without a name.

Returns

PointData


getPointDataByPicking

getPointDataByPicking(pickingResult): PointData

Retrieve a point's data by using a picking result, if the picked object belong to this ScatterPlot.

Parameters

Name Type
pickingResultPointsPickingResult | PointsPickingResult[]

Returns

PointData


getVisible

getVisible(): boolean

Get visible

Returns

boolean

true, if object is visible

Inherited from

AbstractWidget.getVisible


invalidateObject

invalidateObject<T>(event?): ScatterPlot

Notifies this object and its parent that this object has been invalidated.
If this object is in a Plot, it will be marked as dirty and will trigger a rendering cycle.

Type parameters

Name
T

Parameters

Name Type Description
Optional eventEvent<T>The event to fire

Returns

ScatterPlot

Inherited from

AbstractWidget.invalidateObject


isDisposed

isDisposed(): boolean

Returns whether this object has been disposed

Returns

boolean

Inherited from

AbstractWidget.isDisposed


isSelectable

isSelectable(): boolean

Return if this object can be picked/selected (see RendererPicking).

Returns

boolean

Inherited from

AbstractWidget.isSelectable


notify

notify(type, source, args?): ScatterPlot

Notify listeners

Parameters

Name Type Description
typestringevent types
sourceanyof the event
Optional argsanyarguments of the event

Returns

ScatterPlot

this

Inherited from

AbstractWidget.notify


off

off(type?, callback?): ScatterPlot

Detach listener on event. Calling .off() with no arguments removes all attached listeners. Calling .off(type) with no callback removes all attached listeners for specific type.

Parameters

Name Type Description
Optional typestringtype of the event
Optional callbackEventListenerfunction to be called

Returns

ScatterPlot

this

Inherited from

AbstractWidget.off

off<E>(type, callback): ScatterPlot

Type parameters

NameType
Eextends string

Parameters

Name Type
typeE
callback(eventType: E, sender: ScatterPlot, args: EventMap[E]) => void

Returns

ScatterPlot

Inherited from

AbstractWidget.off


on

on(type, callback, options?): ScatterPlot

Attach listener on event that will be called whenever the specified event is delivered to the target

If the callback function is already in the list of event listeners for this target, the function is not added a second time.

If a particular anonymous function is in the list of event listeners registered for a certain target, and then later in the code, an identical anonymous function is given in an "on" call, the second function will also be added to the list of event listeners for that target.

Parameters

Name Type Description
typestringtype of event or property
callbackEventListenerto be called
Optional optionsOptionsoptions of subscription

Returns

ScatterPlot

this

Inherited from

AbstractWidget.on

on<E>(type, callback, options?): ScatterPlot

Type parameters

NameType
Eextends string

Parameters

Name Type
typeE
callback(eventType: E, sender: ScatterPlot, args: EventMap[E]) => void
Optional optionsOptions

Returns

ScatterPlot

Inherited from

AbstractWidget.on


onStatsUpdated

onStatsUpdated(metrics): ScatterPlot

This function is called when the plot has updated performance metric.
It will be called every set number of frames.
The number of frame is customizable in the plot options advancedrendering.performancemetrics.updateframeperiod and is 100 by default.

Parameters

Name Type Description
metricsPerformanceMetricsThe performance metrics.

Returns

ScatterPlot

Inherited from

AbstractWidget.onStatsUpdated


onVisibilityChanged

Protected onVisibilityChanged(): void

This method is called if visibility is changed. Send event Events.VisibilityChanged

Returns

void

Inherited from

AbstractWidget.onVisibilityChanged


remove

remove(object): ScatterPlot

Removes object as child of this object.

Parameters

Name Type Description
objectObject3D<Object3DEventMap> | Object3D<Object3DEventMap>[]object

Returns

ScatterPlot

this

Inherited from

AbstractWidget.remove


setData

setData(name, symbol, data, projection?): void

Set data for ScatterPlot.
Projection is based on data set here.

Parameters

Name Type Description
namestringthe name for this dataset
symbolstring | SymbolTexture | SymbolGeometrythe 2D/3D symbol to use
dataDatathe datatable or data object
Optional projectionObjectthe options to configure projection
Optional projection.enablebooleanEnable/disable the projection of points on the grid planes.
This option result in create or dispose projection of points.
If user just want to toggle the visibility of the projection of points, please use toggleProjection method.
By default is true.
Optional projection.frontbackProjectionMaterialOptionsIf provided, it will add front and back projections
Optional projection.leftrightProjectionMaterialOptionsIf provided, it will add left and right projections
Optional projection.opacitynumberThe opacity for projection.
By default is 1.0.
Optional projection.sizefactornumberTo manually adjust projection size.
By default is 0.66.
Optional projection.topbottomProjectionMaterialOptionsIf provided, it will add top and bottom projections

Returns

void


setOptions

setOptions(options?): ScatterPlot

Set options, the given json will be merged with the object's state so that only the given options will be changed.
setOptions does not update data, use setData() instead.

Parameters

Name Type
Optional optionsOptionsBaseIn

Returns

ScatterPlot

Overrides

AbstractWidget.setOptions


setPosition

setPosition(position): ScatterPlot

Set Object's local position.

Parameters

Name Type Description
positionObjectlocal position
Optional position.xnumber
Optional position.ynumber
Optional position.znumber

Returns

ScatterPlot

this

Inherited from

AbstractWidget.setPosition


setRotation

setRotation(x, y, z, order?): ScatterPlot

Set Object's local rotation (Euler angles), in radians.

Parameters

Name Type Description
xnumberx angle
ynumbery angle
znumberz angle
Optional orderEulerOrdereuler order

Returns

ScatterPlot

this

Inherited from

AbstractWidget.setRotation


setSelectable

setSelectable(selectable): void

Set if this object can be picked/selected (see RendererPicking).

Parameters

Name Type Description
selectablebooleanif can be selected

Returns

void

Inherited from

AbstractWidget.setSelectable


setVisible

setVisible(visible, silent?): ScatterPlot

Set visible

Parameters

Name Type Description
visiblebooleantrue, if object is visible
Optional silentbooleantrue, if object shouldn't be invalidated

Returns

ScatterPlot

this

Inherited from

AbstractWidget.setVisible


toggleProjection

toggleProjection(direction, flag): void

Toggle projection by given direction and flag

Parameters

Name Type Description
directionstring'topbottom'/'leftright'/'frontback'
flagbooleantrue or false

Returns

void


updateObject

updateObject(scene, camera): ScatterPlot

This function is called prior to rendering and can update this object's content.

It should not trigger any invalidateObject though.
Note that it is not necessary nor recommended to explicitly call updateObject on this object's children as updateObject will be called on all nodes present in the scene.

This will be executed before the transformations simplification.

See

Plot for more details on the render steps

Parameters

Name Type Description
sceneSceneThe scene
cameraCameraThe camera

Returns

ScatterPlot

Inherited from

AbstractWidget.updateObject


updateProjection

updateProjection(): void

Update all projections based on current grid model limit.
Only needed when the user change the grid manually.

Returns

void


useOwnHighlight

useOwnHighlight(): boolean

Returns true if this object make its own highlight effect (like geotoolkit3d.scene.reservoir.hexahedral.ReservoirGrid) This is to prevent unnecessary executions of the costly highlight passes.

Returns

boolean

Inherited from

AbstractWidget.useOwnHighlight


getClassName

Static getClassName(): string

Returns

string

Inherited from

AbstractWidget.getClassName


register

Static register(): void

Register object for special processing through a callback function

Example

geotoolkit3d.util.ObjectProcessor.getDefaultInstance().registerObject(this.getClassName(), callback);

Deprecated

since 5.0, to allow custom object highlighting, please instead make your Object implement the interface geotoolkit3d/scene/ICustomHighlight.

Returns

void

Inherited from

AbstractWidget.register