Table of Contents

Class IViewportExtensions

Namespace
HelixToolkit.SharpDX
Assembly
HelixToolkit.SharpDX.dll
public static class IViewportExtensions
Inheritance
IViewportExtensions
Inherited Members

Fields

EmptyHits

public static readonly HitTestResult[] EmptyHits

Field Value

HitTestResult[]

Methods

FindBounds(IViewport3DX)

Finds the bounding box of the viewport.

public static BoundingBox FindBounds(this IViewport3DX viewport)

Parameters

viewport IViewport3DX

The viewport.

Returns

BoundingBox

The bounding box.

FindBoundsInternal(IViewport3DX)

public static BoundingBox FindBoundsInternal(this IViewport3DX viewport)

Parameters

viewport IViewport3DX

Returns

BoundingBox

FindHits(IViewport3DX, Vector2)

Finds the hits for a given 2D viewport position.

public static IList<HitTestResult> FindHits(this IViewport3DX viewport, Vector2 position)

Parameters

viewport IViewport3DX

The viewport.

position Vector2

The position.

Returns

IList<HitTestResult>

List of hits, sorted with the nearest hit first.

FindHits(IViewport3DX, Vector2, ref List<HitTestResult>)

Finds the hits.

public static bool FindHits(this IViewport3DX viewport, Vector2 position, ref List<HitTestResult> hits)

Parameters

viewport IViewport3DX

The viewport.

position Vector2

The position.

hits List<HitTestResult>

The hits.

Returns

bool

FindHitsInFrustum(IViewport3DX, Vector2, ref List<HitTestResult>)

Finds the hits in camera view frustum only.

public static bool FindHitsInFrustum(this IViewport3DX viewport, Vector2 pos, ref List<HitTestResult> hits)

Parameters

viewport IViewport3DX

The viewport.

pos Vector2

The position.

hits List<HitTestResult>

The hits.

Returns

bool

FindNearest(IViewport3DX, Vector2, out Vector3, out Vector3, out object?)

Finds the nearest point and its normal.

public static bool FindNearest(this IViewport3DX viewport, Vector2 position, out Vector3 point, out Vector3 normal, out object? model)

Parameters

viewport IViewport3DX

The viewport.

position Vector2

The position.

point Vector3

The point.

normal Vector3

The normal.

model object

The model.

Returns

bool

The find nearest.

ForceUpdateTransformsAndBounds(IViewport3DX)

Forces to update transform and bounds.

public static void ForceUpdateTransformsAndBounds(this IViewport3DX viewport)

Parameters

viewport IViewport3DX

The viewport.

GetProjectionMatrix(IViewport3DX)

Gets the projection matrix.

public static Matrix4x4 GetProjectionMatrix(this IViewport3DX viewport)

Parameters

viewport IViewport3DX

The viewport.

Returns

Matrix4x4

GetScreenViewProjectionMatrix(IViewport3DX)

Gets the total transform for a ViewportCore. Old name of this function: GetTotalTransform New name of the function: GetScreenViewProjectionTransform

public static Matrix4x4 GetScreenViewProjectionMatrix(this IViewport3DX viewport)

Parameters

viewport IViewport3DX

The viewport.

Returns

Matrix4x4

The total transform.

GetViewProjectionMatrix(IViewport3DX)

Gets the camera transform.

public static Matrix4x4 GetViewProjectionMatrix(this IViewport3DX viewport)

Parameters

viewport IViewport3DX

The viewport.

Returns

Matrix4x4

The camera transform.

GetViewportMatrix(IViewport3DX)

Gets the viewport transform aka the screen-space transform.

public static Matrix4x4 GetViewportMatrix(this IViewport3DX viewport)

Parameters

viewport IViewport3DX

The viewport.

Returns

Matrix4x4

The transform.

Project(IViewport3DX, Vector3)

Projects the specified 3D point to a 2D screen point.

public static Vector2 Project(this IViewport3DX viewport, Vector3 point)

Parameters

viewport IViewport3DX

The viewport.

point Vector3

The 3D point.

Returns

Vector2

The point.

RenderToBitmapStream(IViewport3DX)

Renders to bitmap stream.

public static MemoryStream? RenderToBitmapStream(this IViewport3DX view)

Parameters

view IViewport3DX

The view.

Returns

MemoryStream

Traverse(IViewport3DX, Action<SceneNode>)

Traverses the Visual3D/Element3D tree and invokes the specified action on each Element3D of the specified type.

public static void Traverse(this IViewport3DX viewport, Action<SceneNode> action)

Parameters

viewport IViewport3DX

The viewport.

action Action<SceneNode>

The action.

Traverse(IViewport3DX, Func<SceneNode, bool>)

Traverses the specified action.

public static void Traverse(this IViewport3DX viewport, Func<SceneNode, bool> function)

Parameters

viewport IViewport3DX

The viewport.

function Func<SceneNode, bool>

The function. Return true to continue traverse, otherwise stop at current node

UnProject(IViewport3DX, Vector2, out Ray)

Un-project 2D screen point onto 3D space by camera.

public static bool UnProject(this IViewport3DX viewport, Vector2 point2d, out Ray ray)

Parameters

viewport IViewport3DX

The viewport.

point2d Vector2

The point2d.

ray Ray

The ray.

Returns

bool

UnProjectOnPlane(IViewport3DX, Vector2, Vector3, Vector3)

Uns the project on plane.

public static Vector3? UnProjectOnPlane(this IViewport3DX viewport, Vector2 p, Vector3 position, Vector3 normal)

Parameters

viewport IViewport3DX

The viewport.

p Vector2

The p.

position Vector3

The position.

normal Vector3

The normal.

Returns

Vector3?

UnProjectOnPlane(IViewport3DX, Vector2, Vector3, Vector3, out Vector3)

Uns the project 2D point onto a 3D plane.

public static bool UnProjectOnPlane(this IViewport3DX viewport, Vector2 p, Vector3 position, Vector3 normal, out Vector3 intersection)

Parameters

viewport IViewport3DX

The viewport.

p Vector2

The p.

position Vector3

The position.

normal Vector3

The normal.

intersection Vector3

The intersection.

Returns

bool