Class StrategyCamera
- Namespace
- OmegaEngine.Graphics.Cameras
- Assembly
- OmegaEngine.dll
A RTS-style camera with a rotatable horizontal view and an automatic vertical angle.
public class StrategyCamera : MatrixCamera, IPositionable
- Inheritance
-
StrategyCamera
- Implements
- Inherited Members
- Extension Methods
Constructors
StrategyCamera(double, double, float, float, Func<DoubleVector3, double>)
A RTS-style camera with a rotatable horizontal view and an automatic vertical angle.
public StrategyCamera(double minRadius, double maxRadius, float minAngle, float maxAngle, Func<DoubleVector3, double> heightController)
Parameters
minRadiusdoubleThe minimum radius allowed. Also used as the initial radius.
maxRadiusdoubleThe maximum radius allowed.
minAnglefloatThe minimum vertical angle in degrees. Effective when Radius is equal to MinRadius.
maxAnglefloatThe maximum vertical angle in degrees. Effective when Radius is equal to MaxRadius.
heightControllerFunc<DoubleVector3, double>This delegate is called to control the minimum height of the strategy camera based on its 2D coordinates.
Properties
HorizontalRotation
The horizontal rotation in degrees.
public float HorizontalRotation { get; set; }
Property Value
Remarks
Must be a real number.
MaxAngle
public float MaxAngle { get; set; }
Property Value
Remarks
Must be a real number.
MaxRadius
The maximum radius allowed.
public double MaxRadius { get; set; }
Property Value
Remarks
Must be a positive real number.
MinAngle
public float MinAngle { get; set; }
Property Value
Remarks
Must be a real number.
MinRadius
The minimum radius allowed.
public double MinRadius { get; set; }
Property Value
Remarks
Must be a positive real number.
Radius
The distance between the camera and the center of the focuses object.
public double Radius { get; set; }
Property Value
Remarks
Must be a positive real number.
Target
The position the camera is looking at.
public override DoubleVector3 Target { get; set; }
Property Value
Exceptions
- ArgumentOutOfRangeException
The coordinates lie outside the range of the height-controlling terrain.
Methods
PerspectiveChange(float, float, float, float)
Called when the user changes the view perspective.
public override void PerspectiveChange(float panX, float panY, float rotation, float zoom)
Parameters
panXfloatThe number of pixels panned along the X-axis divided by the number of pixels of the longest side of the viewport.
panYfloatThe number of pixels panned along the Y-axis divided by the number of pixels of the longest side of the viewport.
rotationfloatHorizontal rotation in degrees.
zoomfloatScaling factor; 1 for no change, must not be 0.
UpdateView()
Update cached versions of View and related matrices.
protected override void UpdateView()