Table of Contents

Class View3DBase

Namespace
LightningChartLib.WinForms.Charting.Views.View3D
Assembly
LightningChart.WinForms.Charting.NET4.dll

3D view base class.

[TypeConverter(typeof(ExpandableObjectConverter))]
public abstract class View3DBase : ViewBase, IChartNode, IDisposable
Inheritance
View3DBase
Implements
Derived
Inherited Members

Constructors

View3DBase()

Constructor

public View3DBase()

View3DBase(LightningChart)

Constructor.

public View3DBase(LightningChart owner)

Parameters

owner LightningChart

Parent.

Properties

AutoSizeMargins

Automatically size margins based on LegendBox position and size.

public bool AutoSizeMargins { get; set; }

Property Value

bool

Border

Border Options for View

public ThinBorder Border { get; set; }

Property Value

ThinBorder

Camera

Camera (point of view).

public Camera3D Camera { get; set; }

Property Value

Camera3D

Dimensions

Dimensions (size) of the 3D chart view

public virtual SizeDoubleXYZ Dimensions { get; set; }

Property Value

SizeDoubleXYZ

Lights

List of lights

public virtual Light3DList Lights { get; set; }

Property Value

Light3DList

Methods

AdjustSelectedAnnotationTargetZ(int)

Adjust selected annotation target z value.

protected void AdjustSelectedAnnotationTargetZ(int zChange)

Parameters

zChange int

z change

CalcMarginEffects()

re-calculates the margin area and drawcenter, marks all affected to dirty.

protected override void CalcMarginEffects()

Convert3DWorldCoordToScreenCoord(double, double, double)

Convert a 3D point to screen coordinate.

public PointInt Convert3DWorldCoordToScreenCoord(double x, double y, double z)

Parameters

x double

X-coordinate.

y double

Y-coordinate.

z double

Z-coordinate.

Returns

PointInt

Point in screen coordinates.

CreateCamera()

Create camera.

protected virtual void CreateCamera()

CreateDefaultLights()

Create default lights.

public static IEnumerable<Light3D> CreateDefaultLights()

Returns

IEnumerable<Light3D>
returns M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.CreateDefaultLights

CreateDimensions()

Create dimensions.

protected virtual void CreateDimensions()

DeviceButtonDoubleClicked(UserInteractiveDeviceEventArgs, UserInteractiveDeviceEventType, LightningChart)

User interactive device button has been double clicked. For double click the behavior is almost similar to single click, only raised event differs.

protected override bool DeviceButtonDoubleClicked(UserInteractiveDeviceEventArgs eventArguments, UserInteractiveDeviceEventType eventType, LightningChart chart)

Parameters

eventArguments UserInteractiveDeviceEventArgs
param eventArguments M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.DeviceButtonDoubleClicked(LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventArgs,LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventType,LightningChartLib.WinForms.Charting.LightningChart)
eventType UserInteractiveDeviceEventType
param eventType M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.DeviceButtonDoubleClicked(LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventArgs,LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventType,LightningChartLib.WinForms.Charting.LightningChart)
chart LightningChart
param chart M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.DeviceButtonDoubleClicked(LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventArgs,LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventType,LightningChartLib.WinForms.Charting.LightningChart)

Returns

bool
returns M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.DeviceButtonDoubleClicked(LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventArgs,LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventType,LightningChartLib.WinForms.Charting.LightningChart)

Dispose(bool)

Clean up any resources being used.

protected override void Dispose(bool disposing)

Parameters

disposing bool

true if managed resources should be disposed, otherwise false.

GetPanSensitivity()

Get Pan Sensitivity

protected double GetPanSensitivity()

Returns

double
returns M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.GetPanSensitivity

GetRotationSensitivity()

Get Rotation Sensitivity set as public property.

protected double GetRotationSensitivity()

Returns

double
returns M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.GetRotationSensitivity

GetZoomPadding()

Getter of the ZoomPadding, supported by Round and 3D Views ZoomPanOptions.

protected override Padding GetZoomPadding()

Returns

Padding

ZoomPadding of the given view, if supported.

LightsListChanged(object, ListChangedEventArgs)

Lights list changed

protected virtual void LightsListChanged(object sender, ListChangedEventArgs e)

Parameters

sender object
param sender M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.LightsListChanged(System.Object,System.ComponentModel.ListChangedEventArgs)
e ListChangedEventArgs
param e M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.LightsListChanged(System.Object,System.ComponentModel.ListChangedEventArgs)

OnDeserialized(StreamingContext)

OnDeserialized is called just after the object has been deserialized

[OnDeserialized]
protected void OnDeserialized(StreamingContext context)

Parameters

context StreamingContext

Context

Point3DToCoordW(double, double, double, Axis3DBase, Axis3DBase, Axis3DBase)

Convert 3D point coordinates to world coordinates.

protected Vector3 Point3DToCoordW(double x, double y, double z, Axis3DBase xAxis, Axis3DBase yAxis, Axis3DBase zAxis)

Parameters

x double

X-value.

y double

Y-value.

z double

Z-value.

xAxis Axis3DBase

X-axis.

yAxis Axis3DBase

Y-axis.

zAxis Axis3DBase

Z-axis.

Returns

Vector3
returns M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.Point3DToCoordW(System.Double,System.Double,System.Double,LightningChartLib.WinForms.Charting.Axes.Axis3DBase,LightningChartLib.WinForms.Charting.Axes.Axis3DBase,LightningChartLib.WinForms.Charting.Axes.Axis3DBase)

PositionOverGraph(CoordXY)

Check is position is over graph.

protected override bool PositionOverGraph(CoordXY coord)

Parameters

coord CoordXY

Position

Returns

bool
returns M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.PositionOverGraph(LightningChartLib.WinForms.Charting.CoordXY)

RaiseCameraViewChangedEvent()

Raise camera view changed event.

protected virtual void RaiseCameraViewChangedEvent()

RaiseDimensionsChangedEvent()

Raise dimension changed event.

protected virtual void RaiseDimensionsChangedEvent()

SetPredefinedLightingScheme(LightingScheme)

Set a predefined lighting scheme.

public void SetPredefinedLightingScheme(LightingScheme scheme)

Parameters

scheme LightingScheme

Lighting scheme.

SetPredefinedLightingSchemeWithoutRefresh(LightingScheme)

Set predefined lighting scheme without refresh.

protected void SetPredefinedLightingSchemeWithoutRefresh(LightingScheme scheme)

Parameters

scheme LightingScheme
param scheme M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.SetPredefinedLightingSchemeWithoutRefresh(LightningChartLib.WinForms.Charting.LightingScheme)

SortingDirty()

Sorting Dirty

protected virtual void SortingDirty()

UserInteractiveDeviceMoved(UserInteractiveDeviceEventArgs, UserInteractiveDeviceEventType, LightningChart)

User interactive device has been moved.

protected override bool UserInteractiveDeviceMoved(UserInteractiveDeviceEventArgs eventArguments, UserInteractiveDeviceEventType eventType, LightningChart chart)

Parameters

eventArguments UserInteractiveDeviceEventArgs
param eventArguments M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.UserInteractiveDeviceMoved(LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventArgs,LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventType,LightningChartLib.WinForms.Charting.LightningChart)
eventType UserInteractiveDeviceEventType
param eventType M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.UserInteractiveDeviceMoved(LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventArgs,LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventType,LightningChartLib.WinForms.Charting.LightningChart)
chart LightningChart
param chart M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.UserInteractiveDeviceMoved(LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventArgs,LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventType,LightningChartLib.WinForms.Charting.LightningChart)

Returns

bool
returns M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.UserInteractiveDeviceMoved(LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventArgs,LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventType,LightningChartLib.WinForms.Charting.LightningChart)

WheelScrolled(UserInteractiveDeviceEventArgs, LightningChart)

Mouse wheel scrolled.

public override bool WheelScrolled(UserInteractiveDeviceEventArgs eventArguments, LightningChart chart)

Parameters

eventArguments UserInteractiveDeviceEventArgs
param eventArguments M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.WheelScrolled(LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventArgs,LightningChartLib.WinForms.Charting.LightningChart)
chart LightningChart
param chart M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.WheelScrolled(LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventArgs,LightningChartLib.WinForms.Charting.LightningChart)

Returns

bool
returns M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.WheelScrolled(LightningChartLib.WinForms.Charting.UserInteractiveDeviceEventArgs,LightningChartLib.WinForms.Charting.LightningChart)

ZoomToFit(ZoomArea3D)

Zooms the view so that the data is visible at maximum possible size.

Area is either the full drawing area inside Margins or area which is further limited by ZoomPadding, depending on case. For more information, see options at ZoomArea3D.

public void ZoomToFit(ZoomArea3D area = ZoomArea3D.DataAndLabelsArea)

Parameters

area ZoomArea3D
param area M:LightningChartLib.WinForms.Charting.Views.View3D.View3DBase.ZoomToFit(LightningChartLib.WinForms.Charting.ZoomArea3D)

Remarks

This can also be initiated by mouse gesture. See DevicePrimaryButtonDoubleClickAction.