Options
All
  • Public
  • Public/Protected
  • All
Menu
summary

The SciChart3DSurface is the root 3D Chart control in SciChart's High Performance Real-time JavaScript 3D Chart Library

description

To create a 3D chart using SciChart, declare a SciChart3DSurface using SciChart3DSurface.create, add X,Y,Z axis via the SciChart3DSurface.xAxis SciChart3DSurface.yAxis and SciChart3DSurface.zAxis properties.

Next, add a series or chart type by adding a BaseRenderableSeries3D to the SciChart3DSurface.renderableSeries collection.

Position the camera in the 3D scene by adjusting the SciChart3DSurface.camera property.

To redraw a SciChart3DSurface at any time, call SciChart3DSurface.invalidateElement, however all properties are reactive and the chart will automatically redraw if data or properties change.

remarks

SciChartSurfaces scale to fit the parent DIV where they are hosted. Use CSS to position the DIV.

Hierarchy

Implements

Index

Constructors

Properties

Accessors

Methods

Constructors

constructor

Properties

adornerLayer

adornerLayer: AdornerLayer

Protected animationList

animationList: IGenericAnimation[] = []

Readonly annotations

summary

Gets the collection of IAnnotation - annotations, markers or shapes drawn over the top of a SciChartSurface

description

A SciChartSurface can have zero to many Annotations.

The Annotations are drawn using our WebGL / WebAssembly rendering engine, but some use SVG for maximum configurability. See derived types of IAnnotation such as BoxAnnotation, LineAnnotation etc...

Use this collection to add and remove Annotations to the chart.

remarks

Adding an Annotation to the chart causes it to automatically redraw. Note that annotations do not pariticpate in autoranging, meaning a chart will zoom to fit data and chart series but not annotations

Readonly axisCubeEntity

axisCubeEntity: AxisCubeEntity

The AxisCubeEntity is a 3D Scene Entity (inherits BaseSceneEntity3D) which renders the 3D X,Y,Z axis cube, axis walls and labels in a SciChart3DSurface

Protected backgroundProperty

backgroundProperty: string = SciChartSurfaceBase.DEFAULT_THEME.sciChartBackground

Readonly chartModifiers

An ObservableArray of IChartModifierBase derived types. Chart Modifiers provide behavior such as zooming, panning, tooltips, legends and more in SciChart's High Performance Realtime JavaScript Charts. You can use our built in modifiers (see derived types of ChartModifierBase, or create your own for custom interaction behavior.

Protected createSuspended

createSuspended: boolean

Protected destinations

destinations: TSciChartDestination[]

Protected disableAspect

disableAspect: boolean

domCanvas2D

domCanvas2D: HTMLCanvasElement

The {@link HTMLCanvasElement} which is the HTML5 canvas which SciChart draws overlays (cursors, tooltips) to

domCanvasWebGL

domCanvasWebGL: HTMLCanvasElement

The {@link HTMLCanvasElement} which is the WebGL canvas that SciChart draws to

domChartRoot

domChartRoot: HTMLDivElement

The {@link HTMLDivElement} which is the dom chart root

domDivContainer

domDivContainer: HTMLDivElement

The inner {@link HTMLDivElement} div element

domSvgAdornerLayer

domSvgAdornerLayer: SVGSVGElement

The {@link SVGSVGElement} which is the SVG adorner layer canvas, is used for annotation adorners

domSvgContainer

domSvgContainer: SVGSVGElement

The {@link SVGSVGElement} which is the SVG canvas which SciChart adds elements (tooltips, annotations) to

Protected heightAspect

heightAspect: number

Protected idProperty

idProperty: string = generateGuid()

Protected isDeletedProperty

isDeletedProperty: boolean = false

Protected isInitializedProperty

isInitializedProperty: boolean = false

Protected loaderJson

loaderJson: any

Readonly modifierAnnotations

modifierAnnotations: ObservableArray<IAnnotation>
summary

Gets the collection of IAnnotation - modifier annotations, markers or shapes drawn over the top of a SciChartSurface

description

A SciChartSurface can have zero to many Annotations.

The Annotations are drawn using our WebGL / WebAssembly rendering engine, but some use SVG for maximum configurability. See derived types of IAnnotation such as BoxAnnotation, LineAnnotation etc...

Use this collection to add and remove Modifier Annotations to the chart.

remarks

Adding an Modifier Annotation to the chart causes it to automatically redraw. Note that annotations do not pariticpate in autoranging, meaning a chart will zoom to fit data and chart series but not annotations

mouseManager

mouseManager: MouseManager

The MouseManager subscribes to mouse events on the domChartRoot and routes them to components within SciChart

onCreatedName

onCreatedName: string

For serialization Only. The name of the onCreated function applied by the builder api

preRender

preRender: EventHandler<void> = new EventHandler<void>()

An event handler which notifies its subscribers when a render operation starts. Use this to update elements of the chart for the current render. Any updates made here will not trigger a subsequent render.

Protected previousThemeProviderProperty

previousThemeProviderProperty: IThemeProvider = SciChartSurfaceBase.DEFAULT_THEME

Readonly propertyChanged

A propertyChanged EventHandler. See EventHandler for how to subscribe to and be notified when a property changes on the SciChartSurfaceBase

Readonly renderableSeries

summary

Gets the collection of IRenderableSeries3D - the chart types or seres on this SciChart3DSurface

description

A SciChart3DSurface can have zero to many RenderableSeries.

The RenderableSeries are drawn as chart types, e.g. 3D Scatter series, Surface Mesh series. Each RenderableSeries must have a DataSeries.

Use this collection to add and remove series to the chart.

remarks

Adding a series to the chart causes it to automatically redraw. To zoom to fit the data after adding a series, either set AxisCore.autoRange or call {@link SciChart3DSurface.zoomExtents}

rendered

rendered: EventHandler<boolean> = new EventHandler<boolean>()

An event handler which notifies its subscribers when a render operation has finished. Use this to time render performance, or to update elements of the chart or your UI on redraw.

rootEntity

rootEntity: RootSceneEntity
summary

The RootSceneEntity is a special BaseSceneEntity3D type which is the root of the entire scene in in SciChart's High Performance JavaScript 3D Charts

remarks

Add and remove entities to the scene using the property SciChart3DSurface.rootEntity and calling SceneEntity.children.add.

When a BaseRenderableSeries3D is added to SciChart3DSurface.renderableSeries, it's entity is automatically added to the scene.

Protected suspender

suspender: UpdateSuspender

Protected themeProviderProperty

themeProviderProperty: IThemeProvider = SciChartSurfaceBase.DEFAULT_THEME

Protected touchActionProperty

touchActionProperty: string

watermarkPosition

watermarkPosition: EWatermarkPosition = SciChartDefaults.watermarkPosition

The position of the watermark for trials and community licenses

Readonly webAssemblyContext3D

webAssemblyContext3D: TSciChart3D

The SciChart 3D WebAssembly Context containing native methods and access to our WebGL2 Engine and WebAssembly numerical methods

Protected widthAspect

widthAspect: number

Static AntiAliasWebGlBackbuffer

AntiAliasWebGlBackbuffer: boolean = false

Global property defining whether the WebGL render target is anti-aliased or not. This will affect all SciChartSurfaces (2D & 3D) in the application.

remarks

Defaults to FALSE for crisp gridlines and lines. Individual line series and text labels are chart parts are automatically anti-aliased

Static DEFAULT_THEME

DEFAULT_THEME: IThemeProvider = new SciChartJSDarkv2Theme()

Gets or sets the application-wide default theme. See IThemeProvider for details

Static autoDisposeWasmContext

autoDisposeWasmContext: boolean = false

Defines if the shared wasmContext (WebAssembly Context) should be deleted after all of the surfaces that use it are deleted.

Static domMasterCanvas

domMasterCanvas: HTMLCanvasElement

The master WebGL canvas

remarks

WARNING: Do not set this property, this is set internally by SciChart when initializing mutliple charts

Static wasmContextDisposeTimeout

wasmContextDisposeTimeout: number = 0

Defines a delay of the shared wasmContext auto-dispose if autoDisposeWasmContext is enabled.

Accessors

background

  • get background(): string
  • set background(background: string): void
  • Gets or sets the SciChartSurface Background as an HTML color code

    Returns string

  • Gets or sets the SciChartSurface Background as an HTML color code

    Parameters

    • background: string

    Returns void

camera

  • The ICameraController is a 3D Camera which allows choosing perspective, orthogonal projections, camera position, target, orientation such as Pitch, Yaw and Roll etc...

    remarks

    See CameraController for a concrete implementation of ICameraController

    Returns ICameraController

  • The ICameraController is a 3D Camera which allows choosing perspective, orthogonal projections, camera position, target, orientation such as Pitch, Yaw and Roll etc...

    remarks

    See CameraController for a concrete implementation of ICameraController

    Parameters

    Returns void

chartModifierGroups

  • get chartModifierGroups(): string[]

enableGizmo

  • get enableGizmo(): boolean
  • set enableGizmo(isEnabled: boolean): void
  • Gets or sets whether the Xyz gizmo is enabled - a small 3D Xyz axis on the bottom left of the 3D Chart

    Returns boolean

  • Gets or sets whether the Xyz gizmo is enabled - a small 3D Xyz axis on the bottom left of the 3D Chart

    Parameters

    • isEnabled: boolean

    Returns void

id

  • get id(): string
  • set id(value: string): void
  • Gets or sets the SciChartSurface Id

    Returns string

  • Gets or sets the SciChartSurface Id

    Parameters

    • value: string

    Returns void

isAxisCubeRendered

  • get isAxisCubeRendered(): boolean
  • Called internally Gets isAxisCubeRenderedProperty flag

    Returns boolean

isCopyCanvasSurface

  • get isCopyCanvasSurface(): HTMLCanvasElement

isDeleted

  • get isDeleted(): boolean
  • Used internally - gets isDeleted flag

    Returns boolean

isHitTestEnabled

  • get isHitTestEnabled(): boolean
  • set isHitTestEnabled(isEnabled: boolean): void
  • Required to enable Hit-Test if any of the following functions are needed in SciChart3DSurface:

    Enabling hit-test adds minor a performance overhead for drawing and should be disabled if not required.

    Returns boolean

  • Required to enable Hit-Test if any of the following functions are needed in SciChart3DSurface:

    Enabling hit-test adds minor a performance overhead for drawing and should be disabled if not required.

    Parameters

    • isEnabled: boolean

    Returns void

isInitialized

  • get isInitialized(): boolean
  • Used internally - gets isInitialized flag

    Returns boolean

isInvalidated

  • get isInvalidated(): boolean

isRunningAnimation

  • get isRunningAnimation(): boolean
  • Returns true if an animation is running

    Returns boolean

isSuspended

  • get isSuspended(): boolean
  • Gets a value indicating whether updates for the target are currently suspended

    inheritdoc

    Returns boolean

otherSurfaces

previousThemeProvider

seriesViewRect

  • get seriesViewRect(): Rect

surfaceType

suspendableId

  • get suspendableId(): string
  • A unique ID for this suspendable instance. Consider using the generateGuid function to ensure this is unique

    inheritdoc

    Returns string

themeProvider

viewportManager

  • Gets or sets the Viewport Manager - a class that allows managing of viewport axis ranges

    Returns ViewportManager3DBase

  • Gets or sets the Viewport Manager - a class that allows managing of viewport axis ranges

    Parameters

    Returns void

worldDimensions

  • get worldDimensions(): Vector3
  • set worldDimensions(worldDimensions: Vector3): void
  • The WorldDimensions defines the size of the world in 3D space. Series and objects can exist outside of this world however the Axis cube will conform to this size.

    remarks

    See our Documentation online to see how the World Dimensions property configures the size of the chart.

    Returns Vector3

  • The WorldDimensions defines the size of the world in 3D space. Series and objects can exist outside of this world however the Axis cube will conform to this size.

    remarks

    See our Documentation online to see how the World Dimensions property configures the size of the chart.

    Parameters

    Returns void

xAxis

  • Gets or sets the XAxis in the 3D Chart.

    remarks

    Axis types which derive from AxisBase3D or concrete type NumericAxis3D are valid

    Returns AxisBase3D

  • Gets or sets the XAxis in the 3D Chart.

    remarks

    Axis types which derive from AxisBase3D or concrete type NumericAxis3D are valid

    Parameters

    Returns void

yAxis

  • Gets or sets the YAxis in the 3D Chart.

    remarks

    Axis types which derive from AxisBase3D or concrete type NumericAxis3D are valid

    Returns AxisBase3D

  • Gets or sets the YAxis in the 3D Chart.

    remarks

    Axis types which derive from AxisBase3D or concrete type NumericAxis3D are valid

    Parameters

    Returns void

zAxis

  • Gets or sets the ZAxis in the 3D Chart.

    remarks

    Axis types which derive from AxisBase3D or concrete type NumericAxis3D are valid

    Returns AxisBase3D

  • Gets or sets the ZAxis in the 3D Chart.

    remarks

    Axis types which derive from AxisBase3D or concrete type NumericAxis3D are valid

    Parameters

    Returns void

Methods

addAnimation

  • Add a GenericAnimation to the surface. Multiple animations will be run in parallel, so if you want to run one after another, use the onCompleted callback to add another animation after the first completes

    Parameters

    Returns void

addDeletable

Protected applyOptions

Protected applySciChartBackground

  • applySciChartBackground(background: string, alphaEnabled?: boolean): void

applyTheme

Protected attachChartModifier

Protected changeMasterCanvasViewportSize

  • changeMasterCanvasViewportSize(wasmContext: TSciChart | TSciChart3D, pixelWidth: number, pixelHeight: number): void

changeViewportSize

  • changeViewportSize(pixelWidth: number, pixelHeight: number): void

Protected changeWebGLCanvasViewportSize

  • changeWebGLCanvasViewportSize(wasmContext: TSciChart | TSciChart3D, pixelWidth: number, pixelHeight: number): void

Protected clearRootElement

  • clearRootElement(clearHtml: boolean): void

decrementSuspend

  • decrementSuspend(): void
  • Called by IUpdateSuspender each time a target suspender is resumed. When the final target suspender has been resumed, resumeUpdates is called

    Returns void

delete

  • delete(clearHtml?: boolean): void

Protected detachChartModifier

doDrawingLoop

  • doDrawingLoop(): void
  • Called internally - the main drawing loop

    Returns void

Protected enableRenderListener

  • enableRenderListener(): void

getAnimations

  • Gets the generic animations currently on the surface. Do not manipulate this array directly. To add, use addAnimation. To remove, find an animation and call .cancel() on it.

    Returns ReadonlyArray<IGenericAnimation>

getMainCanvas

  • getMainCanvas(): HTMLCanvasElement

getSceneWorld

  • getSceneWorld(): SCRTSceneWorld
  • Used internally: Gets the {@link SCRTSceneWorld} object at the root of the 3d scene graph

    Returns SCRTSceneWorld

getSeriesViewRectPadding

  • getSeriesViewRectPadding(scaled: boolean): Thickness

getXAxisById

getYAxisById

invalidateElement

  • invalidateElement(): void

nextStateRender

  • nextStateRender(options?: { invalidateOnResume?: boolean; resumeBefore?: boolean; suspendAfter?: boolean }): Promise<unknown>
  • Creates a promise which resolves when the chart is updated to the next fully rendered state

    remarks

    If the surface is initialized with createSingle the promise resolves after the main render function is executed. Otherwise, if it is initialized with create - the promise resolves after image data is copied to the 2D canvas.

    Parameters

    • Optional options: { invalidateOnResume?: boolean; resumeBefore?: boolean; suspendAfter?: boolean }
      • Optional invalidateOnResume?: boolean
      • Optional resumeBefore?: boolean
      • Optional suspendAfter?: boolean

    Returns Promise<unknown>

Protected notifyPropertyChanged

  • notifyPropertyChanged(propertyName: string): void

onAnimate

  • onAnimate(timeElapsed: number): void
  • Is being called on each render, to run animations

    Parameters

    • timeElapsed: number

    Returns void

onDpiChanged

onSciChartRendered

  • onSciChartRendered(): void
  • Called after the SciChart3DSurface has rendered.

    Returns void

resume

  • resume(): void
  • Returns void

resumeUpdates

setDestinations

setIsAxisCubeRendered

  • setIsAxisCubeRendered(): void
  • Called internally Sets isAxisCubeRenderedProperty flag after Axis Cube is rendered

    Returns void

setIsInitialized

  • setIsInitialized(): void

setSeriesViewRect

  • setSeriesViewRect(seriesViewRect: Rect): void

suspendUpdates

updateBackground

  • updateBackground(): void
  • Used internally, updates background after switching between different SciChartSurfaces

    Returns void

updateWatermark

  • updateWatermark(left: number, bottom: number): void

worldToScreenCoord

  • Converts a 3D Xyz coordinate in world coordinates space to a screen coordinate (2d) in pixels. This allows you to get the 2D screen coordinate of any object or vertex in the 3D scene.

    remarks

    Note: Conversions to/from world/data space must be performed using the {@link AxisBase3D.getCurrentCoordinateCalculator()} API, which returns CoordinateCalculatorBase. Functions CoordinateCalculatorBase.getDataValue and CoordinateCalculatorBase.getCoordinate convert to/from world coords/data space

    Parameters

    • worldCoordXyz: Vector3

      The 3D Xyz coordinate

    Returns Point

    The 2D screen coordinate in pixels

Static UseCommunityLicense

  • UseCommunityLicense(): void

Static configure

  • Allows setting of web URL for Wasm and Data files, in the case you are loading SciChart outside of npm/webpack environment. Note if loading from CDN the version number of data/wasm Urls must match the version number of SciChart.js you are using.

    example
    // 3D Charts
    SciChart.SciChart3DSurface.configure({
     dataUrl: "https://cdn.jsdelivr.net/npm/[email protected]/_wasm/scichart3d.data",
     wasmUrl: "https://cdn.jsdelivr.net/npm/[email protected]/_wasm/scichart3d.wasm"
    });

    Parameters

    Returns void

Static create

Static createSingle

Static disposeSharedWasmContext

  • disposeSharedWasmContext(): void

Static loadWasmFromCDN

  • loadWasmFromCDN(): void
  • Tell SciChart to load the Wasm and Data files from CDN, rather than expecting them to be served by the host server.

    Returns void

Static loadWasmLocal

  • loadWasmLocal(): void
  • Tell SciChart to load the Wasm and Data files from the local server, rather than from CDN.

    Returns void

Static resolveOptions

Static setLicenseCallback

  • setLicenseCallback(callback: (queryString: string) => Promise<Response>): void
  • Sets function that will be called by the framework to validate a runtime license from the server, if you need to add additional handling, such as custom authentication. The request sent to the server must include the queryString section passed in, which does not come with a leading ?

    Parameters

    • callback: (queryString: string) => Promise<Response>
        • (queryString: string): Promise<Response>
        • Parameters

          • queryString: string

          Returns Promise<Response>

    Returns void

Static setRuntimeLicenseKey

  • setRuntimeLicenseKey(keyCode: string): void
  • Sets the runtime license key. Use for full licenses or trials only, not developer licenses.

    Parameters

    • keyCode: string

    Returns void

Static setServerLicenseEndpoint

  • setServerLicenseEndpoint(endpoint: string): void
  • Sets the endpoint for validating a runtime license key with the server. Must be a relative path.

    default

    api/license

    Parameters

    • endpoint: string

    Returns void

Static useWasmFromCDN

  • useWasmFromCDN(): void
  • Tell SciChart to load the Wasm and Data files from CDN, rather than expecting them to be served by the host server.

    deprecated

    the method name breaks eslint react-hooks/rules-of-hooks. To avoid this error in React, use loadWasmFromCDN instead.

    Returns void

Generated using TypeDoc