Class SpacecraftCamera
java.lang.Object
gaiasky.scene.camera.AbstractCamera
gaiasky.scene.camera.SpacecraftCamera
-
Field Summary
FieldsModifier and TypeFieldDescriptionDirection and up vectors.Direction and up vectors.Fields inherited from class AbstractCamera
angleEdgeRad, ar, CAM_FAR, CAM_NEAR, camera, cameras, camLeft, camRight, closest, closestBody, closestStar, closestStarView, distance, dPos, fovFactor, gamepadInput, logger, parent, pos, posInv, prevCombined, prevPos, proximity, shift, tmpModifier and TypeFieldDescriptionprotected floatAngle from the center to the corner of the screen in scene coordinates, in radians.protected floatAspect ratio.doubleCamera far value.doubleCamera near value.com.badlogic.gdx.graphics.PerspectiveCameraThe main camera.protected com.badlogic.gdx.graphics.PerspectiveCamera[]Vector with all perspective cameras.protected com.badlogic.gdx.graphics.PerspectiveCameraStereoscopic mode cameras.protected com.badlogic.gdx.graphics.PerspectiveCameraStereoscopic mode cameras.protected IFocusThe closest betweenAbstractCamera.closestBodyandAbstractCamera.closestStar.protected FocusViewClosest non-star body to the camera.protected IFocusThe closest particle to the camera.protected FocusViewprotected doubleDistance of camera to center.floatprotected booleanThe last input event was by a gamepad.protected static final Logger.Logprotected CameraManagerThe parent.protected com.badlogic.gdx.math.Matrix4protected Proximity -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidcheckClosestBody(com.badlogic.ashley.core.Entity cb) Called after updating the body's distance to the cam, it updates the closest body in the camera to figure out the camera nearvoidCalled after updating the body's distance to the cam, it updates the closest body in the camera to figure out the camera nearvoiddoneLoading(com.badlogic.gdx.assets.AssetManager manager) Loading is finished, gather resources.com.badlogic.gdx.graphics.PerspectiveCameraReturns the perspective camera.Vector3D[]getFocus()Returns the focus if any.com.badlogic.gdx.graphics.PerspectiveCamera[]getMode()intcom.badlogic.ashley.core.EntitydoublegetSpeed()Gets the current velocity of the camera in km/h.getUp()booleanhasFocus()Checks whether the current camera has a focus set.booleanisFocus(com.badlogic.ashley.core.Entity entity) Checks if the given entity is the current focus.voidEvent notification call.voidvoidresize(int width, int height) voidsetCamera(com.badlogic.gdx.graphics.PerspectiveCamera perspectiveCamera) Sets the active cameravoidsetDirection(Vector3D dir) doublevoidupdate(double dt, ITimeFrameProvider time) Updates the camera.voidupdateHard(double dt) Updates the position and direction of the camera using a hard analytical algorithm.voidupdateMode(ICamera previousCam, CameraManager.CameraMode previousMode, CameraManager.CameraMode mode, boolean centerFocus) protected voidMethods inherited from class AbstractCamera
checkClosestParticle, copyParamsFrom, getAngleEdge, getAngleEdge, getCameraStereoLeft, getCameraStereoRight, getCloseLightSource, getClosest, getClosestBody, getClosestParticle, getCurrent, getDistance, getDPos, getFar, getFovFactor, getInversePos, getManager, getNear, getPos, getPreviousPos, getPreviousProjView, getProjView, getShift, getSpeedScaling, getSpeedScalingCapped, isRotating, isVisible, isVisible, isVisible, render, setCameraStereoLeft, setCameraStereoRight, setClosest, setDPos, setDPos, setFrustumPlanes, setGamepadInput, setPointerProjectionOnFocus, setPos, setPos, setPreviousPos, setPreviousPos, setPreviousProjView, setShift, swapBuffers, updateAngleEdge, updateFovFactor, updateFrustumPlanesModifier and TypeMethodDescriptionvoidcheckClosestParticle(IFocus star) Sets the current closest particle to this camera.voidcopyParamsFrom(AbstractCamera other) floatGets the angle of the edge of the screen, diagonally.floatgetAngleEdge(int width, int height, float angle) com.badlogic.gdx.graphics.PerspectiveCameracom.badlogic.gdx.graphics.PerspectiveCameragetCloseLightSource(int i) Gets the current i-close light source to this cameraReturns the current closest objectGets the current closest particle to this cameradoubleGets the distance from the camera to the centre of our reference frame (Sun)getDPos()doublegetFar()floatdoublegetNear()getPos()com.badlogic.gdx.math.Matrix4com.badlogic.gdx.math.Matrix4getShift()doubledoublebooleanCheck whether the camera is currently rotating around the (possible) focus object.booleanbooleanbooleanisVisible(com.badlogic.ashley.core.Entity cb) voidrender(int rw, int rh) voidsetCameraStereoLeft(com.badlogic.gdx.graphics.PerspectiveCamera cam) voidsetCameraStereoRight(com.badlogic.gdx.graphics.PerspectiveCamera cam) voidsetClosest(IFocus focus) Sets the closest of allvoidvoidprotected voidsetFrustumPlanes(com.badlogic.gdx.graphics.PerspectiveCamera cam) voidsetGamepadInput(boolean state) Main input mode is a gamepad.voidsetPointerProjectionOnFocus(com.badlogic.gdx.math.Vector3 point) Sets the current pointer coordinates, as projected on the current focus object.voidvoidvoidsetPreviousPos(Vector3D prevpos) voidsetPreviousPos(Vector3Q pos) voidsetPreviousProjView(com.badlogic.gdx.math.Matrix4 mat) voidvoidvoidupdateAngleEdge(int width, int height) protected voidUpdate the FOV factor using the reference FOV.void
-
Field Details
-
direction
Direction and up vectors. -
up
Direction and up vectors. -
relPos
-
-
Constructor Details
-
SpacecraftCamera
-
-
Method Details
-
doneLoading
public void doneLoading(com.badlogic.gdx.assets.AssetManager manager) Description copied from interface:ICameraLoading is finished, gather resources.- Specified by:
doneLoadingin interfaceICamera- Parameters:
manager- The asset manager.
-
getSpacecraft
public com.badlogic.ashley.core.Entity getSpacecraft() -
getSpacecraftView
-
getCamera
-
setCamera
-
getFrontCameras
public com.badlogic.gdx.graphics.PerspectiveCamera[] getFrontCameras()- Specified by:
getFrontCamerasin interfaceICamera
-
getDirection
- Specified by:
getDirectionin interfaceICamera
-
setDirection
- Specified by:
setDirectionin interfaceICamera
-
getUp
-
getDirections
- Specified by:
getDirectionsin interfaceICamera
-
getNCameras
public int getNCameras()- Specified by:
getNCamerasin interfaceICamera
-
update
Description copied from interface:ICameraUpdates the camera. -
updateHard
public void updateHard(double dt) Updates the position and direction of the camera using a hard analytical algorithm. -
updatePerspectiveCamera
protected void updatePerspectiveCamera() -
updateMode
public void updateMode(ICamera previousCam, CameraManager.CameraMode previousMode, CameraManager.CameraMode mode, boolean centerFocus) - Specified by:
updateModein interfaceICamera
-
getMode
-
getSpeed
-
getFocus
-
hasFocus
-
isFocus
-
addGamepadListener
public void addGamepadListener() -
removeGamepadListener
public void removeGamepadListener() -
notify
-
checkClosestBody
Description copied from interface:ICameraCalled after updating the body's distance to the cam, it updates the closest body in the camera to figure out the camera near- Specified by:
checkClosestBodyin interfaceICamera- Overrides:
checkClosestBodyin classAbstractCamera- Parameters:
cb- The body to check
-
checkClosestBody
public void checkClosestBody(com.badlogic.ashley.core.Entity cb) Description copied from interface:ICameraCalled after updating the body's distance to the cam, it updates the closest body in the camera to figure out the camera near- Specified by:
checkClosestBodyin interfaceICamera- Overrides:
checkClosestBodyin classAbstractCamera- Parameters:
cb- The body to check.
-
getSecondClosestBody
- Specified by:
getSecondClosestBodyin interfaceICamera- Overrides:
getSecondClosestBodyin classAbstractCamera
-
resize
-
getVelocity
- Specified by:
getVelocityin interfaceICamera- Overrides:
getVelocityin classAbstractCamera
-
speedScaling
public double speedScaling()- Specified by:
speedScalingin interfaceICamera
-