# Camera class

Serves as the base class for cameras that define the view of a scene.

**Namespace:** [`Eremex.AvaloniaUI.Controls3D`](./index.md)  
**Assembly:** `Eremex.Avalonia.Controls3D.dll`  
**NuGet Package:** [Eremex.Avalonia.Controls3D](https://www.nuget.org/packages/Eremex.Avalonia.Controls3D)

## Declaration

```csharp
public abstract class Camera : StyledElement
```

## Public Members

| name | description |
| --- | --- |
| [DefaultCameraPosition](Camera/DefaultCameraPosition.md) { get; set; } | Gets or sets the direction from which the camera views the scene. The default value is CameraPosition.IsoXYZ. |
| [FarClipPlane](Camera/FarClipPlane.md) { get; set; } | Gets or sets the distance from the camera to the far clipping plane. If the value is not a positive number, the control derives the distance from the size of the scene. |
| [MaxDistance](Camera/MaxDistance.md) { get; set; } | Gets or sets the longest distance allowed between the camera and its target. If the value is not a positive number, the control derives the distance from the size of the scene. |
| [MinDistance](Camera/MinDistance.md) { get; set; } | Gets or sets the shortest distance allowed between the camera and its target. If the value is not a positive number, the control derives the distance from the size of the scene. |
| [NearClipPlane](Camera/NearClipPlane.md) { get; set; } | Gets or sets the distance from the camera to the near clipping plane. If the value is not a positive number, the control derives the distance from the size of the scene. |
| [Position](Camera/Position.md) { get; set; } | Gets or sets the position of the camera in world space. |
| [Target](Camera/Target.md) { get; set; } | Gets or sets the point that the camera looks at. |
| [UpDirection](Camera/UpDirection.md) { get; set; } | Gets or sets the direction of the scene that is treated as pointing up. |
| [XAxis](Camera/XAxis.md) { get; } | Gets the rightward direction of the camera's coordinate system. |
| [YAxis](Camera/YAxis.md) { get; } | Gets the upward direction of the camera's coordinate system. |
| [ZAxis](Camera/ZAxis.md) { get; } | Gets the camera's Z axis, whose direction is derived from the scene's coordinate system. |
| [LookAt](Camera/LookAt.md)(…) | Aims the camera at a point. |
| [MoveForward](Camera/MoveForward.md)(…) | Moves the camera along its viewing direction, leaving the target and the up direction unchanged. |
| [MoveLeft](Camera/MoveLeft.md)(…) | Pans the camera horizontally, keeping the direction of the view unchanged. |
| [MoveUp](Camera/MoveUp.md)(…) | Pans the camera vertically, keeping the direction of the view unchanged. |
| [Rotate](Camera/Rotate.md)(…) | Orbits the camera around its target, keeping the distance to the target unchanged. |

## See Also

* namespace [Eremex.AvaloniaUI.Controls3D](./index.md)

<!-- DO NOT EDIT: generated by xmldocmd for Eremex.Avalonia.Controls3D.dll -->
