Table of Contents

Class BatchedMeshGeometryModel3D

Namespace
HelixToolkit.Avalonia.SharpDX
Assembly
HelixToolkit.Avalonia.SharpDX.dll

Static mesh batching. Supports multiple BatchedMaterials. All geometries are merged into single buffer for rendering. Indivisual material color infomations are encoded into vertex buffer.

Material is used if BatchedMaterials = null. And also used for shared material texture binding.

public class BatchedMeshGeometryModel3D : Element3D, INotifyPropertyChanged, IDataContextProvider, ILogical, IThemeVariantHost, IResourceHost, IResourceNode, IStyleHost, ISetLogicalParent, ISetInheritanceParent, ISupportInitialize, IStyleable, INamed, IInputElement, IDataTemplateHost, ISetterValue, IDisposable, IVisible, IHitable, IThrowingShadow, IApplyPostEffect
Inheritance
AvaloniaObject
Animatable
StyledElement
Visual
Layoutable
Interactive
InputElement
Control
BatchedMeshGeometryModel3D
Implements
IDataContextProvider
ILogical
IThemeVariantHost
IResourceHost
IResourceNode
IStyleHost
ISetLogicalParent
ISetInheritanceParent
IStyleable
INamed
IInputElement
IDataTemplateHost
ISetterValue
Inherited Members
Control.FocusAdornerProperty
Control.TagProperty
Control.ContextMenuProperty
Control.ContextFlyoutProperty
Control.RequestBringIntoViewEvent
Control.ContextRequestedEvent
Control.LoadedEvent
Control.UnloadedEvent
Control.SizeChangedEvent
Control.GetTemplateFocusTarget()
Control.OnLoaded(RoutedEventArgs)
Control.OnUnloaded(RoutedEventArgs)
Control.OnSizeChanged(SizeChangedEventArgs)
Control.OnAttachedToVisualTreeCore(VisualTreeAttachmentEventArgs)
Control.OnDetachedFromVisualTreeCore(VisualTreeAttachmentEventArgs)
Control.OnGotFocus(GotFocusEventArgs)
Control.OnLostFocus(RoutedEventArgs)
Control.OnCreateAutomationPeer()
Control.OnPointerReleased(PointerReleasedEventArgs)
Control.OnKeyUp(KeyEventArgs)
Control.OnPropertyChanged(AvaloniaPropertyChangedEventArgs)
Control.FocusAdorner
Control.DataTemplates
Control.ContextMenu
Control.ContextFlyout
Control.IsLoaded
Control.Tag
Control.ContextRequested
Control.Loaded
Control.Unloaded
Control.SizeChanged
InputElement.FocusableProperty
InputElement.IsEnabledProperty
InputElement.IsEffectivelyEnabledProperty
InputElement.CursorProperty
InputElement.IsKeyboardFocusWithinProperty
InputElement.IsFocusedProperty
InputElement.IsPointerOverProperty
InputElement.IsTabStopProperty
InputElement.GotFocusEvent
InputElement.LostFocusEvent
InputElement.KeyDownEvent
InputElement.KeyUpEvent
InputElement.TabIndexProperty
InputElement.TextInputEvent
InputElement.TextInputMethodClientRequestedEvent
InputElement.PointerEnteredEvent
InputElement.PointerExitedEvent
InputElement.PointerMovedEvent
InputElement.PointerPressedEvent
InputElement.PointerReleasedEvent
InputElement.PointerCaptureLostEvent
InputElement.PointerWheelChangedEvent
InputElement.TappedEvent
InputElement.HoldingEvent
InputElement.DoubleTappedEvent
InputElement.Focus(NavigationMethod, KeyModifiers)
InputElement.OnKeyDown(KeyEventArgs)
InputElement.OnTextInput(TextInputEventArgs)
InputElement.OnPointerEntered(PointerEventArgs)
InputElement.OnPointerExited(PointerEventArgs)
InputElement.OnPointerMoved(PointerEventArgs)
InputElement.OnPointerPressed(PointerPressedEventArgs)
InputElement.OnPointerCaptureLost(PointerCaptureLostEventArgs)
InputElement.OnPointerWheelChanged(PointerWheelEventArgs)
InputElement.UpdateIsEffectivelyEnabled()
InputElement.Focusable
InputElement.IsEnabled
InputElement.Cursor
InputElement.IsKeyboardFocusWithin
InputElement.IsFocused
InputElement.IsPointerOver
InputElement.IsTabStop
InputElement.IsEffectivelyEnabled
InputElement.TabIndex
InputElement.KeyBindings
InputElement.IsEnabledCore
InputElement.GestureRecognizers
InputElement.GotFocus
InputElement.LostFocus
InputElement.KeyDown
InputElement.KeyUp
InputElement.TextInput
InputElement.TextInputMethodClientRequested
InputElement.PointerEntered
InputElement.PointerExited
InputElement.PointerMoved
InputElement.PointerPressed
InputElement.PointerReleased
InputElement.PointerCaptureLost
InputElement.PointerWheelChanged
InputElement.Tapped
InputElement.Holding
InputElement.DoubleTapped
Interactive.RaiseEvent(RoutedEventArgs)
Interactive.BuildEventRoute(RoutedEvent)
Layoutable.DesiredSizeProperty
Layoutable.WidthProperty
Layoutable.HeightProperty
Layoutable.MinWidthProperty
Layoutable.MaxWidthProperty
Layoutable.MinHeightProperty
Layoutable.MaxHeightProperty
Layoutable.MarginProperty
Layoutable.HorizontalAlignmentProperty
Layoutable.VerticalAlignmentProperty
Layoutable.UseLayoutRoundingProperty
Layoutable.UpdateLayout()
Layoutable.ApplyTemplate()
Layoutable.Measure(Size)
Layoutable.Arrange(Rect)
Layoutable.InvalidateMeasure()
Layoutable.InvalidateArrange()
Layoutable.AffectsMeasure<T>(params AvaloniaProperty[])
Layoutable.AffectsArrange<T>(params AvaloniaProperty[])
Layoutable.MeasureCore(Size)
Layoutable.MeasureOverride(Size)
Layoutable.ArrangeCore(Rect)
Layoutable.ArrangeOverride(Size)
Layoutable.OnMeasureInvalidated()
Layoutable.OnVisualParentChanged(Visual, Visual)
Layoutable.Width
Layoutable.Height
Layoutable.MinWidth
Layoutable.MaxWidth
Layoutable.MinHeight
Layoutable.MaxHeight
Layoutable.Margin
Layoutable.HorizontalAlignment
Layoutable.VerticalAlignment
Layoutable.DesiredSize
Layoutable.IsMeasureValid
Layoutable.IsArrangeValid
Layoutable.UseLayoutRounding
Layoutable.EffectiveViewportChanged
Layoutable.LayoutUpdated
Visual.BoundsProperty
Visual.ClipToBoundsProperty
Visual.ClipProperty
Visual.IsVisibleProperty
Visual.OpacityProperty
Visual.OpacityMaskProperty
Visual.EffectProperty
Visual.HasMirrorTransformProperty
Visual.RenderTransformProperty
Visual.RenderTransformOriginProperty
Visual.FlowDirectionProperty
Visual.VisualParentProperty
Visual.ZIndexProperty
Visual.GetFlowDirection(Visual)
Visual.SetFlowDirection(Visual, FlowDirection)
Visual.InvalidateVisual()
Visual.Render(DrawingContext)
Visual.AffectsRender<T>(params AvaloniaProperty[])
Visual.OnAttachedToVisualTree(VisualTreeAttachmentEventArgs)
Visual.OnDetachedFromVisualTree(VisualTreeAttachmentEventArgs)
Visual.InvalidateMirrorTransform()
Visual.ClipToBounds
Visual.Clip
Visual.IsEffectivelyVisible
Visual.IsVisible
Visual.Opacity
Visual.OpacityMask
Visual.Effect
Visual.HasMirrorTransform
Visual.RenderTransform
Visual.RenderTransformOrigin
Visual.FlowDirection
Visual.ZIndex
Visual.VisualChildren
Visual.VisualRoot
Visual.BypassFlowDirectionPolicies
Visual.AttachedToVisualTree
Visual.DetachedFromVisualTree
StyledElement.DataContextProperty
StyledElement.NameProperty
StyledElement.ParentProperty
StyledElement.TemplatedParentProperty
StyledElement.ThemeProperty
StyledElement.BeginInit()
StyledElement.EndInit()
StyledElement.ApplyStyling()
StyledElement.InitializeIfNeeded()
StyledElement.OnAttachedToLogicalTree(LogicalTreeAttachmentEventArgs)
StyledElement.OnDetachedFromLogicalTree(LogicalTreeAttachmentEventArgs)
StyledElement.OnDataContextBeginUpdate()
StyledElement.OnDataContextEndUpdate()
StyledElement.OnInitialized()
StyledElement.Name
StyledElement.Classes
StyledElement.DataContext
StyledElement.IsInitialized
StyledElement.Styles
StyledElement.StyleKey
StyledElement.Resources
StyledElement.TemplatedParent
StyledElement.Theme
StyledElement.LogicalChildren
StyledElement.PseudoClasses
StyledElement.StyleKeyOverride
StyledElement.Parent
StyledElement.ActualThemeVariant
StyledElement.AttachedToLogicalTree
StyledElement.DetachedFromLogicalTree
StyledElement.DataContextChanged
StyledElement.Initialized
StyledElement.ResourcesChanged
StyledElement.ActualThemeVariantChanged
Animatable.TransitionsProperty
Animatable.OnPropertyChangedCore(AvaloniaPropertyChangedEventArgs)
Animatable.Transitions
AvaloniaObject.CheckAccess()
AvaloniaObject.VerifyAccess()
AvaloniaObject.ClearValue(AvaloniaProperty)
AvaloniaObject.ClearValue<T>(AvaloniaProperty<T>)
AvaloniaObject.ClearValue<T>(StyledProperty<T>)
AvaloniaObject.ClearValue<T>(DirectPropertyBase<T>)
AvaloniaObject.GetHashCode()
AvaloniaObject.GetValue(AvaloniaProperty)
AvaloniaObject.GetValue<T>(StyledProperty<T>)
AvaloniaObject.GetValue<T>(DirectPropertyBase<T>)
AvaloniaObject.GetBaseValue<T>(StyledProperty<T>)
AvaloniaObject.IsAnimating(AvaloniaProperty)
AvaloniaObject.IsSet(AvaloniaProperty)
AvaloniaObject.SetValue<T>(StyledProperty<T>, T, BindingPriority)
AvaloniaObject.SetValue<T>(DirectPropertyBase<T>, T)
AvaloniaObject.SetCurrentValue<T>(StyledProperty<T>, T)
AvaloniaObject.Bind(AvaloniaProperty, IBinding)
AvaloniaObject.CoerceValue(AvaloniaProperty)
AvaloniaObject.RaisePropertyChanged<T>(DirectPropertyBase<T>, T, T)
AvaloniaObject.SetAndRaise<T>(DirectPropertyBase<T>, ref T, T)
AvaloniaObject.InheritanceParent
AvaloniaObject.this[AvaloniaProperty]
AvaloniaObject.this[IndexerDescriptor]
AvaloniaObject.PropertyChanged
Extension Methods

Fields

AlwaysHittableProperty

The always hittable property

public static readonly AvaloniaProperty AlwaysHittableProperty

Field Value

AvaloniaProperty

BatchedGeometriesProperty

public static readonly AvaloniaProperty BatchedGeometriesProperty

Field Value

AvaloniaProperty

BatchedMaterialsProperty

public static readonly AvaloniaProperty BatchedMaterialsProperty

Field Value

AvaloniaProperty

CullModeProperty

The cull mode property

public static readonly AvaloniaProperty CullModeProperty

Field Value

AvaloniaProperty

DepthBiasProperty

The depth bias property

public static readonly AvaloniaProperty DepthBiasProperty

Field Value

AvaloniaProperty

EnableViewFrustumCheckProperty

The enable view frustum check property

public static readonly AvaloniaProperty EnableViewFrustumCheckProperty

Field Value

AvaloniaProperty

FillModeProperty

The fill mode property

public static readonly AvaloniaProperty FillModeProperty

Field Value

AvaloniaProperty

FrontCounterClockwiseProperty

The front counter clockwise property

public static readonly AvaloniaProperty FrontCounterClockwiseProperty

Field Value

AvaloniaProperty

InvertNormalProperty

The invert normal property

public static readonly AvaloniaProperty InvertNormalProperty

Field Value

AvaloniaProperty

IsDepthClipEnabledProperty

The is depth clip enabled property

public static readonly AvaloniaProperty IsDepthClipEnabledProperty

Field Value

AvaloniaProperty

IsMultisampleEnabledProperty

The is multisample enabled property

public static readonly AvaloniaProperty IsMultisampleEnabledProperty

Field Value

AvaloniaProperty

IsScissorEnabledProperty

The is scissor enabled property

public static readonly AvaloniaProperty IsScissorEnabledProperty

Field Value

AvaloniaProperty

IsSelectedProperty

The is selected property

public static readonly AvaloniaProperty IsSelectedProperty

Field Value

AvaloniaProperty

IsThrowingShadowProperty

public static readonly AvaloniaProperty IsThrowingShadowProperty

Field Value

AvaloniaProperty

IsTransparentProperty

Specifiy if model material is transparent. During rendering, transparent objects are rendered after opaque objects. Transparent objects' order in scene graph are preserved.

public static readonly AvaloniaProperty IsTransparentProperty

Field Value

AvaloniaProperty

MaterialProperty

public static readonly AvaloniaProperty MaterialProperty

Field Value

AvaloniaProperty

PostEffectsProperty

public static readonly AvaloniaProperty PostEffectsProperty

Field Value

AvaloniaProperty

RenderWireframeProperty

The render wireframe property

public static readonly AvaloniaProperty RenderWireframeProperty

Field Value

AvaloniaProperty

SlopeScaledDepthBiasProperty

The slope scaled depth bias property

public static readonly AvaloniaProperty SlopeScaledDepthBiasProperty

Field Value

AvaloniaProperty

WireframeColorProperty

The wireframe color property

public static readonly AvaloniaProperty WireframeColorProperty

Field Value

AvaloniaProperty

Properties

AlwaysHittable

Gets or sets a value indicating whether [always hittable] even it is not rendering.

public bool AlwaysHittable { get; set; }

Property Value

bool

true if [always hittable]; otherwise, false.

BatchedGeometries

public IList<BatchedMeshGeometryConfig>? BatchedGeometries { get; set; }

Property Value

IList<BatchedMeshGeometryConfig>

BatchedMaterials

public IList<Material>? BatchedMaterials { get; set; }

Property Value

IList<Material>

CullMode

Gets or sets the cull mode.

public CullMode CullMode { get; set; }

Property Value

CullMode

The cull mode.

DepthBias

Gets or sets the depth bias.

public int DepthBias { get; set; }

Property Value

int

The depth bias.

EnableViewFrustumCheck

Gets or sets a value indicating whether [enable view frustum check].

public bool EnableViewFrustumCheck { get; set; }

Property Value

bool

true if [enable view frustum check]; otherwise, false.

FillMode

Gets or sets the fill mode.

public FillMode FillMode { get; set; }

Property Value

FillMode

The fill mode.

FrontCounterClockwise

Gets or sets a value indicating whether [front counter clockwise].

public bool FrontCounterClockwise { get; set; }

Property Value

bool

true if [front counter clockwise]; otherwise, false.

InvertNormal

Invert the surface normal during rendering

public bool InvertNormal { get; set; }

Property Value

bool

IsDepthClipEnabled

Gets or sets a value indicating whether this instance is depth clip enabled.

public bool IsDepthClipEnabled { get; set; }

Property Value

bool

true if this instance is depth clip enabled; otherwise, false.

IsMultisampleEnabled

Only works under FillMode = Wireframe. MSAA is determined by viewport MSAA settings for FillMode = Solid

public bool IsMultisampleEnabled { get; set; }

Property Value

bool

IsScissorEnabled

Gets or sets a value indicating whether this instance is scissor enabled.

public bool IsScissorEnabled { get; set; }

Property Value

bool

true if this instance is scissor enabled; otherwise, false.

IsSelected

Gets or sets a value indicating whether this instance is selected.

public bool IsSelected { get; set; }

Property Value

bool

true if this instance is selected; otherwise, false.

IsThrowingShadow

public bool IsThrowingShadow { get; set; }

Property Value

bool

IsTransparent

Specifiy if model material is transparent. During rendering, transparent objects are rendered after opaque objects. Transparent objects' order in scene graph are preserved.

public bool IsTransparent { get; set; }

Property Value

bool

Material

public Material? Material { get; set; }

Property Value

Material

PostEffects

public string PostEffects { get; set; }

Property Value

string

RenderWireframe

Gets or sets a value indicating whether [render overlapping wireframe].

public bool RenderWireframe { get; set; }

Property Value

bool

true if [render wireframe]; otherwise, false.

SlopeScaledDepthBias

Gets or sets the slope scaled depth bias.

public double SlopeScaledDepthBias { get; set; }

Property Value

double

The slope scaled depth bias.

WireframeColor

Gets or sets the color of the wireframe.

public Color WireframeColor { get; set; }

Property Value

Color

The color of the wireframe.

Methods

AssignDefaultValuesToSceneNode(SceneNode)

protected override void AssignDefaultValuesToSceneNode(SceneNode node)

Parameters

node SceneNode

OnCreateSceneNode()

Called when [create scene node].

protected override SceneNode OnCreateSceneNode()

Returns

SceneNode