API / geotoolkit3d / scene / surface / 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.
↳
Contour
Constructors
Methods
Css Properties
| Name | Type | Description |
|---|---|---|
textureoptions | TextureOptions | Transformation options to use on the diffuse color texture.<br> (No effect if option.texture has not been set yet) |
textureoptions-clipoutofrange | boolean | If 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-coordinatemode | TextureCoordinateMode | The texture coordinate mapping type.<br> Determine how the texture size, offset and rotation are interpreted.<br> Default is TextureCoordinateMode.Local |
textureoptions-enable | boolean | Enable or disable (show or hide) the texture, for convenience |
textureoptions-fliphorizontal | boolean | Mirror the texture on its own horizontal axis (U axis in UV mapping terms) |
textureoptions-flipvertical | boolean | Mirror the texture on its own vertical axis (V axis in UV mapping terms) |
textureoptions-opacity | number | The texture opacity, default is 1.0 (opaque) |
textureoptions-rotation | number | The texture rotation around the origin point, in radian.<br> Default value is 0 |
Methods
▸ add(object): Contour
Adds object as child of this object.
| Name | Type | Description |
|---|---|---|
object | Object3D<Object3DEventMap> | Object3D<Object3DEventMap>[] | object |
this
▸ 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
| Name | Type | Description |
|---|---|---|
scene | Scene | The scene |
camera | Camera | The camera used for this render phase. |
plot | Plot | The 3D plot |
renderer | WebGLRenderer | The renderer |
▸ 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
| Name | Type | Description |
|---|---|---|
scene | Scene | The scene |
camera | Camera | The camera used for this render phase. |
plot | Plot | The 3D plot |
renderer | WebGLRenderer | The renderer |
▸ dispose(): void
Dispose contour and its children
void
▸ getClassName(): string
string
IIntersectableMesh.getClassName
▸ getColorProvider(): RgbaColor | ColorProvider
Return the color provider of the intersectable.
IIntersectableMesh.getColorProvider
▸ getData(): DataOut
Return this object's data (geometry, values) when available. Because data can be large, they are returned by reference (no copies).
▸ 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.
Mesh<BufferGeometry<NormalBufferAttributes>, Material | Material[], Object3DEventMap>
▸ getLineCount(): number
Return the number of isolines on surface
number
linecount
▸ getMajElevations(): number[]
Return the major elevations where isolines are drawn
number[]
▸ getMajorLabelStyle(): TextStyle
The style associated with major labels
text style
▸ getMajorMinorStrategy(): MajorMinorStrategy
Return major/minor strategy
strategy
▸ getMesh(): Mesh<BufferGeometry<NormalBufferAttributes>, Material | Material[], Object3DEventMap>
Returns the surface mesh
Mesh<BufferGeometry<NormalBufferAttributes>, Material | Material[], Object3DEventMap>
▸ 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.
| Name | Type | Description |
|---|---|---|
target | Box3 | result |
void
IIntersectableMesh.getMeshBoundingBox
▸ getMinElevations(): number[]
Return the minor elevations where isolines are drawn
number[]
▸ getMinorLabelStyle(): TextStyle
The style associated with major labels
text style
▸ getOptions(): OptionsBaseOut
Get the Contour options
▸ getProperties(): OptionsBaseOut
Get the Contour options
▸ 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.
| Name | Type | Description |
|---|---|---|
triangleIndex | number | the index of the triangle |
target | TriangleData | result |
void
IIntersectableMesh.getTriangle
▸ getTriangleCount(): number
Return the number of triangle.
number
IIntersectableMesh.getTriangleCount
▸ getVisible(): boolean
Get visible
boolean
true, if object is visible
▸ 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.
| Name |
|---|
T |
| Name | Type | Description |
|---|---|---|
Optional event | Event<T> | The event to fire |
AbstractSurface.invalidateObject
▸ isDisposed(): boolean
Returns whether this object has been disposed
boolean
▸ isSelectable(): boolean
Return if this object can be picked/selected (see RendererPicking).
boolean
▸ notify(type, source, args?): Contour
Notify listeners
| Name | Type | Description |
|---|---|---|
type | string | event types |
source | any | of the event |
Optional args | any | arguments of the event |
this
▸ 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.
| Name | Type | Description |
|---|---|---|
Optional type | string | type of the event |
Optional callback | EventListener | function to be called |
this
▸ off<E>(type, callback): Contour
| Name | Type |
|---|---|
E | extends string |
▸ 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.
| Name | Type | Description |
|---|---|---|
type | string | type of event or property |
callback | EventListener | to be called |
Optional options | Options | options of subscription |
this
▸ on<E>(type, callback, options?): Contour
| Name | Type |
|---|---|
E | extends string |
| Name | Type |
|---|---|
type | E |
callback | (eventType: E, sender: Contour, args: EventMap[E]) => void |
Optional options | Options |
▸ 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.
| Name | Type | Description |
|---|---|---|
metrics | PerformanceMetrics | The performance metrics. |
AbstractSurface.onStatsUpdated
▸ Protected onVisibilityChanged(): void
This method is called if visibility is changed. Send event Events.VisibilityChanged
void
AbstractSurface.onVisibilityChanged
▸ remove(object): Contour
Removes object as child of this object.
| Name | Type | Description |
|---|---|---|
object | Object3D<Object3DEventMap> | Object3D<Object3DEventMap>[] | object |
this
▸ setData(datas): Contour
Set this Surface data.
| Name | Type |
|---|---|
datas | Data |
▸ setMajorLabelStyle(textStyle, merge?): Contour
Set major label text style
| Name | Type | Description |
|---|---|---|
textStyle | Type | a new major label text style |
Optional merge | boolean | true if you want to merge textStyle with existing attribute, false by default |
this
▸ setMinorLabelStyle(textStyle, merge?): Contour
Set minor label text style
| Name | Type | Description |
|---|---|---|
textStyle | Type | a new major label text style |
Optional merge | boolean | true if you want to merge textStyle with existing attribute, false by default |
this
▸ setOptions(options?): Contour
Set the Contour options
| Name | Type |
|---|---|
Optional options | OptionsBase |
▸ setPosition(position): Contour
Set Object's local position.
| Name | Type | Description |
|---|---|---|
position | Object | local position |
Optional position.x | number | |
Optional position.y | number | |
Optional position.z | number |
this
▸ setProperties(options): Contour
Set the Contour options
| Name | Type |
|---|---|
options | OptionsBase |
▸ setRotation(x, y, z, order?): Contour
Set Object's local rotation (Euler angles), in radians.
| Name | Type | Description |
|---|---|---|
x | number | x angle |
y | number | y angle |
z | number | z angle |
Optional order | EulerOrder | euler order |
this
▸ setSelectable(selectable): void
Set if this object can be picked/selected (see RendererPicking).
| Name | Type | Description |
|---|---|---|
selectable | boolean | if can be selected |
void
▸ setVisible(visible, silent?): Contour
Set visible
| Name | Type | Description |
|---|---|---|
visible | boolean | true, if object is visible |
Optional silent | boolean | true, if object shouldn't be invalidated |
this
▸ 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
| Name | Type | Description |
|---|---|---|
scene | Scene | The scene |
camera | Camera | The camera |
▸ 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.
boolean
AbstractSurface.useOwnHighlight
▸ Static getClassName(): string
string
▸ 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.
void