Last updated

API / geotoolkit3d / scene / surface / contour / Contour / Contour

Class: Contour

contour.Contour.Contour

A Contour 3D object.

This object represents a 3D contour with an optional attribute used for coloring.
The contour's geometry is defined by the given SurfaceData.

The contour will contains holes whenever the given attribute or elevation is equals to nullvalue.
Note that the current implementation still generates the vertices for those points but abstain itself from rendering them.

User can specify a MajorMinorStrategy to determine the precise number and placement of isolines. See MajorMinorStrategy for more info
Alternatively the user can define a fixed number of isolines using the 'count' option and by setting majorminorstrategy to null. In this case, note that all isolines will be major isolines.

Throws

if no valid AbstractSurfaceData is provided to the constructor.

Hierarchy

Implements

Table of contents

Constructors
Methods
Css Properties
Name Type Description
textureoptionsTextureOptionsTransformation options to use on the diffuse color texture.<br> (No effect if option.texture has not been set yet)
textureoptions-clipoutofrangebooleanIf enabled, the textured area will be limited to the texture size.<br> By default is true (to allow OpenGL texture repeating outside of range, this need to be set to false)
textureoptions-coordinatemodeTextureCoordinateModeThe texture coordinate mapping type.<br> Determine how the texture size, offset and rotation are interpreted.<br> Default is TextureCoordinateMode.Local
textureoptions-enablebooleanEnable or disable (show or hide) the texture, for convenience
textureoptions-fliphorizontalbooleanMirror the texture on its own horizontal axis (U axis in UV mapping terms)
textureoptions-flipverticalbooleanMirror the texture on its own vertical axis (V axis in UV mapping terms)
textureoptions-opacitynumberThe texture opacity, default is 1.0 (opaque)
textureoptions-rotationnumberThe texture rotation around the origin point, in radian.<br> Default value is 0

Contents

Constructors

new Contour(options)

new Contour(options)

Parameters

Name Type
optionsOptions

Overrides

AbstractSurface.constructor

Methods

add

add(object): Contour

Adds object as child of this object.

Parameters

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

Returns

Contour

this

Inherited from

AbstractSurface.add


afterRender

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

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

Contour

Inherited from

AbstractSurface.afterRender


beforeRender

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

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
cameraCameraThe camera used for this render phase.
plotPlotThe 3D plot
rendererWebGLRendererThe renderer

Returns

Contour

Inherited from

AbstractSurface.beforeRender


dispose

dispose(): void

Dispose contour and its children

Returns

void

Overrides

AbstractSurface.dispose


getClassName

getClassName(): string

Returns

string

Implementation of

IIntersectableMesh.getClassName

Inherited from

AbstractSurface.getClassName


getColorProvider

getColorProvider(): RgbaColor | ColorProvider

Return the color provider of the intersectable.

Returns

RgbaColor | ColorProvider

Implementation of

IIntersectableMesh.getColorProvider


getData

getData(): DataOut

Return this object's data (geometry, values) when available. Because data can be large, they are returned by reference (no copies).

Returns

DataOut


getHighlightedObjects

getHighlightedObjects(): Mesh<BufferGeometry<NormalBufferAttributes>, Material | Material[], Object3DEventMap>

Get the mesh object(s) that need to be highlighted. Used in custom highlighting logic.

Deprecated

since 5.0, was not meant to be public.

Returns

Mesh<BufferGeometry<NormalBufferAttributes>, Material | Material[], Object3DEventMap>


getLineCount

getLineCount(): number

Return the number of isolines on surface

Returns

number

linecount


getMajElevations

getMajElevations(): number[]

Return the major elevations where isolines are drawn

Returns

number[]


getMajorLabelStyle

getMajorLabelStyle(): TextStyle

The style associated with major labels

Returns

TextStyle

text style


getMajorMinorStrategy

getMajorMinorStrategy(): MajorMinorStrategy

Return major/minor strategy

Returns

MajorMinorStrategy

strategy


getMesh

getMesh(): Mesh<BufferGeometry<NormalBufferAttributes>, Material | Material[], Object3DEventMap>

Returns the surface mesh

Returns

Mesh<BufferGeometry<NormalBufferAttributes>, Material | Material[], Object3DEventMap>

Implementation of

IIntersectableMesh.getMesh


getMeshBoundingBox

getMeshBoundingBox(target): void

Return the bounding box of the mesh.
The bounding box should be calculated directly from the mesh's geometry vertex positions, representing the bounding box. The box coordinates must be in the local coordinate space of the mesh returned by getMesh method.

Parameters

Name Type Description
targetBox3result

Returns

void

Implementation of

IIntersectableMesh.getMeshBoundingBox


getMinElevations

getMinElevations(): number[]

Return the minor elevations where isolines are drawn

Returns

number[]


getMinorLabelStyle

getMinorLabelStyle(): TextStyle

The style associated with major labels

Returns

TextStyle

text style


getOptions

getOptions(): OptionsBaseOut

Get the Contour options

Returns

OptionsBaseOut

Overrides

AbstractSurface.getOptions


getProperties

getProperties(): OptionsBaseOut

Get the Contour options

Returns

OptionsBaseOut


getTriangle

getTriangle(triangleIndex, target): void

Return the triangle data at given index.
Vertices coordinates must be in the local coordinate space of the mesh returned by getMesh method.

Parameters

Name Type Description
triangleIndexnumberthe index of the triangle
targetTriangleDataresult

Returns

void

Implementation of

IIntersectableMesh.getTriangle


getTriangleCount

getTriangleCount(): number

Return the number of triangle.

Returns

number

Implementation of

IIntersectableMesh.getTriangleCount


getVisible

getVisible(): boolean

Get visible

Returns

boolean

true, if object is visible

Inherited from

AbstractSurface.getVisible


invalidateObject

invalidateObject<T>(event?): Contour

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

Contour

Inherited from

AbstractSurface.invalidateObject


isDisposed

isDisposed(): boolean

Returns whether this object has been disposed

Returns

boolean

Inherited from

AbstractSurface.isDisposed


isSelectable

isSelectable(): boolean

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

Returns

boolean

Inherited from

AbstractSurface.isSelectable


notify

notify(type, source, args?): Contour

Notify listeners

Parameters

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

Returns

Contour

this

Inherited from

AbstractSurface.notify


off

off(type?, callback?): Contour

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

Contour

this

Inherited from

AbstractSurface.off

off<E>(type, callback): Contour

Type parameters

NameType
Eextends string

Parameters

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

Returns

Contour

Inherited from

AbstractSurface.off


on

on(type, callback, options?): Contour

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

Contour

this

Inherited from

AbstractSurface.on

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

Type parameters

NameType
Eextends string

Parameters

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

Returns

Contour

Inherited from

AbstractSurface.on


onStatsUpdated

onStatsUpdated(metrics): Contour

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

Contour

Inherited from

AbstractSurface.onStatsUpdated


onVisibilityChanged

Protected onVisibilityChanged(): void

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

Returns

void

Inherited from

AbstractSurface.onVisibilityChanged


remove

remove(object): Contour

Removes object as child of this object.

Parameters

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

Returns

Contour

this

Inherited from

AbstractSurface.remove


setData

setData(datas): Contour

Set this Surface data.

Parameters

Name Type
datasData

Returns

Contour


setMajorLabelStyle

setMajorLabelStyle(textStyle, merge?): Contour

Set major label text style

Parameters

Name Type Description
textStyleTypea new major label text style
Optional mergebooleantrue if you want to merge textStyle with existing attribute, false by default

Returns

Contour

this


setMinorLabelStyle

setMinorLabelStyle(textStyle, merge?): Contour

Set minor label text style

Parameters

Name Type Description
textStyleTypea new major label text style
Optional mergebooleantrue if you want to merge textStyle with existing attribute, false by default

Returns

Contour

this


setOptions

setOptions(options?): Contour

Set the Contour options

Parameters

Name Type
Optional optionsOptionsBase

Returns

Contour

Overrides

AbstractSurface.setOptions


setPosition

setPosition(position): Contour

Set Object's local position.

Parameters

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

Returns

Contour

this

Inherited from

AbstractSurface.setPosition


setProperties

setProperties(options): Contour

Set the Contour options

Parameters

Name Type
optionsOptionsBase

Returns

Contour


setRotation

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

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

Parameters

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

Returns

Contour

this

Inherited from

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

AbstractSurface.setSelectable


setVisible

setVisible(visible, silent?): Contour

Set visible

Parameters

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

Returns

Contour

this

Inherited from

AbstractSurface.setVisible


updateObject

updateObject(scene, camera): Contour

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

Contour

Inherited from

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

AbstractSurface.useOwnHighlight


getClassName

Static getClassName(): string

Returns

string

Inherited from

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

AbstractSurface.register