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

constructor

Properties

Protected animationList

animationList: IGenericAnimation[] = []

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

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 destinations

destinations: TSciChartDestination[]

Readonly domCanvas2D

domCanvas2D: HTMLCanvasElement

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

Readonly domCanvasWebGL

domCanvasWebGL: HTMLCanvasElement

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

Readonly domChartRoot

domChartRoot: HTMLDivElement

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

Readonly domDivContainer

domDivContainer: HTMLDivElement

The inner {@link HTMLDivElement} div element

Readonly domSvgAdornerLayer

domSvgAdornerLayer: SVGSVGElement

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

Readonly domSvgContainer

domSvgContainer: SVGSVGElement

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

Protected heightAspect

heightAspect: number

Readonly id

id: string = generateGuid()

Protected isDeletedProperty

isDeletedProperty: boolean = false

Protected isInitializedProperty

isInitializedProperty: boolean = false

Protected loaderJson

loaderJson: any

Readonly 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

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}

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 themeProviderProperty

themeProviderProperty: IThemeProvider = SciChartSurfaceBase.DEFAULT_THEME

Readonly webAssemblyContext3D

webAssemblyContext3D: TSciChart3D

The {@link TSciChart3D | 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 domMasterCanvas

domMasterCanvas: HTMLCanvasElement

The master WebGL canvas

remarks

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

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

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

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

isInitialized

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

    Returns 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(htmlColor: string): 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

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(): void
  • Deletes native (WebAssembly) memory used by this type, after which it cannot be used.

    remarks

    Call .delete() before finishing with the object to ensure that WebAssmembly memory leaks do not occur.

    All elements within SciChart's High Performance Realtime JavaScript Charts which implement IDeletable must be deleted manually to free native (WebAssembly) memory

    Returns void

Protected detachChartModifier

doDrawingLoop

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

    Returns 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

invalidateElement

  • invalidateElement(): void

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

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

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/scichart@2.2.2378/_wasm/scichart3d.data",
     wasmUrl: "https://cdn.jsdelivr.net/npm/scichart@2.2.2378/_wasm/scichart3d.wasm"
    });

    Parameters

    Returns void

Static create

  • Creates a SciChart3DSurface and {@link TSciChart3D | WebAssembly Context} to occupy the div by element ID in your DOM.

    remarks

    This method is async and must be awaited

    Parameters

    • divElementId: string

      The Div Element ID where the SciChart3DSurface will reside

    • Optional options: I2DSurfaceOptions

      Optional parameters of type {@link IChartCreationOptions}

    Returns Promise<TWebAssemblyChart3D>

Static createSingle

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.

    Returns void

Generated using TypeDoc