Last updated

API / geotoolkit3d / scene / grid / Grid / Grid

Class: Grid

grid.Grid.Grid

A 3D grid object.

This object provides a shape that can be used to display axis/grids in a 3D scene.
The grid is composed of 6 planes that can be made visible independently, see Mode.

The grid location and size can be configured independently of its labels.
The actual values displayed and the location/size of the grid is left to the calling code.

To do so, the grid actual location and size can be configured through 'start/end'.
And its labels can be configured through 'modelstart/model/end'.

grid planes are made of grid axis (borders) and grid lines (intermediate ticks).

Hierarchy

Table of contents

Constructors
Methods

Contents

Constructors

new Grid(options)

new Grid(options?)

Parameters

Name Type
Optional optionsOptions

Overrides

Object3D.constructor

Methods

add

add(object): Grid

Adds object as child of this object.

Parameters

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

Returns

Grid

this

Inherited from

Object3D.add


addLegend

addLegend(legend): void

Add the given legend to this grid planes.

Parameters

Name Type
legendGridLegend

Returns

void


afterRender

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

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

Grid

Inherited from

Object3D.afterRender


beforeRender

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

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

Grid

Overrides

Object3D.beforeRender


dispose

dispose(): void

Dispose object

Returns

void

Inherited from

Object3D.dispose


getClassName

getClassName(): string

Returns

string

Inherited from

Object3D.getClassName


getCounts

getCounts(): Vector3

Return the grid's tick counts

Returns

Vector3

The ticks count


getEnd

getEnd(): Vector3

Return the grid's location 'end'

Returns

Vector3


getLevels

getLevels(): Range

Get minimum and maximum level of details, that used for grid generation from tick generators

Deprecated

since 5.0. Levels are not used in grid generation from tick generators.

Returns

Range


getMode

getMode(): ModeCallback

Return the grid's mode

Returns

ModeCallback

The grid mode


getModelEnd

getModelEnd(): Vector3

Return the grid's 'modelend'

Returns

Vector3

The grid's modelend


getModelStart

getModelStart(): Vector3

Return the grid's 'modelstart'

Returns

Vector3

The grid's modelstart


getOptions

getOptions(): Required<Omit<Options, "isselectable"> & { axis?: { distance?: number ; formatters?: { x?: FormatterCallback ; y?: FormatterCallback ; z?: FormatterCallback } ; linestyles?: { x?: Type ; y?: Type ; z?: Type } ; outlines?: OutlinesOptions ; textstyles?: { x?: Type ; y?: Type ; z?: Type } } ; counts?: Vector3 ; end?: Vector3 ; grid?: { linestyles?: { x?: Type ; y?: Type ; z?: Type } } ; levels?: Range ; mode?: Mode | ModeCallback ; modelend?: Vector3 ; modelstart?: Vector3 ; planecolor?: string | Color ; planeopacity?: number ; start?: Vector3 ; tickgenerators?: TickGenerators ; title?: { distance?: number ; outlines?: OutlinesOptions ; texts?: { x?: string ; y?: string ; z?: string } ; textstyles?: { x?: Type ; y?: Type ; z?: Type } } } & Options>

Get grid options

Returns

Required<Omit<Options, "isselectable"> & { axis?: { distance?: number ; formatters?: { x?: FormatterCallback ; y?: FormatterCallback ; z?: FormatterCallback } ; linestyles?: { x?: Type ; y?: Type ; z?: Type } ; outlines?: OutlinesOptions ; textstyles?: { x?: Type ; y?: Type ; z?: Type } } ; counts?: Vector3 ; end?: Vector3 ; grid?: { linestyles?: { x?: Type ; y?: Type ; z?: Type } } ; levels?: Range ; mode?: Mode | ModeCallback ; modelend?: Vector3 ; modelstart?: Vector3 ; planecolor?: string | Color ; planeopacity?: number ; start?: Vector3 ; tickgenerators?: TickGenerators ; title?: { distance?: number ; outlines?: OutlinesOptions ; texts?: { x?: string ; y?: string ; z?: string } ; textstyles?: { x?: Type ; y?: Type ; z?: Type } } } & Options>

Overrides

Object3D.getOptions


getOutlines

getOutlines(): OutlinesOptions

Get axis outlines

Returns

OutlinesOptions

axis outlines


getPlanes

getPlanes(): Record<PlaneName, Object3D<Object3DEventMap>>

Get the six grid planes

Returns

Record<PlaneName, Object3D<Object3DEventMap>>

planes


getStart

getStart(): Vector3

Return the grid's location 'start'

Returns

Vector3


getTickGenerators

getTickGenerators(): TickGenerators

Get tick generators, that used for grid generation. TickGenerators can be null if not defined by user.

Returns

TickGenerators


getTitleOutlines

getTitleOutlines(): OutlinesOptions

Get title outlines

Returns

OutlinesOptions

title outlines


getVisible

getVisible(): boolean

Get visible

Returns

boolean

true, if object is visible

Inherited from

Object3D.getVisible


getWorldBoundingBox

getWorldBoundingBox(target?): Box3

Return world bounding box of the grid

Parameters

Name Type Description
Optional targetBox3(optional) the Box3 to store the boundingBox in.

Returns

Box3

bounding box


invalidateObject

invalidateObject<T>(event?): Grid

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

Grid

Inherited from

Object3D.invalidateObject


isDisposed

isDisposed(): boolean

Returns whether this object has been disposed

Returns

boolean

Inherited from

Object3D.isDisposed


isSelectable

isSelectable(): boolean

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

Returns

boolean

Inherited from

Object3D.isSelectable


notify

notify(type, source, args?): Grid

Notify listeners

Parameters

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

Returns

Grid

this

Inherited from

Object3D.notify


off

off(type?, callback?): Grid

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

Grid

this

Inherited from

Object3D.off

off<E>(type, callback): Grid

Type parameters

NameType
Eextends string

Parameters

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

Returns

Grid

Inherited from

Object3D.off


on

on(type, callback, options?): Grid

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

Grid

this

Inherited from

Object3D.on

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

Type parameters

NameType
Eextends string

Parameters

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

Returns

Grid

Inherited from

Object3D.on


onStatsUpdated

onStatsUpdated(metrics): Grid

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

Grid

Inherited from

Object3D.onStatsUpdated


onVisibilityChanged

Protected onVisibilityChanged(): void

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

Returns

void

Inherited from

Object3D.onVisibilityChanged


remove

remove(object): Grid

Removes object as child of this object.

Parameters

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

Returns

Grid

this

Inherited from

Object3D.remove


setOptions

setOptions(options?): Grid

Set options, the given json will be merged with the object's state so that only the given options will be changed.

Parameters

Name Type
Optional optionsOptions

Returns

Grid

Overrides

Object3D.setOptions


setPosition

setPosition(position): Grid

Set Object's local position.

Parameters

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

Returns

Grid

this

Inherited from

Object3D.setPosition


setRotation

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

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

Parameters

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

Returns

Grid

this

Inherited from

Object3D.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

Object3D.setSelectable


setVisible

setVisible(visible, silent?): Grid

Set visible

Parameters

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

Returns

Grid

this

Inherited from

Object3D.setVisible


updateObject

updateObject(scene, camera): Grid

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

Grid

Inherited from

Object3D.updateObject


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

Object3D.useOwnHighlight


getClassName

Static getClassName(): string

Returns

string

Inherited from

Object3D.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

Object3D.register