Reign.Video.Camera.RotateAroundPosition C# (CSharp) Method

RotateAroundPosition() public method

public RotateAroundPosition ( Vector3 radians ) : void
radians Reign.Core.Vector3
return void
        public void RotateAroundPosition(Vector3 radians)
        {
            var matrix = Matrix3.LookAt((LookAtPosition - Position), (UpPosition - Position));
            var matrixTranspose = matrix.Transpose();
            matrix = matrix.RotateAroundAxisX(radians.X);
            matrix = matrix.RotateAroundAxisY(radians.Y);
            matrix = matrix.RotateAroundAxisZ(radians.Z);

            LookAtPosition -= Position;
            LookAtPosition = LookAtPosition.Transform(matrixTranspose);
            LookAtPosition = LookAtPosition.Transform(matrix);
            LookAtPosition += Position;

            UpPosition -= Position;
            UpPosition = UpPosition.Transform(matrixTranspose);
            UpPosition = UpPosition.Transform(matrix);
            UpPosition += Position;
        }

Same methods

Camera::RotateAroundPosition ( float radiansX, float radiansY, float radiansZ ) : void