ISceneView3D

Description

interface Tinman.Engine.Scenes.ISceneView3D

Derived from

ISceneView

Extended by

SceneView sealed

Represents a three-dimensional view into a scene.

Public / Methods

DistanceToCamera


[Pure]
public method DistanceToCamera → (1)

point in : Vec3D

The point.

returns → float64

The distance of point in to the camera.

Computes the distance between the given point and the current camera position.

DistanceToGround

2 overloads


[Pure]
public method DistanceToGround1 → ()

returns → float64

The distance of the camera position to the ground.

Computes the distance to the ground, in any direction.


[Pure]
public method DistanceToGround2 → (1)

point in : Vec3D

The point.

returns → float64

The distance of point in to the ground.

Computes the distance to the ground, in any direction.

InclinationToGround

2 overloads


[Pure]
public method InclinationToGround1 → ()

returns → float64

The inclination angle, in degrees (0 is horizontal, -90 is vertical down, 90 is vertical up.

Computes the inclination angle to the ground, not taking into account the elevation model.


[Pure]
public method InclinationToGround2 → (2)

point in : Vec3D

The point, in terrain-space.

direction in : Vec3D

The direction vector, in terrain-space.

returns → float64

The inclination angle, in degrees (0 is horizontal, -90 is vertical down, 90 is vertical up.

Computes the inclination angle to the ground, not taking into account the elevation model.

Project


[Pure]
public method Project → (3)

size in : float64

The size to project.

distance in : float64

The distance to the camera.

worldToScreen in : bool

true to project world-space to screen-space,
false to project screen-space to world-space.

returns → float64

The projected size.

Projects the given size between screen-space and world-space.

ScreenRay

4 overloads


[Pure]
public method ScreenRay1 → (1)

in : Vec2I

The pixel coordinates.

returns → Ray

The screen ray. Will be Ray.Undefined iff the given coordinates are outside of the scene view bounds (see ISceneView.Bounds).

Casts a ray into the scene view.

The ray will run through the center of the pixel.


[Pure]
public method ScreenRay2 → (2)

in : int32

The pixel X-coordinate.

in : int32

The pixel Y-coordinate.

returns → Ray

The screen ray. Will be Ray.Undefined iff the given coordinates are outside of the scene view bounds (see ISceneView.Bounds).

Casts a ray into the scene view.

The ray will run through the center of the pixel.


[Pure]
public method ScreenRay3 → (1)

in : Vec2F

The screen coordinates.

returns → Ray

The screen ray. Will be Ray.Undefined iff the given coordinates are outside of the scene view bounds (see ISceneView.Bounds).

Casts a ray into the scene view.

The screen coordinates (0,0) refer to the top-left corner of the screen, and (w,h) refer to the bottom-right corner.


[Pure]
public method ScreenRay4 → (2)

in : float32

The screen X-coordinate.

in : float32

The screen Y-coordinate.

returns → Ray

The screen ray. Will be Ray.Undefined iff the given coordinates are outside of the scene view bounds (see ISceneView.Bounds).

Casts a ray into the scene view.

The screen coordinates (0,0) refer to the top-left corner of the screen, and (w,h) refer to the bottom-right corner.

Public / Attributes

Camera


[Constant]
public attribute Camera → (get)

value : Camera

[not-null]
The Camera object.

The camera of this scene view.

Terrain


[Constant]
public attribute Terrain → (get)

value : TerrainView

[not-null]
The terrain view object.

The terrain view of this scene view.

The following properties of TerrainView are managed by this ISceneView3D object and should not be modified by client code:

Viewport


[Constant]
public attribute Viewport → (get)

value : ICameraViewportDepth

[not-null]
The CameraViewport object.

The viewport of this scene view.