Interface JCameraSphericalType

All Superinterfaces:
JCameraReadableType, JCameraSphericalReadableType, JCameraType
All Known Implementing Classes:
JCameraSpherical

public interface JCameraSphericalType extends JCameraType, JCameraSphericalReadableType

The type of spherical style flying cameras that point towards a given point p and allow for:

  • Orbiting horizontally around p
  • Orbiting vertically around p
  • Method Details

    • cameraClampInclineDisable

      void cameraClampInclineDisable()
      Do not clamp rotations around the horizontal axis.
      See Also:
    • cameraClampInclineEnable

      void cameraClampInclineEnable(double min, double max)
      Clamp the possible rotations around the horizontal axis to the given bounds.
      Parameters:
      min - The minimum angle
      max - The maximum angle
    • cameraClampRadiusDisable

      void cameraClampRadiusDisable()
      Do not clamp the length of the radius.
      See Also:
    • cameraClampRadiusEnable

      void cameraClampRadiusEnable(double min, double max)
      Clamp the length of the radius to the given bounds.
      Parameters:
      min - The minimum length
      max - The maximum length
    • cameraMoveTargetForwardOnXZ

      void cameraMoveTargetForwardOnXZ(double u)

      Move the target point of the camera forward u units iff u is positive, or backward u units iff u is negative.

      The forward direction, in this case, means the current view direction projected onto the X/Z plane. This means that the camera will not move along the Y axis.

      Parameters:
      u - The units to move
    • cameraMoveTargetRight

      void cameraMoveTargetRight(double u)

      Move the target point of the camera right u units iff u is positive, or left u units iff u is negative.

      The right direction, in this case, means the direction perpendicular to the current view direction, -π / 2 radians around the global Y axis.

      Parameters:
      u - The units to move
    • cameraMoveTargetUp

      void cameraMoveTargetUp(double u)

      Move the target point of the camera up u units iff u is positive, or down u units iff u is negative.

      The up direction, in this case, means the direction towards positive infinity on the global Y axis.

      Parameters:
      u - The units to move
    • cameraOrbitHeading

      void cameraOrbitHeading(double r)
      Parameters:
      r - The radians to rotate
    • cameraOrbitIncline

      boolean cameraOrbitIncline(double r)
      Parameters:
      r - The radians to orbit
      Returns:
      true if the rotation has been clamped
      See Also:
    • cameraSetAngleHeading

      void cameraSetAngleHeading(double a)
      Set the heading angle to a.
      Parameters:
      a - The angle.
    • cameraSetAngleIncline

      void cameraSetAngleIncline(double a)
      Set the incline angle to a.
      Parameters:
      a - The angle.
    • cameraSetTargetPosition

      void cameraSetTargetPosition(com.io7m.jtensors.core.unparameterized.vectors.Vector3D v)
      Set the position of the target point of camera.
      Parameters:
      v - The position.
    • cameraSetTargetPosition3

      void cameraSetTargetPosition3(double x, double y, double z)
      Set the position of the target point of camera.
      Parameters:
      x - The x coordinate.
      y - The y coordinate.
      z - The z coordinate.
    • cameraSetZoom

      void cameraSetZoom(double r)
      Set the zoom (or radius) of the camera to r.
      Parameters:
      r - The camera radius.
    • cameraZoomIn

      boolean cameraZoomIn(double r)
      Zoom in the camera by reducing the radius of the sphere.
      Parameters:
      r - The amount by which to reduce the radius
      Returns:
      true if the radius has been clamped
      See Also:
    • cameraZoomOut

      boolean cameraZoomOut(double r)
      Zoom out the camera by increasing the radius of the sphere.
      Parameters:
      r - The amount by which to increase the radius
      Returns:
      true if the radius has been clamped
      See Also: