Class EventScriptingInterface
- java.lang.Object
-
- gaiasky.script.EventScriptingInterface
-
- All Implemented Interfaces:
IObserver
,IScriptingInterface
public class EventScriptingInterface extends java.lang.Object implements IScriptingInterface, IObserver
Implementation of the scripting interface using the event system.
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
activateRealTimeFrame()
Sets the current time frame to real time.void
activateSimulationTimeFrame()
Sets the current time frame to simulation time.void
addPolyline(java.lang.String name, double[] points, double[] color)
Adds a new polyline with the given name, points and color.void
addPolyline(java.lang.String name, double[] points, double[] color, double lineWidth)
Adds a new polyline with the given name, points, color and line width.void
addPolyline(java.lang.String name, double[] points, double[] color, double lineWidth, int primitive)
Adds a new polyline with the given name, points, color, line width and primitive.void
addPolyline(java.lang.String name, double[] points, double[] color, int lineWidth)
void
addPolyline(java.lang.String name, double[] points, double[] color, int lineWidth, int primitive)
void
addPolyline(java.lang.String name, java.util.List points, java.util.List color)
void
addPolyline(java.lang.String name, java.util.List points, java.util.List color, float lineWidth)
void
addPolyline(java.lang.String name, java.util.List points, java.util.List color, float lineWidth, int primitive)
void
addPolyline(java.lang.String name, java.util.List points, java.util.List color, int lineWidth)
void
addPolyline(java.lang.String name, java.util.List points, java.util.List color, int lineWidth, int primitive)
void
cameraCenter()
Centers the camera to the focus, removing any deviation of the line of sight.void
cameraForward(double cameraForward)
Adds a forward movement to the camera with the given value.void
cameraForward(long value)
void
cameraPitch(double amount)
Adds a pitch to the camera.void
cameraPitch(long amount)
void
cameraRoll(double roll)
Adds a roll force to the camera.void
cameraRoll(long roll)
void
cameraRotate(double deltaX, double deltaY)
Adds a rotation movement to the camera around the current focus, or a pitch/yaw if in free mode.void
cameraRotate(double deltaX, long deltaY)
void
cameraRotate(long deltaX, double deltaY)
void
cameraStop()
Stops all camera motion.void
cameraTransition(double[] camPos, double[] camDir, double[] camUp, double seconds)
Creates a smooth transition from the current camera state to the given camera state {camPos, camDir, camUp} in the given number of seconds.void
cameraTransition(double[] camPos, double[] camDir, double[] camUp, double seconds, boolean sync)
Creates a smooth transition from the current camera state to the given camera state {camPos, camDir, camUp} in the given number of seconds.void
cameraTransition(double[] camPos, double[] camDir, double[] camUp, long seconds)
void
cameraTransition(java.util.List camPos, java.util.List camDir, java.util.List camUp, double seconds)
void
cameraTransition(java.util.List camPos, java.util.List camDir, java.util.List camUp, double seconds, boolean sync)
void
cameraTransition(java.util.List camPos, java.util.List camDir, java.util.List camUp, long seconds)
void
cameraTransition(java.util.List camPos, java.util.List camDir, java.util.List camUp, long seconds, boolean sync)
void
cameraTransitionKm(double[] camPos, double[] camDir, double[] camUp, double seconds)
Same asIScriptingInterface.cameraTransition(double[], double[], double[], double)
but the camera position is given in Km.void
cameraTransitionKm(java.util.List camPos, java.util.List camDir, java.util.List camUp, double seconds)
void
cameraTransitionKm(java.util.List camPos, java.util.List camDir, java.util.List camUp, long seconds)
void
cameraTurn(double deltaX, double deltaY)
Adds a turn force to the camera (yaw and/or pitch).void
cameraTurn(double deltaX, long deltaY)
void
cameraTurn(long deltaX, double deltaY)
void
cameraTurn(long deltaX, long deltaY)
void
cameraYaw(double amount)
Adds a yaw to the camera.void
cameraYaw(long amount)
void
clearAllMessages()
Clears both the subhead and the headline messages.void
clearHeadlineMessage()
Clears the headline messge.void
clearSubheadMessage()
Clears the subhead message.void
collapseGuiComponent(java.lang.String name)
Collapses the component with the given name.void
configureFrameOutput(int width, int height, double fps, java.lang.String folder, java.lang.String namePrefix)
Configures the frame output system, setting the resolution of the images, the target frames per second, the output folder and the image name prefix.void
configureFrameOutput(int width, int height, int fps, java.lang.String folder, java.lang.String namePrefix)
Configures the frame output system, setting the resolution of the images, the target frames per second, the output folder and the image name prefix.void
configureRenderOutput(int width, int height, int fps, java.lang.String folder, java.lang.String namePrefix)
Configures the frame output system, setting the resolution of the images, the target frames per second, the output folder and the image name prefix.double[]
cross3(double[] vec1, double[] vec2)
Computes the cross product between the two 3D vectors.double[]
cross3(java.util.List vec1, java.util.List vec2)
void
disableGui()
Disables the GUI rendering.void
disableInput()
Disables all input events from mouse, keyboard, touchscreen, etc.void
displayImageObject(int id, java.lang.String path, double x, double y, double[] color)
Same asIScriptingInterface.displayImageObject(int, String, float, float, float, float, float, float)
but using a double array for the color instead of each component separately.void
displayImageObject(int id, java.lang.String path, double x, double y, java.util.List color)
void
displayImageObject(int id, java.lang.String path, float x, float y)
Adds a new image object at the given coordinates.void
displayImageObject(int id, java.lang.String path, float x, float y, float r, float g, float b, float a)
Adds a new image object at the given coordinates.void
displayMessageObject(int id, java.lang.String message, double x, double y, double[] color, double fontSize)
Same asIScriptingInterface.displayImageObject(int, String, float, float, float, float, float, float)
but using an array for the color instead of giving each component separately.void
displayMessageObject(int id, java.lang.String message, double x, double y, java.util.List color, double fontSize)
void
displayMessageObject(int id, java.lang.String message, float x, float y, float r, float g, float b, float a, float fontSize)
Adds a new one-line message in the screen with the given id and the given coordinates.void
displayMessageObject(int id, java.lang.String message, float x, float y, float r, float g, float b, float a, int fontSize)
void
displayTextObject(int id, java.lang.String text, float x, float y, float maxWidth, float maxHeight, float r, float g, float b, float a, float fontSize)
Adds a new multi-line text in the screen with the given id, coordinates and size.void
displayTextObject(int id, java.lang.String text, float x, float y, float maxWidth, float maxHeight, float r, float g, float b, float a, int fontSize)
double
dot3(double[] vec1, double[] vec2)
Computes the dot product between the two 3D vectors.double
dot3(java.util.List vec1, java.util.List vec2)
double[]
eclipticToEquatorial(double[] ecl)
Converts ecliptic cartesian coordinates (in the internal reference system) to equatorial cartesian coordinates.double[]
eclipticToEquatorial(java.util.List ecl)
double[]
eclipticToInternalCartesian(double l, double b, double r)
Converts ecliptic coordinates to the internal cartesian coordinate system.void
enableGui()
Enables the GUI rendering.void
enableInput()
Enables all input events.double[]
equatorialCartesianToInternalCartesian(double[] eq, double kmFactor)
Converts regular cartesian coordinates, where XY is the equatorial plane, with X pointing to the vernal equinox (ra=0) and Y points to ra=90, and Z pointing to the celestial north pole (dec=90) to internal cartesian coordinates with internal units.double[]
equatorialCartesianToInternalCartesian(java.util.List eq, double kmFactor)
double[]
equatorialToEcliptic(double[] eq)
Converts equatorial cartesian coordinates (in the internal reference system) to ecliptic cartesian coordinates.double[]
equatorialToEcliptic(java.util.List eq)
double[]
equatorialToGalactic(double[] eq)
Converts equatorial cartesian coordinates (in the internal reference system) to galactic cartesian coordinates.double[]
equatorialToGalactic(java.util.List eq)
double[]
equatorialToInternalCartesian(double ra, double dec, double r)
Converts equatorial coordinates to the internal cartesian coordinate system.void
error(java.lang.String message)
Log an error using the internal logging system.void
expandGuiComponent(java.lang.String name)
Expands the component with the given name.double[]
galacticToEquatorial(double[] gal)
Converts galactic cartesian coordinates (in the internal reference system) to equatorial cartesian coordinates.double[]
galacticToEquatorial(java.util.List gal)
double[]
galacticToInternalCartesian(double l, double b, double r)
Converts galactic coordinates to the internal cartesian coordinate system.java.lang.String
getAssetsLocation()
double[]
getCameraDirection()
Gets the current camera direction vector.double[]
getCameraPosition()
Gets the current camera position, in km.double
getCameraSpeed()
Gets the current physical speed of the camera in km/h.double[]
getCameraUp()
Gets the current camera up vector.IFocus
getClosestObjectToCamera()
Returns the closest object to the camera in this instant as aIFocus
.java.lang.String
getConfigDir()
Gets the absolute path to the location of the configuration directorylong
getCurrentFrameNumber()
Gets the current frame number.java.lang.String
getDataDir()
Gets the absolute path of the local data directory, configured in your global.properties file.java.lang.String
getDefaultCameraDir()
Gets the absolute path of the default directory where the camera files are saved.java.lang.String
getDefaultFramesDir()
Gets the absolute path of the default directory where the still frames are saved.java.lang.String
getDefaultMappingsDir()
Gets the absolute path to the location of the inputListener mappings.java.lang.String
getDefaultMusicDir()
Gets the absolute path to the location of the music filesjava.lang.String
getDefaultScreenshotsDir()
Gets the absolute path of the default directory where the screenshots are saved.double
getDistanceTo(java.lang.String name)
Returns the distance to the surface of the object identified with the givenname
.long
getFrameNumber()
Gets the current frame number.double
getFrameOutputFps()
Gets the current FPS setting in the frame output system.double
getInternalUnitToMeterConversion()
Returns the internal unit to meter conversion factor.java.lang.String
getLocalDataDir()
Returns the default data directory.double
getMeterToInternalUnitConversion()
Returns the meter to internal unit conversion factor.float
getMinStarOpacity()
Gets the minimum star opacity.SceneGraphNode
getObject(java.lang.String name)
Gets an object from the scene graph byname
or id (HIP, TYC, Gaia SourceId).SceneGraphNode
getObject(java.lang.String name, double timeOutSeconds)
Gets an object byname
or id (HIP, TYC, Gaia SourceID), optionally waiting until the object is available, with a timeout.double[]
getObjectPosition(java.lang.String name)
Gets the current position of the object identified byname
in the internal coordinate system and internal units.double
getObjectRadius(java.lang.String name)
Gets the size of the object identified byname
, in Km, by name or id (HIP, TYC, sourceId).float[]
getPositionAndSizeGui(java.lang.String name)
Returns the size and position of the GUI element that goes by the given name or null if such element does not exist.long
getProperMotionsMaxNumber()
Returns the current maximum number of proper motion vectors allowed.double
getRenderOutputFps()
Gets the current FPS setting in the frame output system.int
getScreenHeight()
Returns the screen height in pixels.int
getScreenWidth()
Returns the screen width in pixels.long
getSimulationTime()
Returns the current simulation time as the number of milliseconds since Jan 1, 1970 GMT.int[]
getSimulationTimeArr()
Returns the current UTC simulation time in an array.float
getStarBrightness()
Gets the star brightness value.float
getStarSize()
Gets the current star size value in pixels.java.lang.String
getVersionNumber()
Returns the version number string.void
goToObject(IFocus object, double viewAngle, int waitTimeSeconds, java.util.concurrent.atomic.AtomicBoolean stop)
void
goToObject(java.lang.String name)
Runs a seamless trip to the object with the namefocusName
until the object view angle is20 degrees
.void
goToObject(java.lang.String name, double angle)
Runs a seamless trip to the object with the namefocusName
until the object view angleviewAngle
is met.void
goToObject(java.lang.String name, double viewAngle, float waitTimeSeconds)
Runs a seamless trip to the object with the namefocusName
until the object view angleviewAngle
is met.void
goToObject(java.lang.String name, double viewAngle, int waitTimeSeconds)
void
goToObject(java.lang.String name, double viewAngle, int waitTimeSeconds, java.util.concurrent.atomic.AtomicBoolean stop)
void
goToObject(java.lang.String name, long viewAngle, float waitTimeSeconds)
void
goToObject(java.lang.String name, long viewAngle, int waitTimeSeconds)
void
goToObjectInstant(java.lang.String name)
Sets the camera in focus mode with the given focus object and instantly moves the camera next to the focus object.boolean
hasDataset(java.lang.String dsName)
Checks whether the dataset identified by the given name is loadedboolean
hideDataset(java.lang.String dsName)
Hides the dataset identified by the given name, if it exists and is not hidden.boolean
highlightDataset(java.lang.String dsName, boolean highlight)
Enables or disables the dataset highlight using a plain color chosen by the system.boolean
highlightDataset(java.lang.String dsName, float r, float g, float b, float a, boolean highlight)
Enables or disables the dataset highlight, using a given plain color.boolean
highlightDataset(java.lang.String dsName, int colorIndex, boolean highlight)
Enables or disables the dataset highlight, using a plain color given by the color index: 0 - blue 1 - red 2 - yellow 3 - green 4 - pink 5 - orange 6 - purple 7 - brown 8 - magentaboolean
highlightDataset(java.lang.String dsName, java.lang.String attributeName, java.lang.String colorMap, double minMap, double maxMap, boolean highlight)
Enables or disables the dataset highlight, using the given color map on the given attribute with the given maximum and minimum mapping values.static EventScriptingInterface
instance()
double[]
internalCartesianToEquatorial(double x, double y, double z)
Converts internal cartesian coordinates to equatorial[ra, dec, distance]
coordinates.double
internalUnitsToKilometres(double internalUnits)
Converts the value in internal units to Kilometers.double[]
internalUnitsToKilometres(double[] internalUnits)
Converts the array in internal units to Kilometers.double[]
internalUnitsToKilometres(java.util.List internalUnits)
double
internalUnitsToMetres(double internalUnits)
Converts the value in internal units to metres.boolean
isFrameOutputActive()
Is the frame output system on?boolean
isRenderOutputActive()
Is the frame output system on?boolean
isSimulationTimeOn()
Queries whether the time is on or not.double
kilometrestointernalunits(double kilometres)
Converts the kilometres to internal units.void
landOnObject(java.lang.String name)
Lands on the object with the given name, if it is an instance ofPlanet
.void
landOnObjectLocation(IFocus object, java.lang.String locationName, java.util.concurrent.atomic.AtomicBoolean stop)
void
landOnObjectLocation(java.lang.String name, double longitude, double latitude)
Lands on the object with the givenname
, if it is an instance ofPlanet
, at the location specified in by [latitude, longitude], in degrees.void
landOnObjectLocation(java.lang.String name, java.lang.String locationName)
Lands on the object with the givenname
, if it is an instance ofPlanet
, at the location with the given name, if it exists.void
landOnObjectLocation(java.lang.String name, java.lang.String locationName, java.util.concurrent.atomic.AtomicBoolean stop)
java.util.List<java.lang.String>
listDatasets()
Returns the names of all datasets currently loaded.boolean
loadDataset(java.lang.String dsName, java.lang.String absolutePath)
Loads a VOTable file (.vot
) of stars with a given name.boolean
loadDataset(java.lang.String dsName, java.lang.String path, boolean sync)
Loads a VOTable file (.vot
) of stars with a given name.boolean
loadDataset(java.lang.String dsName, java.lang.String path, CatalogInfo.CatalogInfoType type, boolean sync)
boolean
loadDataset(java.lang.String dsName, java.lang.String path, CatalogInfo.CatalogInfoType type, DatasetOptions dops, boolean sync)
boolean
loadDataset(java.lang.String dsName, uk.ac.starlink.util.DataSource ds, CatalogInfo.CatalogInfoType type, DatasetOptions dops, boolean sync)
boolean
loadParticleDataset(java.lang.String dsName, java.lang.String path, double profileDecay, double[] particleColor, double colorNoise, double[] labelColor, double particleSize, double[] sizeLimits, ComponentTypes.ComponentType ct, double[] fadeIn, double[] fadeOut, boolean sync)
boolean
loadParticleDataset(java.lang.String dsName, java.lang.String path, double profileDecay, double[] particleColor, double colorNoise, double[] labelColor, double particleSize, double[] sizeLimits, java.lang.String ct, double[] fadeIn, double[] fadeOut, boolean sync)
Loads a particle dataset (only positions and extra attributes) from a VOTable file (.vot
).boolean
loadParticleDataset(java.lang.String dsName, java.lang.String path, double profileDecay, double[] particleColor, double colorNoise, double[] labelColor, double particleSize, java.lang.String ct, double[] fadeIn, double[] fadeOut, boolean sync)
Loads a particle dataset (only positions and extra attributes) from a VOTable file (.vot
).boolean
loadParticleDataset(java.lang.String dsName, java.lang.String path, double profileDecay, java.util.List particleColor, double colorNoise, java.util.List labelColor, double particleSize, java.lang.String ct, java.util.List fadeIn, java.util.List fadeOut, boolean sync)
boolean
loadParticleDataset(java.lang.String dsName, java.lang.String path, CatalogInfo.CatalogInfoType type, double profileDecay, double[] particleColor, double colorNoise, double[] labelColor, double particleSize, double[] sizeLimits, ComponentTypes.ComponentType ct, double[] fadeIn, double[] fadeOut, boolean sync)
boolean
loadStarClusterDataset(java.lang.String dsName, java.lang.String path, double[] particleColor, double[] fadeIn, double[] fadeOut, boolean sync)
Loads a star cluster dataset from a CSV file.boolean
loadStarClusterDataset(java.lang.String dsName, java.lang.String path, double[] particleColor, double[] labelColor, double[] fadeIn, double[] fadeOut, boolean sync)
Loads a star cluster dataset from a CSV file.boolean
loadStarClusterDataset(java.lang.String dsName, java.lang.String path, double[] particleColor, double[] labelColor, java.lang.String ct, double[] fadeIn, double[] fadeOut, boolean sync)
Loads a star cluster dataset from a CSV file.boolean
loadStarClusterDataset(java.lang.String dsName, java.lang.String path, double[] particleColor, java.lang.String ct, double[] fadeIn, double[] fadeOut, boolean sync)
Loads a star cluster dataset from a CSV file.boolean
loadStarClusterDataset(java.lang.String dsName, java.lang.String path, java.util.List particleColor, java.lang.String ct, java.util.List fadeIn, java.util.List fadeOut, boolean sync)
boolean
loadStarClusterDataset(java.lang.String dsName, java.lang.String path, java.util.List particleColor, java.util.List labelColor, java.lang.String ct, java.util.List fadeIn, java.util.List fadeOut, boolean sync)
boolean
loadStarClusterDataset(java.lang.String dsName, java.lang.String path, java.util.List particleColor, java.util.List fadeIn, java.util.List fadeOut, boolean sync)
boolean
loadStarClusterDataset(java.lang.String dsName, java.lang.String path, java.util.List particleColor, java.util.List labelColor, java.util.List fadeIn, java.util.List fadeOut, boolean sync)
boolean
loadStarDataset(java.lang.String dsName, java.lang.String path, double magnitudeScale, double[] labelColor, double[] fadeIn, double[] fadeOut, boolean sync)
Loads a star dataset from a VOTable file (.vot
).boolean
loadStarDataset(java.lang.String dsName, java.lang.String path, double magnitudeScale, java.util.List labelColor, java.util.List fadeIn, java.util.List fadeOut, boolean sync)
boolean
loadStarDataset(java.lang.String dsName, java.lang.String path, CatalogInfo.CatalogInfoType type, double magnitudeScale, double[] labelColor, double[] fadeIn, double[] fadeOut, boolean sync)
void
log(java.lang.String message)
Print text using the internal logging system.void
maximizeInterfaceWindow()
Maximizes the interface window.double
metresToInternalUnits(double metres)
Converts the metres to internal units.void
minimizeInterfaceWindow()
Minimizes the interface window.void
notify(Events event, java.lang.Object... data)
void
parkRunnable(java.lang.String id, java.lang.Runnable runnable)
Parks aRunnable
to the main loop thread, and keeps it running every frame until it finishes or it is unparked byIScriptingInterface.unparkRunnable(String)
.void
playCameraPath(java.lang.String file)
void
playCameraPath(java.lang.String file, boolean sync)
void
pointAtSkyCoordinate(double ra, double dec)
Sets the camera in free mode and points it to the given coordinates in equatorial system.void
pointAtSkyCoordinate(long ra, long dec)
void
postRunnable(java.lang.Runnable runnable)
Posts aRunnable
to the main loop thread.void
preloadTexture(java.lang.String path)
Pre-loads the given image as a texture for later use.void
preloadTextures(java.lang.String[] paths)
Pre-loads the given images as textures for later use.void
print(java.lang.String message)
Print text using the internal logging system.void
quit()
Initiates the quit action to terminate the program.void
removeAllObjects()
Removes all objects.boolean
removeDataset(java.lang.String dsName)
Removes the dataset identified by the given name, if it exists.void
removeModelObject(java.lang.String name)
Removes the model object identified by the given name from the internal scene graph model of Gaia Sky, if it exists.void
removeObject(int id)
Removes the item with the given id.void
removeObjects(int[] ids)
Removes the items with the given ids.void
removeObjects(java.util.List ids)
void
resetImageSequenceNumber()
Resets to zero the image sequence number used to generate the file names of the frame output images.double[]
rotate2(double[] vector, double angle)
Rotates a 2D vector by the specified angle in degrees, counter-clockwise assuming that the y axis points up.double[]
rotate2(double[] vector, long angle)
double[]
rotate2(java.util.List vector, double angle)
double[]
rotate2(java.util.List vector, long angle)
double[]
rotate3(double[] vector, double[] axis, double angle)
Rotates a 3D vector around the given axis by the specified angle in degrees.double[]
rotate3(double[] vector, double[] axis, long angle)
double[]
rotate3(java.util.List vector, java.util.List axis, double angle)
double[]
rotate3(java.util.List vector, java.util.List axis, long angle)
void
runCameraPath(java.lang.String file)
Runs a .gsc camera path file and returns immediately.void
runCameraPath(java.lang.String file, boolean sync)
Runs a .gsc camera path file and returns immediately.void
runCameraRecording(java.lang.String file)
Runs the camera recording file with the given path.void
setAmbientLight(float ambientLight)
Sets the ambient light to a certain value.void
setAmbientLight(int value)
void
setBloom(float value)
Sets the strength value for the bloom effect.void
setBloom(int level)
void
setBrightnessLevel(double level)
Sets the brightness level of the render system.void
setBrightnessLevel(long level)
void
setCameraCenterFocus(boolean centerFocus)
Whether to look for the focus constantly when in focus mode and center it in the view or whether the view must be free.void
setCameraDirection(double[] dir)
Sets the camera direction vector to the given vector, equatorial system.void
setCameraDirection(java.util.List dir)
void
setCameraFocus(java.lang.String focusName)
Sets the camera in focus mode with the focus object that bears the givenfocusName
.void
setCameraFocus(java.lang.String focusName, float waitTimeSeconds)
Sets the camera in focus mode with the focus object that bears the givenfocusName
.void
setCameraFocus(java.lang.String focusName, int waitTimeSeconds)
void
setCameraFocusInstant(java.lang.String focusName)
Sets the camera in focus mode with the given focus object.void
setCameraFocusInstantAndGo(java.lang.String focusName)
Sets the camera in focus mode with the given focus object and instantly moves the camera next to the focus object.void
setCameraFov1()
Sets the camera in FoV1 mode.void
setCameraFov1and2()
Sets the camera in Fov1 and 2 mode.void
setCameraFov2()
Sets the camera in FoV2 mode.void
setCameraFree()
Sets the camera in free mode.void
setCameraLock(boolean lock)
Activates or deactivates the camera lock to the focus reference system when in focus mode.void
setCameraOrientationLock(boolean lock)
Locks or unlocks the orientation of the camera to the focus object's rotation.void
setCameraPosition(double[] vec)
Sets the camera position to the given coordinates, in Km, equatorial system.void
setCameraPosition(double x, double y, double z)
Sets the camera position to the given coordinates, in Km, equatorial system.void
setCameraPosition(java.util.List vec)
void
setCameraPositionAndFocus(java.lang.String focus, java.lang.String other, double rotation, double viewAngle)
Sets the focus and instantly moves the camera to a point in the line defined byfocus
-other
and rotatedrotation
degrees aroundfocus
using the camera up vector as a rotation axis.
void
setCameraPositionAndFocus(java.lang.String focus, java.lang.String other, long rotation, long viewAngle)
void
setCameraPostion(double[] vec)
Sets the camera position to the given coordinates, in Km, equatorial system.void
setCameraRecorderFps(double targetFps)
Sets the target frame rate of the camera recorder.void
setCameraSpeed(float speed)
Changes the speed multiplier of the camera and its acceleration.void
setCameraSpeed(int speed)
void
setCameraSpeedLimit(int index)
Sets the speed limit of the camera given an index.void
setCameraState(double[] pos, double[] dir, double[] up)
Sets the camera state (position, direction and up vector).void
setCameraState(java.util.List pos, java.util.List dir, java.util.List up)
void
setCameraStateAndTime(double[] pos, double[] dir, double[] up, long time)
Sets the camera state (position, direction and up vector) plus the current time.void
setCameraStateAndTime(java.util.List pos, java.util.List dir, java.util.List up, long time)
void
setCameraUp(double[] up)
Sets the camera up vector to the given vector, equatorial system.void
setCameraUp(java.util.List up)
void
setCinematicCamera(boolean cinematic)
Enables or disables the cinematic camera mode.void
setClosestCrosshairVisibility(boolean visible)
Sets the visibility of the closest object crosshair.void
setContrastLevel(double level)
Sets the contrast level of the render system.void
setContrastLevel(long level)
void
setCrosshairVisibility(boolean visible)
Sets the visibility of all crosshairs.void
setCubemapMode(boolean state, java.lang.String projection)
Enables and disables the cubemap mode.void
setCubemapProjection(java.lang.String projection)
Sets the cubemap projection to use.void
setCubemapResolution(int resolution)
Sets the resolution (width and height are the same) of each side of the frame buffers used to capture each of the 6 directions that go into the cubemap to construct the equirectangular image for the 360 mode.boolean
setDatasetHighlightSizeFactor(java.lang.String dsName, float sizeFactor)
Sets the size increase factor of this dataset when highlighted.void
setExposureToneMappingLevel(double level)
Sets the exposure level.void
setExposureToneMappingLevel(long level)
void
setFocusCrosshairVisibility(boolean visible)
Sets the visibility of the focus object crosshair.void
setFov(float newFov)
Changes the field of view of the camera.void
setFov(int newFov)
void
setFrameOutput(boolean active)
Activates or deactivates the image output system.void
setFrameOutputMode(java.lang.String screenshotMode)
Sets the frame output mode.void
setGammaCorrectionLevel(double level)
Sets the gamma correction level.void
setGammaCorrectionLevel(long level)
void
setGuiPosition(float x, float y)
Moves the interface window to a new position.void
setGuiPosition(float x, int y)
void
setGuiPosition(int x, float y)
void
setGuiPosition(int x, int y)
void
setGuiScrollPosition(float pixelY)
Sets the vertical scroll position in the GUI.void
setGuiScrollPosition(int pixelY)
void
setHDRToneMappingType(java.lang.String type)
Sets the high dynamic range tone mapping algorithm type.void
setHeadlineMessage(java.lang.String headline)
Sets a headline message that will appear in a big font in the screen.void
setHomeCrosshairVisibility(boolean visible)
Sets the visibility of the home object crosshair.void
setHueLevel(double level)
Sets the hue level of the render system.void
setHueLevel(long level)
void
setLabelSizeFactor(float factor)
Sets the label size factor.void
setLabelSizeFactor(int factor)
void
setLensFlare(boolean state)
Enables or deisables the lens flare effect.void
setLimitFps(double limitFps)
Limits the frame rate of Gaia Sky.void
setLimitFps(int limitFps)
Limits the frame rate of Gaia Sky.void
setLineWidthFactor(float factor)
Sets the line width factor.void
setLineWidthFactor(int factor)
void
setMinimapVisibility(boolean visible)
Shows or hides the minimap.void
setMinStarOpacity(float opacity)
Sets the minimum star opacity.void
setMinStarOpacity(int opacity)
void
setMotionBlur(boolean state)
Enables or disables the motion blur effect.void
setObjectSizeScaling(java.lang.String name, double scalingFactor)
Sets the given size scaling factor to the object identified byname
.void
setPanoramaMode(boolean state)
Enables and disables the panorama mode.void
setPlanetariumMode(boolean state)
Enables and disables the planetarium mode.void
setProjectionFov(float newFov)
Same asIScriptingInterface.setFov(float)
, but bypassing the restriction of an active projection in the slave (slaves that have an active projection do not accept fov modification events).void
setProjectionPitch(float pitch)
Sets the projection pitch angle (if this is a slave instance), in degrees.void
setProjectionRoll(float roll)
Sets the projection roll angle (if this is a slave instance), in degrees.void
setProjectionYaw(float yaw)
Sets the projection yaw angle (if this is a slave instance), in degrees.void
setProperMotionsArrowheads(boolean arrowheadsEnabled)
Sets whether to show arrowheads or not for the velocity vectors.void
setProperMotionsColorMode(int mode)
Sets the color mode of proper motion vectors.void
setProperMotionsLengthFactor(float factor)
Sets the length of the proper motion vectors, in [500,30000].void
setProperMotionsLengthFactor(int factor)
void
setProperMotionsMaxNumber(long maxNumber)
Overrides the maximum number of proper motion vectors that the program is allowed to show.void
setProperMotionsNumberFactor(float factor)
Sets the number factor of proper motion vectors that are visible.void
setProperMotionsNumberFactor(int factor)
void
setRotationCameraSpeed(float speed)
Changes the speed of the camera when it rotates around a focus.void
setRotationCameraSpeed(int speed)
void
setSaturationLevel(double level)
Sets the saturation level of the render system.void
setSaturationLevel(long level)
void
setSimulationPace(double pace)
Changes the pace of time.void
setSimulationPace(long pace)
void
setSimulationTime(int year, int month, int day, int hour, int min, int sec, int millisec)
Sets the time of the application, in UTC.void
setSimulationTime(long time)
Sets the time of the application.void
setSmoothLodTransitions(boolean value)
Sets the value of smooth lod transitions, allowing or disallowing octant fade-ins of as they come into view.void
setStarBrightness(float brightness)
Sets the star brightness value.void
setStarBrightness(int brightness)
void
setStarGlow(boolean state)
Enables or disables the star glow effect.void
setStarSize(float size)
Sets the size of the rasterized stars, in pixels.void
setStarSize(int size)
void
setStereoscopicMode(boolean state)
Enables and disables the stereoscopic mode.void
setStereoscopicProfile(int index)
Changes the stereoscopic profile.void
setSubheadMessage(java.lang.String subhead)
Sets a subhead message that will appear in a small font below the headline.void
setTargetTime(int year, int month, int day, int hour, int min, int sec, int millisec)
Sets a time bookmark in the global clock that, when reached, the clock automatically stops.void
setTargetTime(long ms)
Sets a time bookmark in the global clock that, when reached, the clock automatically stops.void
setTurningCameraSpeed(float speed)
Changes the turning speed of the camera.void
setTurningCameraSpeed(int speed)
void
setUnfilteredProperMotionsNumberFactor(float factor)
void
setVisibility(java.lang.String key, boolean visible)
Sets the component described by the given name visible or invisible.boolean
showDataset(java.lang.String dsName)
Shows (un-hides) the dataset identified by the given name, if it exists and is hiddenvoid
sleep(float seconds)
Sleeps for the given number of seconds in the application time (FPS), so if we are capturing frames and the frame rate is set to 30 FPS, the command sleep(1) will put the script to sleep for 30 frames.void
sleep(int seconds)
void
sleepFrames(long frames)
Sleeps for a number of frames.void
startRecordingCameraPath()
Starts recording the camera path to an auto-generated file in the default camera folder.void
startRecordingCameraPath(java.lang.String fileName)
Starts recording a camera path with the given filename.void
startSimulationTime()
Starts the simulation.void
stopRecordingCameraPath()
Stops the current camera recording.void
stopSimulationTime()
Stops the simulation time.void
unparkRunnable(java.lang.String id)
Removes the runnable with the given id, if any.void
unsetTargetTime()
Unsets the target time bookmark from the global clock, if any.boolean
waitFocus(java.lang.String name, long timeoutMs)
Blocks the script until the focus is the object indicated by the name.void
waitForEnter()
Blocks the execution until the Enter key is pressed.void
waitForInput()
Blocks the execution until any kind of input (keyboard, mouse, etc.) is received.void
waitForInput(int keyCode)
Blocks the execution until the given key or button is pressed.
-
-
-
Method Detail
-
instance
public static EventScriptingInterface instance()
-
activateRealTimeFrame
public void activateRealTimeFrame()
Description copied from interface:IScriptingInterface
Sets the current time frame to real time. All the commands executed after this command becomes active will be in the real time frame (clock ticks).- Specified by:
activateRealTimeFrame
in interfaceIScriptingInterface
-
activateSimulationTimeFrame
public void activateSimulationTimeFrame()
Description copied from interface:IScriptingInterface
Sets the current time frame to simulation time. All the commands executed after this command becomes active will be in the simulation time frame (simulation clock in the app).- Specified by:
activateSimulationTimeFrame
in interfaceIScriptingInterface
-
setHeadlineMessage
public void setHeadlineMessage(java.lang.String headline)
Description copied from interface:IScriptingInterface
Sets a headline message that will appear in a big font in the screen.- Specified by:
setHeadlineMessage
in interfaceIScriptingInterface
- Parameters:
headline
- The headline text.
-
setSubheadMessage
public void setSubheadMessage(java.lang.String subhead)
Description copied from interface:IScriptingInterface
Sets a subhead message that will appear in a small font below the headline.- Specified by:
setSubheadMessage
in interfaceIScriptingInterface
- Parameters:
subhead
- The subhead text.
-
clearHeadlineMessage
public void clearHeadlineMessage()
Description copied from interface:IScriptingInterface
Clears the headline messge.- Specified by:
clearHeadlineMessage
in interfaceIScriptingInterface
-
clearSubheadMessage
public void clearSubheadMessage()
Description copied from interface:IScriptingInterface
Clears the subhead message.- Specified by:
clearSubheadMessage
in interfaceIScriptingInterface
-
clearAllMessages
public void clearAllMessages()
Description copied from interface:IScriptingInterface
Clears both the subhead and the headline messages.- Specified by:
clearAllMessages
in interfaceIScriptingInterface
-
disableInput
public void disableInput()
Description copied from interface:IScriptingInterface
Disables all input events from mouse, keyboard, touchscreen, etc.- Specified by:
disableInput
in interfaceIScriptingInterface
-
enableInput
public void enableInput()
Description copied from interface:IScriptingInterface
Enables all input events.- Specified by:
enableInput
in interfaceIScriptingInterface
-
setCinematicCamera
public void setCinematicCamera(boolean cinematic)
Description copied from interface:IScriptingInterface
Enables or disables the cinematic camera mode.- Specified by:
setCinematicCamera
in interfaceIScriptingInterface
- Parameters:
cinematic
- Whether to enable or disable the cinematic mode.
-
setCameraFocus
public void setCameraFocus(java.lang.String focusName)
Description copied from interface:IScriptingInterface
Sets the camera in focus mode with the focus object that bears the givenfocusName
. It returns immediately, so it does not wait for the camera direction to point to the focus.- Specified by:
setCameraFocus
in interfaceIScriptingInterface
- Parameters:
focusName
- The name of the new focus object.
-
setCameraFocus
public void setCameraFocus(java.lang.String focusName, float waitTimeSeconds)
Description copied from interface:IScriptingInterface
Sets the camera in focus mode with the focus object that bears the givenfocusName
. The amount of time to block and wait for the camera to face the focus can also be specified inwaitTimeSeconds
.- Specified by:
setCameraFocus
in interfaceIScriptingInterface
- Parameters:
focusName
- The name of the new focus object.waitTimeSeconds
- Maximum time in seconds to wait for the camera to face the focus. If negative, we wait indefinitely.
-
setCameraFocus
public void setCameraFocus(java.lang.String focusName, int waitTimeSeconds)
-
setCameraFocusInstant
public void setCameraFocusInstant(java.lang.String focusName)
Description copied from interface:IScriptingInterface
Sets the camera in focus mode with the given focus object. It also instantly sets the camera direction vector to point towards the focus.- Specified by:
setCameraFocusInstant
in interfaceIScriptingInterface
- Parameters:
focusName
- The name of the new focus object.
-
setCameraFocusInstantAndGo
public void setCameraFocusInstantAndGo(java.lang.String focusName)
Description copied from interface:IScriptingInterface
Sets the camera in focus mode with the given focus object and instantly moves the camera next to the focus object.- Specified by:
setCameraFocusInstantAndGo
in interfaceIScriptingInterface
- Parameters:
focusName
- The name of the new focus object.
-
setCameraLock
public void setCameraLock(boolean lock)
Description copied from interface:IScriptingInterface
Activates or deactivates the camera lock to the focus reference system when in focus mode.- Specified by:
setCameraLock
in interfaceIScriptingInterface
- Parameters:
lock
- Activate or deactivate the lock.
-
setCameraCenterFocus
public void setCameraCenterFocus(boolean centerFocus)
Description copied from interface:IScriptingInterface
Whether to look for the focus constantly when in focus mode and center it in the view or whether the view must be free. Use True to center the focus (default behaviour) and False to set it to a free view.- Specified by:
setCameraCenterFocus
in interfaceIScriptingInterface
- Parameters:
centerFocus
- Whether to center the focus or not.
-
setCameraFree
public void setCameraFree()
Description copied from interface:IScriptingInterface
Sets the camera in free mode.- Specified by:
setCameraFree
in interfaceIScriptingInterface
-
setCameraFov1
public void setCameraFov1()
Description copied from interface:IScriptingInterface
Sets the camera in FoV1 mode. The camera is positioned in Gaia's focal plane and observes what Gaia observes through its field of view 1.- Specified by:
setCameraFov1
in interfaceIScriptingInterface
-
setCameraFov2
public void setCameraFov2()
Description copied from interface:IScriptingInterface
Sets the camera in FoV2 mode. The camera is positioned in Gaia's focal plane and observes what Gaia observes through its field of view 2.- Specified by:
setCameraFov2
in interfaceIScriptingInterface
-
setCameraFov1and2
public void setCameraFov1and2()
Description copied from interface:IScriptingInterface
Sets the camera in Fov1 and 2 mode. The camera is positioned in Gaia's focal plane and observes what Gaia observes through its two fields of view.- Specified by:
setCameraFov1and2
in interfaceIScriptingInterface
-
setCameraPostion
public void setCameraPostion(double[] vec)
Description copied from interface:IScriptingInterface
Sets the camera position to the given coordinates, in Km, equatorial system.- Specified by:
setCameraPostion
in interfaceIScriptingInterface
- Parameters:
vec
- Vector of three components in internal coordinates and Km.
-
setCameraPosition
public void setCameraPosition(double[] vec)
Description copied from interface:IScriptingInterface
Sets the camera position to the given coordinates, in Km, equatorial system.- Specified by:
setCameraPosition
in interfaceIScriptingInterface
- Parameters:
vec
- Vector of three components in internal coordinates and Km.
-
setCameraPosition
public void setCameraPosition(double x, double y, double z)
Description copied from interface:IScriptingInterface
Sets the camera position to the given coordinates, in Km, equatorial system.- Specified by:
setCameraPosition
in interfaceIScriptingInterface
- Parameters:
x
- The x component.y
- The y component.z
- The z component.
-
setCameraPosition
public void setCameraPosition(java.util.List vec)
-
getCameraPosition
public double[] getCameraPosition()
Description copied from interface:IScriptingInterface
Gets the current camera position, in km.- Specified by:
getCameraPosition
in interfaceIScriptingInterface
- Returns:
- The camera position coordinates in the internal reference system, in km.
-
setCameraDirection
public void setCameraDirection(double[] dir)
Description copied from interface:IScriptingInterface
Sets the camera direction vector to the given vector, equatorial system.- Specified by:
setCameraDirection
in interfaceIScriptingInterface
- Parameters:
dir
- The direction vector in equatorial coordinates.
-
setCameraDirection
public void setCameraDirection(java.util.List dir)
-
getCameraDirection
public double[] getCameraDirection()
Description copied from interface:IScriptingInterface
Gets the current camera direction vector.- Specified by:
getCameraDirection
in interfaceIScriptingInterface
- Returns:
- The camera direction vector in the internal reference system.
-
setCameraUp
public void setCameraUp(double[] up)
Description copied from interface:IScriptingInterface
Sets the camera up vector to the given vector, equatorial system.- Specified by:
setCameraUp
in interfaceIScriptingInterface
- Parameters:
up
- The up vector in equatorial coordinates.
-
setCameraUp
public void setCameraUp(java.util.List up)
-
getCameraUp
public double[] getCameraUp()
Description copied from interface:IScriptingInterface
Gets the current camera up vector.- Specified by:
getCameraUp
in interfaceIScriptingInterface
- Returns:
- The camera up vector in the internal reference system.
-
setCameraPositionAndFocus
public void setCameraPositionAndFocus(java.lang.String focus, java.lang.String other, double rotation, double viewAngle)
Description copied from interface:IScriptingInterface
Sets the focus and instantly moves the camera to a point in the line defined byfocus
-other
and rotatedrotation
degrees aroundfocus
using the camera up vector as a rotation axis.
- Specified by:
setCameraPositionAndFocus
in interfaceIScriptingInterface
- Parameters:
focus
- The name of the focus object.other
- The name of the other object, to the fine a line from this to foucs. Usually a light source.rotation
- The rotation angle, in degrees.viewAngle
- The view angle which determines the distance, in degrees.
-
setCameraPositionAndFocus
public void setCameraPositionAndFocus(java.lang.String focus, java.lang.String other, long rotation, long viewAngle)
-
pointAtSkyCoordinate
public void pointAtSkyCoordinate(double ra, double dec)
Description copied from interface:IScriptingInterface
Sets the camera in free mode and points it to the given coordinates in equatorial system.- Specified by:
pointAtSkyCoordinate
in interfaceIScriptingInterface
- Parameters:
ra
- Right ascension in degrees.dec
- Declination in degrees.
-
pointAtSkyCoordinate
public void pointAtSkyCoordinate(long ra, long dec)
-
setCameraSpeed
public void setCameraSpeed(float speed)
Description copied from interface:IScriptingInterface
Changes the speed multiplier of the camera and its acceleration.- Specified by:
setCameraSpeed
in interfaceIScriptingInterface
- Parameters:
speed
- The new speed, from 0 to 100.
-
setCameraSpeed
public void setCameraSpeed(int speed)
-
getCameraSpeed
public double getCameraSpeed()
Description copied from interface:IScriptingInterface
Gets the current physical speed of the camera in km/h.- Specified by:
getCameraSpeed
in interfaceIScriptingInterface
- Returns:
- The current speed of the camera in km/h.
-
setRotationCameraSpeed
public void setRotationCameraSpeed(float speed)
Description copied from interface:IScriptingInterface
Changes the speed of the camera when it rotates around a focus.- Specified by:
setRotationCameraSpeed
in interfaceIScriptingInterface
- Parameters:
speed
- The new rotation speed, from 0 to 100.
-
setRotationCameraSpeed
public void setRotationCameraSpeed(int speed)
-
setTurningCameraSpeed
public void setTurningCameraSpeed(float speed)
Description copied from interface:IScriptingInterface
Changes the turning speed of the camera.- Specified by:
setTurningCameraSpeed
in interfaceIScriptingInterface
- Parameters:
speed
- The new turning speed, from 1 to 100.
-
setTurningCameraSpeed
public void setTurningCameraSpeed(int speed)
-
setCameraSpeedLimit
public void setCameraSpeedLimit(int index)
Description copied from interface:IScriptingInterface
Sets the speed limit of the camera given an index. The index corresponds to the following:- 0 - 100 Km/h
- 1 - 0.5 c
- 2 - 0.8 c
- 3 - 0.9 c
- 4 - 0.99 c
- 5 - 0.99999 c
- 6 - 1 c
- 7 - 2 c
- 8 - 10 c
- 9 - 1e3 c
- 10 - 1 AU/s
- 11 - 10 AU/s
- 12 - 1000 AU/s
- 13 - 10000 AU/s
- 14 - 1 pc/s
- 15 - 2 pc/s
- 16 - 10 pc/s
- 17 - 1000 pc/s
- 18 - unlimited
- Specified by:
setCameraSpeedLimit
in interfaceIScriptingInterface
- Parameters:
index
- The index of the top speed.
-
setCameraOrientationLock
public void setCameraOrientationLock(boolean lock)
Description copied from interface:IScriptingInterface
Locks or unlocks the orientation of the camera to the focus object's rotation.- Specified by:
setCameraOrientationLock
in interfaceIScriptingInterface
- Parameters:
lock
- Whether to lock or unlock the camera orientation to the focus.
-
cameraForward
public void cameraForward(double cameraForward)
Description copied from interface:IScriptingInterface
Adds a forward movement to the camera with the given value. If value is negative the movement is backwards.- Specified by:
cameraForward
in interfaceIScriptingInterface
- Parameters:
cameraForward
- The magnitude of the movement, between -1 and 1.
-
cameraForward
public void cameraForward(long value)
-
cameraRotate
public void cameraRotate(double deltaX, double deltaY)
Description copied from interface:IScriptingInterface
Adds a rotation movement to the camera around the current focus, or a pitch/yaw if in free mode.If the camera is not using the cinematic behaviour (
IScriptingInterface.setCinematicCamera(boolean)
, the rotation movement will not be permanent. Use the cinematic behaviour to have the camera continue to rotate around the focus.- Specified by:
cameraRotate
in interfaceIScriptingInterface
- Parameters:
deltaX
- The x component, between 0 and 1. Positive is right and negative is left.deltaY
- The y component, between 0 and 1. Positive is up and negative is down.
-
cameraRotate
public void cameraRotate(double deltaX, long deltaY)
-
cameraRotate
public void cameraRotate(long deltaX, double deltaY)
-
cameraRoll
public void cameraRoll(double roll)
Description copied from interface:IScriptingInterface
Adds a roll force to the camera.- Specified by:
cameraRoll
in interfaceIScriptingInterface
- Parameters:
roll
- The intensity of the roll.
-
cameraRoll
public void cameraRoll(long roll)
-
cameraTurn
public void cameraTurn(double deltaX, double deltaY)
Description copied from interface:IScriptingInterface
Adds a turn force to the camera (yaw and/or pitch). If the camera is in focus mode, it permanently deviates the line of sight from the focus until centered again. If the camera is not using the cinematic behaviour (IScriptingInterface.setCinematicCamera(boolean)
, the turn will not be permanent. Use the cinematic behaviour to have the turn persist in time.- Specified by:
cameraTurn
in interfaceIScriptingInterface
- Parameters:
deltaX
- The x component, between 0 and 1. Positive is right and negative is left.deltaY
- The y component, between 0 and 1. Positive is up and negative is down.
-
cameraTurn
public void cameraTurn(double deltaX, long deltaY)
-
cameraTurn
public void cameraTurn(long deltaX, double deltaY)
-
cameraTurn
public void cameraTurn(long deltaX, long deltaY)
-
cameraYaw
public void cameraYaw(double amount)
Description copied from interface:IScriptingInterface
Adds a yaw to the camera. Same asIScriptingInterface.cameraTurn(double, double)
with deltaY set to zero.- Specified by:
cameraYaw
in interfaceIScriptingInterface
- Parameters:
amount
- The amount.
-
cameraYaw
public void cameraYaw(long amount)
-
cameraPitch
public void cameraPitch(double amount)
Description copied from interface:IScriptingInterface
Adds a pitch to the camera. Same asIScriptingInterface.cameraTurn(double, double)
with deltaX set to zero.- Specified by:
cameraPitch
in interfaceIScriptingInterface
- Parameters:
amount
- The amount.
-
cameraPitch
public void cameraPitch(long amount)
-
cameraStop
public void cameraStop()
Description copied from interface:IScriptingInterface
Stops all camera motion.- Specified by:
cameraStop
in interfaceIScriptingInterface
-
cameraCenter
public void cameraCenter()
Description copied from interface:IScriptingInterface
Centers the camera to the focus, removing any deviation of the line of sight. Useful to center the focus object again after turning.- Specified by:
cameraCenter
in interfaceIScriptingInterface
-
getClosestObjectToCamera
public IFocus getClosestObjectToCamera()
Description copied from interface:IScriptingInterface
Returns the closest object to the camera in this instant as aIFocus
.- Specified by:
getClosestObjectToCamera
in interfaceIScriptingInterface
- Returns:
- The closest object to the camera.
-
setFov
public void setFov(float newFov)
Description copied from interface:IScriptingInterface
Changes the field of view of the camera.- Specified by:
setFov
in interfaceIScriptingInterface
- Parameters:
newFov
- The new field of view value in degrees, betweenConstants.MIN_FOV
andConstants.MAX_FOV
.
-
setFov
public void setFov(int newFov)
-
setVisibility
public void setVisibility(java.lang.String key, boolean visible)
Description copied from interface:IScriptingInterface
Sets the component described by the given name visible or invisible.- Specified by:
setVisibility
in interfaceIScriptingInterface
- Parameters:
key
- The key of the component, seeComponentTypes.ComponentType
. Usually 'element.stars', 'element.moons', 'element.atmospheres', etc.visible
- The visible value.
-
setLabelSizeFactor
public void setLabelSizeFactor(float factor)
Description copied from interface:IScriptingInterface
Sets the label size factor. The label size will be multiplied by this.- Specified by:
setLabelSizeFactor
in interfaceIScriptingInterface
- Parameters:
factor
- Factor inConstants.MIN_LABEL_SIZE
andConstants.MAX_LABEL_SIZE
.
-
setLabelSizeFactor
public void setLabelSizeFactor(int factor)
-
setLineWidthFactor
public void setLineWidthFactor(float factor)
Description copied from interface:IScriptingInterface
Sets the line width factor. The line width will be multiplied by this.- Specified by:
setLineWidthFactor
in interfaceIScriptingInterface
- Parameters:
factor
- Factor inConstants.MIN_LINE_WIDTH
andConstants.MAX_LINE_WIDTH
.
-
setLineWidthFactor
public void setLineWidthFactor(int factor)
-
setProperMotionsNumberFactor
public void setProperMotionsNumberFactor(float factor)
Description copied from interface:IScriptingInterface
Sets the number factor of proper motion vectors that are visible. In [1,100].- Specified by:
setProperMotionsNumberFactor
in interfaceIScriptingInterface
- Parameters:
factor
- Factor in [1,100].
-
setProperMotionsColorMode
public void setProperMotionsColorMode(int mode)
Description copied from interface:IScriptingInterface
Sets the color mode of proper motion vectors.- Specified by:
setProperMotionsColorMode
in interfaceIScriptingInterface
- Parameters:
mode
- The color mode:- 0 - direction: the normalised cartesian velocity components XYZ are mapped to the color channels RGB.
- 1 - magnitude (speed): the magnitude of the velocity vector is mapped using a rainbow scheme (blue-green-yellow-red) with the color map limit at 100 Km/s.
- 2 - has radial velocity: blue for stars with radial velocity, red for stars without.
- 3 - redshift from Sun: blue stars have negative radial velocity (from the Sun), red stars have positive radial velocity (from the Sun). Blue is mapped to -100 Km/s, red is mapped to 100 Km/s.
- 4 - redshift from camera: blue stars have negative radial velocity (from the camera), red stars have positive radial velocity (from the camera). Blue is mapped to -100 Km/s, red is mapped to 100 Km/s.
- 5 - single color: same color for all velocity vectors.
-
setProperMotionsArrowheads
public void setProperMotionsArrowheads(boolean arrowheadsEnabled)
Description copied from interface:IScriptingInterface
Sets whether to show arrowheads or not for the velocity vectors.- Specified by:
setProperMotionsArrowheads
in interfaceIScriptingInterface
- Parameters:
arrowheadsEnabled
- Whether to show the velocity vectors with arrowheads.
-
setProperMotionsNumberFactor
public void setProperMotionsNumberFactor(int factor)
-
setUnfilteredProperMotionsNumberFactor
public void setUnfilteredProperMotionsNumberFactor(float factor)
-
setProperMotionsLengthFactor
public void setProperMotionsLengthFactor(float factor)
Description copied from interface:IScriptingInterface
Sets the length of the proper motion vectors, in [500,30000].- Specified by:
setProperMotionsLengthFactor
in interfaceIScriptingInterface
- Parameters:
factor
- Factor in [500,30000].
-
setProperMotionsLengthFactor
public void setProperMotionsLengthFactor(int factor)
-
setProperMotionsMaxNumber
public void setProperMotionsMaxNumber(long maxNumber)
Description copied from interface:IScriptingInterface
Overrides the maximum number of proper motion vectors that the program is allowed to show.- Specified by:
setProperMotionsMaxNumber
in interfaceIScriptingInterface
- Parameters:
maxNumber
- The maximum number of proper motion vectors. Negative to use default.
-
getProperMotionsMaxNumber
public long getProperMotionsMaxNumber()
Description copied from interface:IScriptingInterface
Returns the current maximum number of proper motion vectors allowed.- Specified by:
getProperMotionsMaxNumber
in interfaceIScriptingInterface
- Returns:
- Max number of pm vectors.
-
setCrosshairVisibility
public void setCrosshairVisibility(boolean visible)
Description copied from interface:IScriptingInterface
Sets the visibility of all crosshairs.- Specified by:
setCrosshairVisibility
in interfaceIScriptingInterface
- Parameters:
visible
- The visibility state, which applies to all crosshairs.
-
setFocusCrosshairVisibility
public void setFocusCrosshairVisibility(boolean visible)
Description copied from interface:IScriptingInterface
Sets the visibility of the focus object crosshair.- Specified by:
setFocusCrosshairVisibility
in interfaceIScriptingInterface
- Parameters:
visible
- The visibility state.
-
setClosestCrosshairVisibility
public void setClosestCrosshairVisibility(boolean visible)
Description copied from interface:IScriptingInterface
Sets the visibility of the closest object crosshair.- Specified by:
setClosestCrosshairVisibility
in interfaceIScriptingInterface
- Parameters:
visible
- The visibility state.
-
setHomeCrosshairVisibility
public void setHomeCrosshairVisibility(boolean visible)
Description copied from interface:IScriptingInterface
Sets the visibility of the home object crosshair.- Specified by:
setHomeCrosshairVisibility
in interfaceIScriptingInterface
- Parameters:
visible
- The visibility state.
-
setMinimapVisibility
public void setMinimapVisibility(boolean visible)
Description copied from interface:IScriptingInterface
Shows or hides the minimap.- Specified by:
setMinimapVisibility
in interfaceIScriptingInterface
- Parameters:
visible
- The visibility state.
-
setAmbientLight
public void setAmbientLight(float ambientLight)
Description copied from interface:IScriptingInterface
Sets the ambient light to a certain value.- Specified by:
setAmbientLight
in interfaceIScriptingInterface
- Parameters:
ambientLight
- The value of the ambient light in [0,1].
-
setAmbientLight
public void setAmbientLight(int value)
-
setSimulationTime
public void setSimulationTime(int year, int month, int day, int hour, int min, int sec, int millisec)
Description copied from interface:IScriptingInterface
Sets the time of the application, in UTC.- Specified by:
setSimulationTime
in interfaceIScriptingInterface
- Parameters:
year
- The year to represent.month
- The month-of-year to represent, from 1 (January) to 12 (December).day
- The day-of-month to represent, from 1 to 31.hour
- The hour-of-day to represent, from 0 to 23.min
- The minute-of-hour to represent, from 0 to 59.sec
- The second-of-minute to represent, from 0 to 59.millisec
- The millisecond-of-second, from 0 to 999.
-
setSimulationTime
public void setSimulationTime(long time)
Description copied from interface:IScriptingInterface
Sets the time of the application. The long value represents specified number of milliseconds since the standard base time known as "the epoch", namely January 1, 1970, 00:00:00 GMT.- Specified by:
setSimulationTime
in interfaceIScriptingInterface
- Parameters:
time
- Number of milliseconds since the epoch (Jan 1, 1970).
-
getSimulationTime
public long getSimulationTime()
Description copied from interface:IScriptingInterface
Returns the current simulation time as the number of milliseconds since Jan 1, 1970 GMT.- Specified by:
getSimulationTime
in interfaceIScriptingInterface
- Returns:
- Number of milliseconds since the epoch (Jan 1, 1970).
-
getSimulationTimeArr
public int[] getSimulationTimeArr()
Description copied from interface:IScriptingInterface
Returns the current UTC simulation time in an array.- Specified by:
getSimulationTimeArr
in interfaceIScriptingInterface
- Returns:
- The current simulation time in an array with the given indices.
- 0 - The year.
- 1 - The month, from 1 (January) to 12 (December).
- 2 - The day-of-month, from 1 to 31.
- 3 - The hour-of-day, from 0 to 23.
- 4 - The minute-of-hour, from 0 to 59.
- 5 - The second-of-minute, from 0 to 59.
- 6 - The millisecond-of-second, from 0 to 999.
-
startSimulationTime
public void startSimulationTime()
Description copied from interface:IScriptingInterface
Starts the simulation.- Specified by:
startSimulationTime
in interfaceIScriptingInterface
-
stopSimulationTime
public void stopSimulationTime()
Description copied from interface:IScriptingInterface
Stops the simulation time.- Specified by:
stopSimulationTime
in interfaceIScriptingInterface
-
isSimulationTimeOn
public boolean isSimulationTimeOn()
Description copied from interface:IScriptingInterface
Queries whether the time is on or not.- Specified by:
isSimulationTimeOn
in interfaceIScriptingInterface
- Returns:
- True if the time is on, false otherwise.
-
setSimulationPace
public void setSimulationPace(double pace)
Description copied from interface:IScriptingInterface
Changes the pace of time.- Specified by:
setSimulationPace
in interfaceIScriptingInterface
- Parameters:
pace
- The pace as a factor of real physical time pace. 2.0 sets the pace to be twice as fast as real time.
-
setSimulationPace
public void setSimulationPace(long pace)
-
setTargetTime
public void setTargetTime(long ms)
Description copied from interface:IScriptingInterface
Sets a time bookmark in the global clock that, when reached, the clock automatically stops.- Specified by:
setTargetTime
in interfaceIScriptingInterface
- Parameters:
ms
- The time as the number of milliseconds since the epoch (Jan 1, 1970).
-
setTargetTime
public void setTargetTime(int year, int month, int day, int hour, int min, int sec, int millisec)
Description copied from interface:IScriptingInterface
Sets a time bookmark in the global clock that, when reached, the clock automatically stops.- Specified by:
setTargetTime
in interfaceIScriptingInterface
- Parameters:
year
- The year to represent.month
- The month-of-year to represent, from 1 (January) to 12 (December).day
- The day-of-month to represent, from 1 to 31.hour
- The hour-of-day to represent, from 0 to 23.min
- The minute-of-hour to represent, from 0 to 59.sec
- The second-of-minute to represent, from 0 to 59.millisec
- The millisecond-of-second, from 0 to 999.
-
unsetTargetTime
public void unsetTargetTime()
Description copied from interface:IScriptingInterface
Unsets the target time bookmark from the global clock, if any.- Specified by:
unsetTargetTime
in interfaceIScriptingInterface
-
setStarBrightness
public void setStarBrightness(float brightness)
Description copied from interface:IScriptingInterface
Sets the star brightness value.- Specified by:
setStarBrightness
in interfaceIScriptingInterface
- Parameters:
brightness
- The brightness value, between 0 and 100.
-
setStarBrightness
public void setStarBrightness(int brightness)
-
getStarBrightness
public float getStarBrightness()
Description copied from interface:IScriptingInterface
Gets the star brightness value.- Specified by:
getStarBrightness
in interfaceIScriptingInterface
- Returns:
- The brightness value, between 0 and 100.
-
setStarSize
public void setStarSize(float size)
Description copied from interface:IScriptingInterface
Sets the size of the rasterized stars, in pixels.- Specified by:
setStarSize
in interfaceIScriptingInterface
- Parameters:
size
- The size value in pixels, betweenConstants.MIN_STAR_POINT_SIZE
andConstants.MAX_STAR_POINT_SIZE
.
-
setStarSize
public void setStarSize(int size)
-
getStarSize
public float getStarSize()
Description copied from interface:IScriptingInterface
Gets the current star size value in pixels.- Specified by:
getStarSize
in interfaceIScriptingInterface
- Returns:
- The size value, in pixels.
-
getMinStarOpacity
public float getMinStarOpacity()
Description copied from interface:IScriptingInterface
Gets the minimum star opacity.- Specified by:
getMinStarOpacity
in interfaceIScriptingInterface
- Returns:
- The minimum opacity value, between 0 and 100.
-
setMinStarOpacity
public void setMinStarOpacity(float opacity)
Description copied from interface:IScriptingInterface
Sets the minimum star opacity.- Specified by:
setMinStarOpacity
in interfaceIScriptingInterface
- Parameters:
opacity
- The minimum opacity value, between 0 and 100.
-
setProjectionYaw
public void setProjectionYaw(float yaw)
Description copied from interface:IScriptingInterface
Sets the projection yaw angle (if this is a slave instance), in degrees. The yaw angle turns the camera to the right. This function is intended for multi-projector setups, to configure slaves without restarting Gaia Sky.- Specified by:
setProjectionYaw
in interfaceIScriptingInterface
- Parameters:
yaw
- The yaw angle in degrees.
-
setProjectionPitch
public void setProjectionPitch(float pitch)
Description copied from interface:IScriptingInterface
Sets the projection pitch angle (if this is a slave instance), in degrees. The pitch angle turns the camera up. This function is intended for multi-projector setups, to configure slaves without restarting Gaia Sky.- Specified by:
setProjectionPitch
in interfaceIScriptingInterface
- Parameters:
pitch
- The pitch angle in degrees.
-
setProjectionRoll
public void setProjectionRoll(float roll)
Description copied from interface:IScriptingInterface
Sets the projection roll angle (if this is a slave instance), in degrees. The roll angle rolls the camera clockwise. This function is intended for multi-projector setups, to configure slaves without restarting Gaia Sky.- Specified by:
setProjectionRoll
in interfaceIScriptingInterface
- Parameters:
roll
- The roll angle in degrees.
-
setProjectionFov
public void setProjectionFov(float newFov)
Description copied from interface:IScriptingInterface
Same asIScriptingInterface.setFov(float)
, but bypassing the restriction of an active projection in the slave (slaves that have an active projection do not accept fov modification events).- Specified by:
setProjectionFov
in interfaceIScriptingInterface
- Parameters:
newFov
- The field of view angle.
-
setLimitFps
public void setLimitFps(double limitFps)
Description copied from interface:IScriptingInterface
Limits the frame rate of Gaia Sky.- Specified by:
setLimitFps
in interfaceIScriptingInterface
- Parameters:
limitFps
- The new maximum frame rate as a double-precision floating point number. Set zero or negative to unlimited.
-
setLimitFps
public void setLimitFps(int limitFps)
Description copied from interface:IScriptingInterface
Limits the frame rate of Gaia Sky.- Specified by:
setLimitFps
in interfaceIScriptingInterface
- Parameters:
limitFps
- The new maximum frame rate as an integer number. Set zero or negative to unlimited.
-
setMinStarOpacity
public void setMinStarOpacity(int opacity)
-
configureFrameOutput
public void configureFrameOutput(int width, int height, int fps, java.lang.String folder, java.lang.String namePrefix)
Description copied from interface:IScriptingInterface
Configures the frame output system, setting the resolution of the images, the target frames per second, the output folder and the image name prefix. This function sets the frame output mode to 'redraw'.- Specified by:
configureFrameOutput
in interfaceIScriptingInterface
- Parameters:
width
- Width of images.height
- Height of images.fps
- Target frames per second (number of images per second).folder
- The output folder path.namePrefix
- The file name prefix.
-
configureFrameOutput
public void configureFrameOutput(int width, int height, double fps, java.lang.String folder, java.lang.String namePrefix)
Description copied from interface:IScriptingInterface
Configures the frame output system, setting the resolution of the images, the target frames per second, the output folder and the image name prefix. This function sets the frame output mode to 'redraw'.- Specified by:
configureFrameOutput
in interfaceIScriptingInterface
- Parameters:
width
- Width of images.height
- Height of images.fps
- Target frames per second (number of images per second).folder
- The output folder path.namePrefix
- The file name prefix.
-
configureRenderOutput
public void configureRenderOutput(int width, int height, int fps, java.lang.String folder, java.lang.String namePrefix)
Description copied from interface:IScriptingInterface
Configures the frame output system, setting the resolution of the images, the target frames per second, the output folder and the image name prefix.- Specified by:
configureRenderOutput
in interfaceIScriptingInterface
- Parameters:
width
- Width of images.height
- Height of images.fps
- Target frames per second (number of images per second).folder
- The output folder path.namePrefix
- The file name prefix.
-
setFrameOutputMode
public void setFrameOutputMode(java.lang.String screenshotMode)
Description copied from interface:IScriptingInterface
Sets the frame output mode. Possible values are 'redraw' or 'simple'. Simple mode is faster and just outputs the last frame rendered to the Gaia Sky window, with the same resolution and containing the UI elements. Redraw mode redraws the last frame using the resolution configured usingIScriptingInterface.configureFrameOutput(int, int, int, String, String)
and it does not draw the UI elements.- Specified by:
setFrameOutputMode
in interfaceIScriptingInterface
- Parameters:
screenshotMode
- The screenshot mode. 'simple' or 'redraw'.
-
isFrameOutputActive
public boolean isFrameOutputActive()
Description copied from interface:IScriptingInterface
Is the frame output system on?- Specified by:
isFrameOutputActive
in interfaceIScriptingInterface
- Returns:
- True if the render output is active.
-
isRenderOutputActive
public boolean isRenderOutputActive()
Description copied from interface:IScriptingInterface
Is the frame output system on?- Specified by:
isRenderOutputActive
in interfaceIScriptingInterface
- Returns:
- True if the frame output is active.
-
getFrameOutputFps
public double getFrameOutputFps()
Description copied from interface:IScriptingInterface
Gets the current FPS setting in the frame output system.- Specified by:
getFrameOutputFps
in interfaceIScriptingInterface
- Returns:
- The FPS setting.
-
getRenderOutputFps
public double getRenderOutputFps()
Description copied from interface:IScriptingInterface
Gets the current FPS setting in the frame output system.- Specified by:
getRenderOutputFps
in interfaceIScriptingInterface
- Returns:
- The FPS setting.
-
setFrameOutput
public void setFrameOutput(boolean active)
Description copied from interface:IScriptingInterface
Activates or deactivates the image output system. If called with true, the system starts outputting images right away.- Specified by:
setFrameOutput
in interfaceIScriptingInterface
- Parameters:
active
- Whether to activate or deactivate the frame output system.
-
getObject
public SceneGraphNode getObject(java.lang.String name)
Description copied from interface:IScriptingInterface
Gets an object from the scene graph byname
or id (HIP, TYC, Gaia SourceId).- Specified by:
getObject
in interfaceIScriptingInterface
- Parameters:
name
- The name or id (HIP, TYC, Gaia SourceId) of the object.- Returns:
- The object as a
SceneGraphNode
, or null if it does not exist.
-
getObject
public SceneGraphNode getObject(java.lang.String name, double timeOutSeconds)
Description copied from interface:IScriptingInterface
Gets an object byname
or id (HIP, TYC, Gaia SourceID), optionally waiting until the object is available, with a timeout.- Specified by:
getObject
in interfaceIScriptingInterface
- Parameters:
name
- The name or id (HIP, TYC, Gaia SourceId) of the object.timeOutSeconds
- The timeout in seconds to wait until returning. If negative, it waits indefinitely.- Returns:
- The object if it exists, or null if it does not and block is false, or if block is true and the timeout has passed.
-
setObjectSizeScaling
public void setObjectSizeScaling(java.lang.String name, double scalingFactor)
Description copied from interface:IScriptingInterface
Sets the given size scaling factor to the object identified byname
. This method will only work with model objects such as planets, asteroids, satellites etc. It will not work with orbits, stars or any other types.Also, use this with caution, as scaling the size of objects can have unintended side effects, and remember to set the scaling back to 1.0 at the end of your script.
- Specified by:
setObjectSizeScaling
in interfaceIScriptingInterface
- Parameters:
name
- The name or id (HIP, TYC, sourceId) of the object.scalingFactor
- The scaling factor to scale the size of that object.
-
getObjectRadius
public double getObjectRadius(java.lang.String name)
Description copied from interface:IScriptingInterface
Gets the size of the object identified byname
, in Km, by name or id (HIP, TYC, sourceId).- Specified by:
getObjectRadius
in interfaceIScriptingInterface
- Parameters:
name
- The name or id (HIP, TYC, sourceId) of the object.- Returns:
- The radius of the object in Km. If the object identifed by name or id (HIP, TYC, sourceId). does not exist, it returns a negative value.
-
goToObject
public void goToObject(java.lang.String name)
Description copied from interface:IScriptingInterface
Runs a seamless trip to the object with the namefocusName
until the object view angle is20 degrees
.- Specified by:
goToObject
in interfaceIScriptingInterface
- Parameters:
name
- The name or id (HIP, TYC, sourceId) of the object.
-
goToObject
public void goToObject(java.lang.String name, double angle)
Description copied from interface:IScriptingInterface
Runs a seamless trip to the object with the namefocusName
until the object view angleviewAngle
is met. If angle is negative, the default angle is20 degrees
.- Specified by:
goToObject
in interfaceIScriptingInterface
- Parameters:
name
- The name or id (HIP, TYC, sourceId) of the object.angle
- The target view angle of the object, in degrees. The angle gets larger and larger as we approach the object.
-
goToObject
public void goToObject(java.lang.String name, double viewAngle, float waitTimeSeconds)
Description copied from interface:IScriptingInterface
Runs a seamless trip to the object with the namefocusName
until the object view angleviewAngle
is met. If angle is negative, the default angle is20 degrees
. IfwaitTimeSeconds
is positive, it indicates the number of seconds to wait (block the function) for the camera to face the focus before starting the forward movement. This very much depends on theturn velocity
of the camera. SeeIScriptingInterface.setTurningCameraSpeed(float)
.- Specified by:
goToObject
in interfaceIScriptingInterface
- Parameters:
name
- The name or id (HIP, TYC, sourceId) of the object.viewAngle
- The target view angle of the object, in degrees. The angle gets larger and larger as we approach the object.waitTimeSeconds
- The seconds to wait for the camera direction vector and the vector from the camera position to the target object to be aligned.
-
goToObject
public void goToObject(java.lang.String name, double viewAngle, int waitTimeSeconds)
-
goToObject
public void goToObject(java.lang.String name, long viewAngle, int waitTimeSeconds)
-
goToObject
public void goToObject(java.lang.String name, long viewAngle, float waitTimeSeconds)
-
goToObject
public void goToObject(java.lang.String name, double viewAngle, int waitTimeSeconds, java.util.concurrent.atomic.AtomicBoolean stop)
-
goToObject
public void goToObject(IFocus object, double viewAngle, int waitTimeSeconds, java.util.concurrent.atomic.AtomicBoolean stop)
-
goToObjectInstant
public void goToObjectInstant(java.lang.String name)
Description copied from interface:IScriptingInterface
Sets the camera in focus mode with the given focus object and instantly moves the camera next to the focus object.- Specified by:
goToObjectInstant
in interfaceIScriptingInterface
- Parameters:
name
- The name of the new focus object.
-
landOnObject
public void landOnObject(java.lang.String name)
Description copied from interface:IScriptingInterface
Lands on the object with the given name, if it is an instance ofPlanet
. The land location is determined by the line of sight from the current position of the camera to the object.- Specified by:
landOnObject
in interfaceIScriptingInterface
- Parameters:
name
- The proper name of the object.
-
landOnObjectLocation
public void landOnObjectLocation(java.lang.String name, java.lang.String locationName)
Description copied from interface:IScriptingInterface
Lands on the object with the givenname
, if it is an instance ofPlanet
, at the location with the given name, if it exists.- Specified by:
landOnObjectLocation
in interfaceIScriptingInterface
- Parameters:
name
- The proper name of the object.locationName
- The name of the location to land on
-
landOnObjectLocation
public void landOnObjectLocation(java.lang.String name, java.lang.String locationName, java.util.concurrent.atomic.AtomicBoolean stop)
-
landOnObjectLocation
public void landOnObjectLocation(IFocus object, java.lang.String locationName, java.util.concurrent.atomic.AtomicBoolean stop)
-
landOnObjectLocation
public void landOnObjectLocation(java.lang.String name, double longitude, double latitude)
Description copied from interface:IScriptingInterface
Lands on the object with the givenname
, if it is an instance ofPlanet
, at the location specified in by [latitude, longitude], in degrees.- Specified by:
landOnObjectLocation
in interfaceIScriptingInterface
- Parameters:
name
- The proper name of the object.longitude
- The location longitude, in degrees.latitude
- The location latitude, in degrees.
-
getDistanceTo
public double getDistanceTo(java.lang.String name)
Description copied from interface:IScriptingInterface
Returns the distance to the surface of the object identified with the givenname
. If the object is an abstract node or does not exist, it returns a negative distance.- Specified by:
getDistanceTo
in interfaceIScriptingInterface
- Parameters:
name
- The name or id (HIP, TYC, sourceId) of the object.- Returns:
- The distance to the object in km if it exists, a negative value otherwise.
-
getObjectPosition
public double[] getObjectPosition(java.lang.String name)
Description copied from interface:IScriptingInterface
Gets the current position of the object identified byname
in the internal coordinate system and internal units. If the object does not exist, it returns null- Specified by:
getObjectPosition
in interfaceIScriptingInterface
- Parameters:
name
- The name or id (HIP, TYC, sourceId) of the object.- Returns:
- A 3-vector with the object's position in the internal reference system.
-
setGuiScrollPosition
public void setGuiScrollPosition(float pixelY)
Description copied from interface:IScriptingInterface
Sets the vertical scroll position in the GUI.- Specified by:
setGuiScrollPosition
in interfaceIScriptingInterface
- Parameters:
pixelY
- The pixel to set the scroll position to.
-
setGuiScrollPosition
public void setGuiScrollPosition(int pixelY)
-
enableGui
public void enableGui()
Description copied from interface:IScriptingInterface
Enables the GUI rendering. This makes the user interface to be rendered and updated again if it was previously disabled. Otherwise, it has no effect.- Specified by:
enableGui
in interfaceIScriptingInterface
-
disableGui
public void disableGui()
Description copied from interface:IScriptingInterface
Disables the GUI rendering. This causes the user interface to no longer be rendered or updated.- Specified by:
disableGui
in interfaceIScriptingInterface
-
displayMessageObject
public void displayMessageObject(int id, java.lang.String message, float x, float y, float r, float g, float b, float a, float fontSize)
Description copied from interface:IScriptingInterface
Adds a new one-line message in the screen with the given id and the given coordinates. If an object already exists with the given id, it is removed. However, if a message object already exists with the same id, its properties are updated. The messages placed with this method will not appear in the screenshots/frames in advanced mode. This is intended for running interactively only.- Specified by:
displayMessageObject
in interfaceIScriptingInterface
- Parameters:
id
- A unique identifier, used to identify this message when you want to remove it.message
- The string message, to be displayed in one line. But explicit newline breaks the line.x
- The x coordinate of the bottom-left corner, in [0,1] from left to right. This is not resolution-dependant.y
- The y coordinate of the bottom-left corner, in [0,1] from bottom to top. This is not resolution-dependant.r
- The red component of the color in [0,1].g
- The green component of the color in [0,1].b
- The blue component of the color in [0,1].a
- The alpha component of the color in [0,1].fontSize
- The size of the font. The system will use the existing font closest to the chosen size and scale it up or down to match the desired size. Scaling can cause artifacts, so to ensure the best font quality, stick to the existing sizes.
-
displayMessageObject
public void displayMessageObject(int id, java.lang.String message, double x, double y, double[] color, double fontSize)
Description copied from interface:IScriptingInterface
Same asIScriptingInterface.displayImageObject(int, String, float, float, float, float, float, float)
but using an array for the color instead of giving each component separately.- Specified by:
displayMessageObject
in interfaceIScriptingInterface
- Parameters:
id
- A unique identifier, used to identify this message when you want to remove it.message
- The string message, to be displayed in one line. But explicit newline breaks the line.x
- The x coordinate of the bottom-left corner, in [0,1] from left to right. This is not resolution-dependant.y
- The y coordinate of the bottom-left corner, in [0,1] from bottom to top. This is not resolution-dependant.color
- The color as an array of {red, green, blue, alpha} where each element is in [0,1].fontSize
- The size of the font. The system will use the existing font closest to the chosen size and scale it up or down to match the desired size. Scaling can cause artifacts, so to ensure the best font quality, stick to the existing sizes.
-
displayMessageObject
public void displayMessageObject(int id, java.lang.String message, double x, double y, java.util.List color, double fontSize)
-
displayMessageObject
public void displayMessageObject(int id, java.lang.String message, float x, float y, float r, float g, float b, float a, int fontSize)
-
displayTextObject
public void displayTextObject(int id, java.lang.String text, float x, float y, float maxWidth, float maxHeight, float r, float g, float b, float a, float fontSize)
Description copied from interface:IScriptingInterface
Adds a new multi-line text in the screen with the given id, coordinates and size. If an object already exists with the given id, it is removed. However, if a text object already exists with the same id, its properties are updated. The texts placed with this method will not appear in the screenshots/frames in advanced mode. This is intended for running interactively only.- Specified by:
displayTextObject
in interfaceIScriptingInterface
- Parameters:
id
- A unique identifier, used to identify this message when you want to remove it.text
- The string message, to be displayed line-wrapped in the box defined by maxWidth and maxHeight. Explicit newline still breaks the line.x
- The x coordinate of the bottom-left corner, in [0,1] from left to right. This is not resolution-dependant.y
- The y coordinate of the bottom-left corner, in [0,1] from bottom to top. This is not resolution-dependant.maxWidth
- The maximum width in screen percentage [0,1]. Set to 0 to let the system decide.maxHeight
- The maximum height in screen percentage [0,1]. Set to 0 to let the system decide.r
- The red component of the color in [0,1].g
- The green component of the color in [0,1].b
- The blue component of the color in [0,1].a
- The alpha component of the color in [0,1].fontSize
- The size of the font. The system will use the existing font closest to the chosen size.
-
displayTextObject
public void displayTextObject(int id, java.lang.String text, float x, float y, float maxWidth, float maxHeight, float r, float g, float b, float a, int fontSize)
-
displayImageObject
public void displayImageObject(int id, java.lang.String path, float x, float y, float r, float g, float b, float a)
Description copied from interface:IScriptingInterface
Adds a new image object at the given coordinates. If an object already exists with the given id, it is removed. However, if an image object already exists with the same id, its properties are updated.
Warning: This method will only work in the asynchronous mode. Run the script with the "asynchronous" check box activated!- Specified by:
displayImageObject
in interfaceIScriptingInterface
- Parameters:
id
- A unique identifier, used to identify this message when you want to remove it.path
- The path to the image. It can either be an absolute path (not recommended) or a path relative to the Gaia Sky folder.x
- The x coordinate of the bottom-left corner, in [0,1] from left to right. This is not resolution-dependant.y
- The y coordinate of the bottom-left corner, in [0,1] from bottom to top. This is not resolution-dependant.r
- The red component of the color in [0,1].g
- The green component of the color in [0,1].b
- The blue component of the color in [0,1].a
- The alpha component of the color in [0,1].
-
displayImageObject
public void displayImageObject(int id, java.lang.String path, double x, double y, double[] color)
Description copied from interface:IScriptingInterface
Same asIScriptingInterface.displayImageObject(int, String, float, float, float, float, float, float)
but using a double array for the color instead of each component separately.- Specified by:
displayImageObject
in interfaceIScriptingInterface
- Parameters:
id
- A unique identifier, used to identify this message when you want to remove it.path
- The path to the image. It can either be an absolute path (not recommended) or a path relative to the Gaia Sky folder.x
- The x coordinate of the bottom-left corner, in [0,1] from left to right. This is not resolution-dependant.y
- The y coordinate of the bottom-left corner, in [0,1] from bottom to top. This is not resolution-dependant.color
- The color as an array of {red, green, blue, alpha} where each element is in [0,1].
-
displayImageObject
public void displayImageObject(int id, java.lang.String path, double x, double y, java.util.List color)
-
displayImageObject
public void displayImageObject(int id, java.lang.String path, float x, float y)
Description copied from interface:IScriptingInterface
Adds a new image object at the given coordinates. If an object already exists with the given id, it is removed. However, if an image object already exists with the same id, its properties are updated.
The messages placed with this method will not appear in the screenshots/frames in advanced mode. This is intended for running interactively only.- Specified by:
displayImageObject
in interfaceIScriptingInterface
- Parameters:
id
- A unique identifier, used to identify this message when you want to remove it.path
- The path to the image. It can either be an absolute path (not recommended) or a path relative to the Gaia Sandbox folder.x
- The x coordinate of the bottom-left corner, in [0,1] from left to right. This is not resolution-dependant.y
- The y coordinate of the bottom-left corner, in [0,1] from bottom to top. This is not resolution-dependant.
-
removeAllObjects
public void removeAllObjects()
Description copied from interface:IScriptingInterface
Removes all objects.- Specified by:
removeAllObjects
in interfaceIScriptingInterface
-
removeObject
public void removeObject(int id)
Description copied from interface:IScriptingInterface
Removes the item with the given id.- Specified by:
removeObject
in interfaceIScriptingInterface
- Parameters:
id
- Integer with the integer id of the object to remove.
-
removeObjects
public void removeObjects(int[] ids)
Description copied from interface:IScriptingInterface
Removes the items with the given ids. They can either messages, images or whatever else.- Specified by:
removeObjects
in interfaceIScriptingInterface
- Parameters:
ids
- Vector with the integer ids of the objects to remove
-
removeObjects
public void removeObjects(java.util.List ids)
-
maximizeInterfaceWindow
public void maximizeInterfaceWindow()
Description copied from interface:IScriptingInterface
Maximizes the interface window.- Specified by:
maximizeInterfaceWindow
in interfaceIScriptingInterface
-
minimizeInterfaceWindow
public void minimizeInterfaceWindow()
Description copied from interface:IScriptingInterface
Minimizes the interface window.- Specified by:
minimizeInterfaceWindow
in interfaceIScriptingInterface
-
setGuiPosition
public void setGuiPosition(float x, float y)
Description copied from interface:IScriptingInterface
Moves the interface window to a new position.- Specified by:
setGuiPosition
in interfaceIScriptingInterface
- Parameters:
x
- The new x coordinate of the new top-left corner of the window, in [0,1] from left to right.y
- The new y coordinate of the new top-left corner of the window, in [0,1] from bottom to top.
-
setGuiPosition
public void setGuiPosition(int x, int y)
-
setGuiPosition
public void setGuiPosition(float x, int y)
-
setGuiPosition
public void setGuiPosition(int x, float y)
-
waitForInput
public void waitForInput()
Description copied from interface:IScriptingInterface
Blocks the execution until any kind of input (keyboard, mouse, etc.) is received.- Specified by:
waitForInput
in interfaceIScriptingInterface
-
waitForEnter
public void waitForEnter()
Description copied from interface:IScriptingInterface
Blocks the execution until the Enter key is pressed.- Specified by:
waitForEnter
in interfaceIScriptingInterface
-
waitForInput
public void waitForInput(int keyCode)
Description copied from interface:IScriptingInterface
Blocks the execution until the given key or button is pressed.- Specified by:
waitForInput
in interfaceIScriptingInterface
- Parameters:
keyCode
- The key or button code. Please seeInput
.
-
getScreenWidth
public int getScreenWidth()
Description copied from interface:IScriptingInterface
Returns the screen width in pixels.- Specified by:
getScreenWidth
in interfaceIScriptingInterface
- Returns:
- The screen width in pixels.
-
getScreenHeight
public int getScreenHeight()
Description copied from interface:IScriptingInterface
Returns the screen height in pixels.- Specified by:
getScreenHeight
in interfaceIScriptingInterface
- Returns:
- The screen height in pixels.
-
getPositionAndSizeGui
public float[] getPositionAndSizeGui(java.lang.String name)
Description copied from interface:IScriptingInterface
Returns the size and position of the GUI element that goes by the given name or null if such element does not exist. Warning> This will only work in asynchronous mode.- Specified by:
getPositionAndSizeGui
in interfaceIScriptingInterface
- Parameters:
name
- The name of the gui element.- Returns:
- A vector of floats with the position (0, 1) of the bottom left corner in pixels from the bottom-left of the screen and the size (2, 3) in pixels of the element.
-
expandGuiComponent
public void expandGuiComponent(java.lang.String name)
Description copied from interface:IScriptingInterface
Expands the component with the given name.- Specified by:
expandGuiComponent
in interfaceIScriptingInterface
- Parameters:
name
- The name, as in `CameraComponent` or `ObjectsComponent`
-
collapseGuiComponent
public void collapseGuiComponent(java.lang.String name)
Description copied from interface:IScriptingInterface
Collapses the component with the given name.- Specified by:
collapseGuiComponent
in interfaceIScriptingInterface
- Parameters:
name
- The name, as in `CameraComponent` or `ObjectsComponent`
-
getVersionNumber
public java.lang.String getVersionNumber()
Description copied from interface:IScriptingInterface
Returns the version number string.- Specified by:
getVersionNumber
in interfaceIScriptingInterface
- Returns:
- The version number string.
-
waitFocus
public boolean waitFocus(java.lang.String name, long timeoutMs)
Description copied from interface:IScriptingInterface
Blocks the script until the focus is the object indicated by the name. There is an optional time out.- Specified by:
waitFocus
in interfaceIScriptingInterface
- Parameters:
name
- The name of the focus to wait for.timeoutMs
- Timeout in ms to wait. Set negative to disable timeout.- Returns:
- True if the timeout ran out. False otherwise.
-
setCameraRecorderFps
public void setCameraRecorderFps(double targetFps)
Description copied from interface:IScriptingInterface
Sets the target frame rate of the camera recorder. This will cap the frame rate of Gaia Sky to this value while the camera is recording. When playing the camera file back, you are responsible to set the right frame rate.- Specified by:
setCameraRecorderFps
in interfaceIScriptingInterface
- Parameters:
targetFps
- The target frame rate for the camera recorder.
-
preloadTexture
public void preloadTexture(java.lang.String path)
Description copied from interface:IScriptingInterface
Pre-loads the given image as a texture for later use. The texture will be cached for later use.- Specified by:
preloadTexture
in interfaceIScriptingInterface
- Parameters:
path
- The path of the image file to preload.
-
getAssetsLocation
public java.lang.String getAssetsLocation()
- Specified by:
getAssetsLocation
in interfaceIScriptingInterface
-
preloadTextures
public void preloadTextures(java.lang.String[] paths)
Description copied from interface:IScriptingInterface
Pre-loads the given images as textures for later use. They will be cached for the subsequent uses.- Specified by:
preloadTextures
in interfaceIScriptingInterface
- Parameters:
paths
- The texture paths.
-
startRecordingCameraPath
public void startRecordingCameraPath()
Description copied from interface:IScriptingInterface
Starts recording the camera path to an auto-generated file in the default camera folder. This command has no effect if the camera is already being recorded.- Specified by:
startRecordingCameraPath
in interfaceIScriptingInterface
-
startRecordingCameraPath
public void startRecordingCameraPath(java.lang.String fileName)
Description copied from interface:IScriptingInterface
Starts recording a camera path with the given filename. The filename is without extension or path. The final path with the camera file, after invokingIScriptingInterface.stopRecordingCameraPath()
, is:
IScriptingInterface.getDefaultCameraDir()
+ "/" + filename + ".gsc"
This command has no effect if the camera is already being recorded.- Specified by:
startRecordingCameraPath
in interfaceIScriptingInterface
-
stopRecordingCameraPath
public void stopRecordingCameraPath()
Description copied from interface:IScriptingInterface
Stops the current camera recording. This command has no effect if the camera was not being recorded.- Specified by:
stopRecordingCameraPath
in interfaceIScriptingInterface
-
playCameraPath
public void playCameraPath(java.lang.String file, boolean sync)
Description copied from interface:IScriptingInterface
- Specified by:
playCameraPath
in interfaceIScriptingInterface
-
runCameraPath
public void runCameraPath(java.lang.String file, boolean sync)
Description copied from interface:IScriptingInterface
Runs a .gsc camera path file and returns immediately. This function accepts a boolean indicating whether to wait for the camera path file to finish or not.- Specified by:
runCameraPath
in interfaceIScriptingInterface
- Parameters:
file
- The path to the camera file. Path is relative to the application's root directory or absolute.sync
- If true, the call is synchronous and waits for the camera file to finish. Otherwise, it returns immediately.
-
playCameraPath
public void playCameraPath(java.lang.String file)
Description copied from interface:IScriptingInterface
- Specified by:
playCameraPath
in interfaceIScriptingInterface
-
runCameraPath
public void runCameraPath(java.lang.String file)
Description copied from interface:IScriptingInterface
Runs a .gsc camera path file and returns immediately. This function does not wait for the camera file to finish playing.- Specified by:
runCameraPath
in interfaceIScriptingInterface
- Parameters:
file
- The path to the camera file. Path is relative to the application's root directory or absolute.
-
runCameraRecording
public void runCameraRecording(java.lang.String file)
Description copied from interface:IScriptingInterface
Runs the camera recording file with the given path. Does not wait for the camera file to finish playing.- Specified by:
runCameraRecording
in interfaceIScriptingInterface
- Parameters:
file
- The path of the camera file. Path is relative to the application's root directory or absolute.
-
cameraTransitionKm
public void cameraTransitionKm(double[] camPos, double[] camDir, double[] camUp, double seconds)
Description copied from interface:IScriptingInterface
Same asIScriptingInterface.cameraTransition(double[], double[], double[], double)
but the camera position is given in Km.- Specified by:
cameraTransitionKm
in interfaceIScriptingInterface
- Parameters:
camPos
- The target camera position in Km.camDir
- The target camera direction vector.camUp
- The target camera up vector.seconds
- The duration of the transition in seconds.
-
cameraTransitionKm
public void cameraTransitionKm(java.util.List camPos, java.util.List camDir, java.util.List camUp, double seconds)
-
cameraTransitionKm
public void cameraTransitionKm(java.util.List camPos, java.util.List camDir, java.util.List camUp, long seconds)
-
cameraTransition
public void cameraTransition(double[] camPos, double[] camDir, double[] camUp, double seconds)
Description copied from interface:IScriptingInterface
Creates a smooth transition from the current camera state to the given camera state {camPos, camDir, camUp} in the given number of seconds. This function waits for the transition to finish and then returns control to the script. This function will put the camera in free mode, so make sure to change it afterwards if you need to. Also, this only works with the natural camera.- Specified by:
cameraTransition
in interfaceIScriptingInterface
- Parameters:
camPos
- The target camera position in the internal reference system.camDir
- The target camera direction in the internal reference system.camUp
- The target camera up in the internal reference system.seconds
- The duration of the transition in seconds.
-
cameraTransition
public void cameraTransition(double[] camPos, double[] camDir, double[] camUp, long seconds)
-
cameraTransition
public void cameraTransition(java.util.List camPos, java.util.List camDir, java.util.List camUp, double seconds)
-
cameraTransition
public void cameraTransition(java.util.List camPos, java.util.List camDir, java.util.List camUp, long seconds)
-
cameraTransition
public void cameraTransition(double[] camPos, double[] camDir, double[] camUp, double seconds, boolean sync)
Description copied from interface:IScriptingInterface
Creates a smooth transition from the current camera state to the given camera state {camPos, camDir, camUp} in the given number of seconds. Optionally, the transition may be run synchronously or asynchronously to the current script. This function will put the camera in free mode, so make sure to change it afterwards if you need to. Also, this only works with the natural camera.- Specified by:
cameraTransition
in interfaceIScriptingInterface
- Parameters:
camPos
- The target camera position in the internal reference system.camDir
- The target camera direction in the internal reference system.camUp
- The target camera up in the internal reference system.seconds
- The duration of the transition in seconds.sync
- If true, the call waits for the transition to finish before returning, otherwise it returns immediately
-
cameraTransition
public void cameraTransition(java.util.List camPos, java.util.List camDir, java.util.List camUp, double seconds, boolean sync)
-
cameraTransition
public void cameraTransition(java.util.List camPos, java.util.List camDir, java.util.List camUp, long seconds, boolean sync)
-
sleep
public void sleep(float seconds)
Description copied from interface:IScriptingInterface
Sleeps for the given number of seconds in the application time (FPS), so if we are capturing frames and the frame rate is set to 30 FPS, the command sleep(1) will put the script to sleep for 30 frames.- Specified by:
sleep
in interfaceIScriptingInterface
- Parameters:
seconds
- The number of seconds to wait.
-
sleep
public void sleep(int seconds)
-
sleepFrames
public void sleepFrames(long frames)
Description copied from interface:IScriptingInterface
Sleeps for a number of frames. This is very useful for scripts which need to run alongside the frame output system.- Specified by:
sleepFrames
in interfaceIScriptingInterface
- Parameters:
frames
- The number of frames to wait.
-
galacticToInternalCartesian
public double[] galacticToInternalCartesian(double l, double b, double r)
Description copied from interface:IScriptingInterface
Converts galactic coordinates to the internal cartesian coordinate system.- Specified by:
galacticToInternalCartesian
in interfaceIScriptingInterface
- Parameters:
l
- The galactic longitude in degrees.b
- The galactic latitude in degrees.r
- The distance in Km.- Returns:
- An array of doubles containing
[x, y, z]
in the internal reference system, in internal units.
-
eclipticToInternalCartesian
public double[] eclipticToInternalCartesian(double l, double b, double r)
Description copied from interface:IScriptingInterface
Converts ecliptic coordinates to the internal cartesian coordinate system.- Specified by:
eclipticToInternalCartesian
in interfaceIScriptingInterface
- Parameters:
l
- The ecliptic longitude in degrees.b
- The ecliptic latitude in degrees.r
- The distance in Km.- Returns:
- An array of doubles containing
[x, y, z]
in the internal reference system, in internal units.
-
equatorialToInternalCartesian
public double[] equatorialToInternalCartesian(double ra, double dec, double r)
Description copied from interface:IScriptingInterface
Converts equatorial coordinates to the internal cartesian coordinate system.- Specified by:
equatorialToInternalCartesian
in interfaceIScriptingInterface
- Parameters:
ra
- The right ascension in degrees.dec
- The declination in degrees.r
- The distance in Km.- Returns:
- An array of doubles containing
[x, y, z]
in the internal reference system, in internal units.
-
internalCartesianToEquatorial
public double[] internalCartesianToEquatorial(double x, double y, double z)
Description copied from interface:IScriptingInterface
Converts internal cartesian coordinates to equatorial[ra, dec, distance]
coordinates.- Specified by:
internalCartesianToEquatorial
in interfaceIScriptingInterface
- Parameters:
x
- The x component, in any distance units.y
- The y component, in any distance units.z
- The z component, in any distance units.- Returns:
- An array of doubles containing
[ra, dec, distance]
withra
anddec
in degrees anddistance
in the same distance units as the input position.
-
equatorialCartesianToInternalCartesian
public double[] equatorialCartesianToInternalCartesian(double[] eq, double kmFactor)
Description copied from interface:IScriptingInterface
Converts regular cartesian coordinates, where XY is the equatorial plane, with X pointing to the vernal equinox (ra=0) and Y points to ra=90, and Z pointing to the celestial north pole (dec=90) to internal cartesian coordinates with internal units.- Specified by:
equatorialCartesianToInternalCartesian
in interfaceIScriptingInterface
- Parameters:
eq
- Equatorial cartesian coordinates (X->[ra=0,dec=0], Y->[ra=90,dec=0], Z->[ra=0,dec=90])kmFactor
- Factor used to bring the input coordinate units to Kilometers, so thateq * factor = Km
- Returns:
- Internal coordinates ready to be fed in other scripting functions
-
equatorialCartesianToInternalCartesian
public double[] equatorialCartesianToInternalCartesian(java.util.List eq, double kmFactor)
-
equatorialToGalactic
public double[] equatorialToGalactic(double[] eq)
Description copied from interface:IScriptingInterface
Converts equatorial cartesian coordinates (in the internal reference system) to galactic cartesian coordinates.- Specified by:
equatorialToGalactic
in interfaceIScriptingInterface
- Parameters:
eq
- Vector with [x, y, z] equatorial cartesian coordinates- Returns:
- Vector with [x, y, z] galactic cartesian coordinates
-
equatorialToGalactic
public double[] equatorialToGalactic(java.util.List eq)
-
equatorialToEcliptic
public double[] equatorialToEcliptic(double[] eq)
Description copied from interface:IScriptingInterface
Converts equatorial cartesian coordinates (in the internal reference system) to ecliptic cartesian coordinates.- Specified by:
equatorialToEcliptic
in interfaceIScriptingInterface
- Parameters:
eq
- Vector with [x, y, z] equatorial cartesian coordinates- Returns:
- Vector with [x, y, z] ecliptic cartesian coordinates
-
equatorialToEcliptic
public double[] equatorialToEcliptic(java.util.List eq)
-
galacticToEquatorial
public double[] galacticToEquatorial(double[] gal)
Description copied from interface:IScriptingInterface
Converts galactic cartesian coordinates (in the internal reference system) to equatorial cartesian coordinates.- Specified by:
galacticToEquatorial
in interfaceIScriptingInterface
- Parameters:
gal
- Vector with [x, y, z] galactic cartesian coordinates- Returns:
- Vector with [x, y, z] equatorial cartesian coordinates
-
galacticToEquatorial
public double[] galacticToEquatorial(java.util.List gal)
-
eclipticToEquatorial
public double[] eclipticToEquatorial(double[] ecl)
Description copied from interface:IScriptingInterface
Converts ecliptic cartesian coordinates (in the internal reference system) to equatorial cartesian coordinates.- Specified by:
eclipticToEquatorial
in interfaceIScriptingInterface
- Parameters:
ecl
- Vector with [x, y, z] ecliptic cartesian coordinates- Returns:
- Vector with [x, y, z] equatorial cartesian coordinates
-
eclipticToEquatorial
public double[] eclipticToEquatorial(java.util.List ecl)
-
setBrightnessLevel
public void setBrightnessLevel(double level)
Description copied from interface:IScriptingInterface
Sets the brightness level of the render system.- Specified by:
setBrightnessLevel
in interfaceIScriptingInterface
- Parameters:
level
- The brightness level as a double precision floating point number in [-1,1]. The neutral value is 0.0.
-
setBrightnessLevel
public void setBrightnessLevel(long level)
-
setContrastLevel
public void setContrastLevel(double level)
Description copied from interface:IScriptingInterface
Sets the contrast level of the render system.- Specified by:
setContrastLevel
in interfaceIScriptingInterface
- Parameters:
level
- The contrast level as a double precision floating point number in [0,2]. The neutral value is 1.0.
-
setContrastLevel
public void setContrastLevel(long level)
-
setHueLevel
public void setHueLevel(double level)
Description copied from interface:IScriptingInterface
Sets the hue level of the render system.- Specified by:
setHueLevel
in interfaceIScriptingInterface
- Parameters:
level
- The hue level as a double precision floating point number in [0,2]. The neutral value is 1.0.
-
setHueLevel
public void setHueLevel(long level)
-
setSaturationLevel
public void setSaturationLevel(double level)
Description copied from interface:IScriptingInterface
Sets the saturation level of the render system.- Specified by:
setSaturationLevel
in interfaceIScriptingInterface
- Parameters:
level
- The saturation level as a double precision floating point number in [0,2]. The neutral value is 1.0.
-
setSaturationLevel
public void setSaturationLevel(long level)
-
setGammaCorrectionLevel
public void setGammaCorrectionLevel(double level)
Description copied from interface:IScriptingInterface
Sets the gamma correction level.- Specified by:
setGammaCorrectionLevel
in interfaceIScriptingInterface
- Parameters:
level
- The gamma correction level in [0,3] as a floating point number. The neutral value is 1.2.
-
setGammaCorrectionLevel
public void setGammaCorrectionLevel(long level)
-
setHDRToneMappingType
public void setHDRToneMappingType(java.lang.String type)
Description copied from interface:IScriptingInterface
Sets the high dynamic range tone mapping algorithm type. The types can be:- "auto" - performs an automatic HDR tone mapping based on the current luminosity of the scene
- "exposure" - performs an exposure-based HDR tone mapping. The exposure value must be set with
IScriptingInterface.setExposureToneMappingLevel(double)
- "aces" - performs the ACES tone mapping
- "uncharted" - performs the tone mapping implemented in Uncharted
- "filmic" - performs a filmic tone mapping
- "none" - no HDR tone mapping
- Specified by:
setHDRToneMappingType
in interfaceIScriptingInterface
- Parameters:
type
- The HDR tone mapping type. One of ["auto"|"exposure"|"aces"|"uncharted"|"filmic"|"none"].
-
setExposureToneMappingLevel
public void setExposureToneMappingLevel(double level)
Description copied from interface:IScriptingInterface
Sets the exposure level.- Specified by:
setExposureToneMappingLevel
in interfaceIScriptingInterface
- Parameters:
level
- The exposure level in [0,n]. Set to 0 to disable exposure tone mapping.
-
setExposureToneMappingLevel
public void setExposureToneMappingLevel(long level)
-
setCubemapMode
public void setCubemapMode(boolean state, java.lang.String projection)
Description copied from interface:IScriptingInterface
Enables and disables the cubemap mode.- Specified by:
setCubemapMode
in interfaceIScriptingInterface
- Parameters:
state
- The boolean sate. True to activate, false to deactivate.
-
setPanoramaMode
public void setPanoramaMode(boolean state)
Description copied from interface:IScriptingInterface
Enables and disables the panorama mode.- Specified by:
setPanoramaMode
in interfaceIScriptingInterface
- Parameters:
state
- The boolean staet. True to activate, false to deactivate.
-
setPlanetariumMode
public void setPlanetariumMode(boolean state)
Description copied from interface:IScriptingInterface
Enables and disables the planetarium mode.- Specified by:
setPlanetariumMode
in interfaceIScriptingInterface
- Parameters:
state
- The boolean sate. True to activate, false to deactivate.
-
setCubemapResolution
public void setCubemapResolution(int resolution)
Description copied from interface:IScriptingInterface
Sets the resolution (width and height are the same) of each side of the frame buffers used to capture each of the 6 directions that go into the cubemap to construct the equirectangular image for the 360 mode. This should roughly be 1/3 of the output resolution at which the 360 mode are to be captured (or screen resolution).- Specified by:
setCubemapResolution
in interfaceIScriptingInterface
- Parameters:
resolution
- The resolution of each of the sides of the cubemap for the 360 mode.
-
setCubemapProjection
public void setCubemapProjection(java.lang.String projection)
Description copied from interface:IScriptingInterface
Sets the cubemap projection to use. Accepted values are "EQUIRECTANGULAR", "CYLINDRICAL" and "HAMMER". SeeCubemapProjections
for possible values.- Specified by:
setCubemapProjection
in interfaceIScriptingInterface
- Parameters:
projection
- The projection, in ["EQUIRECTANGULAR"|"CYLINDRICAL"|"HAMMER"].
-
setStereoscopicMode
public void setStereoscopicMode(boolean state)
Description copied from interface:IScriptingInterface
Enables and disables the stereoscopic mode.- Specified by:
setStereoscopicMode
in interfaceIScriptingInterface
- Parameters:
state
- The boolean sate. True to activate, false to deactivate.
-
setStereoscopicProfile
public void setStereoscopicProfile(int index)
Description copied from interface:IScriptingInterface
Changes the stereoscopic profile.- Specified by:
setStereoscopicProfile
in interfaceIScriptingInterface
- Parameters:
index
- The index of the new profile:- 0 - VR_HEADSET
- 1 - HD_3DTV
- 2 - CROSSEYE
- 3 - PARALLEL_VIEW
- 4 - ANAGLYPHIC (red-cyan)
-
getCurrentFrameNumber
public long getCurrentFrameNumber()
Description copied from interface:IScriptingInterface
Gets the current frame number. Useful for timing actions in scripts.- Specified by:
getCurrentFrameNumber
in interfaceIScriptingInterface
- Returns:
- The current frame number.
-
setLensFlare
public void setLensFlare(boolean state)
Description copied from interface:IScriptingInterface
Enables or deisables the lens flare effect.- Specified by:
setLensFlare
in interfaceIScriptingInterface
- Parameters:
state
- Activate (true) or deactivate (false).
-
setMotionBlur
public void setMotionBlur(boolean state)
Description copied from interface:IScriptingInterface
Enables or disables the motion blur effect.- Specified by:
setMotionBlur
in interfaceIScriptingInterface
- Parameters:
state
- Activate (true) or deactivate (false).
-
setStarGlow
public void setStarGlow(boolean state)
Description copied from interface:IScriptingInterface
Enables or disables the star glow effect.- Specified by:
setStarGlow
in interfaceIScriptingInterface
- Parameters:
state
- Activate (true) or deactivate (false).
-
setBloom
public void setBloom(float value)
Description copied from interface:IScriptingInterface
Sets the strength value for the bloom effect.- Specified by:
setBloom
in interfaceIScriptingInterface
- Parameters:
value
- Bloom strength between 0 and 100. Set to 0 to deactivate the bloom.
-
setBloom
public void setBloom(int level)
-
setSmoothLodTransitions
public void setSmoothLodTransitions(boolean value)
Description copied from interface:IScriptingInterface
Sets the value of smooth lod transitions, allowing or disallowing octant fade-ins of as they come into view.- Specified by:
setSmoothLodTransitions
in interfaceIScriptingInterface
- Parameters:
value
- Activate (true) or deactivate (false).
-
rotate3
public double[] rotate3(double[] vector, double[] axis, double angle)
Description copied from interface:IScriptingInterface
Rotates a 3D vector around the given axis by the specified angle in degrees. Vectors are arrays with 3 components. If more components are there, they are ignored.- Specified by:
rotate3
in interfaceIScriptingInterface
- Parameters:
vector
- Vector to rotate, with at least 3 components.axis
- The axis, with at least 3 components.angle
- Angle in degrees.- Returns:
- The new vector, rotated.
-
rotate3
public double[] rotate3(double[] vector, double[] axis, long angle)
-
rotate3
public double[] rotate3(java.util.List vector, java.util.List axis, double angle)
-
rotate3
public double[] rotate3(java.util.List vector, java.util.List axis, long angle)
-
rotate2
public double[] rotate2(double[] vector, double angle)
Description copied from interface:IScriptingInterface
Rotates a 2D vector by the specified angle in degrees, counter-clockwise assuming that the y axis points up.- Specified by:
rotate2
in interfaceIScriptingInterface
- Parameters:
vector
- Vector to rotate, with at least 2 components.- Returns:
- The new vector, rotated.
-
rotate2
public double[] rotate2(double[] vector, long angle)
-
rotate2
public double[] rotate2(java.util.List vector, double angle)
-
rotate2
public double[] rotate2(java.util.List vector, long angle)
-
cross3
public double[] cross3(double[] vec1, double[] vec2)
Description copied from interface:IScriptingInterface
Computes the cross product between the two 3D vectors.- Specified by:
cross3
in interfaceIScriptingInterface
- Parameters:
vec1
- First 3D vector.vec2
- Second 3D vector.- Returns:
- Cross product 3D vector.
-
cross3
public double[] cross3(java.util.List vec1, java.util.List vec2)
-
dot3
public double dot3(double[] vec1, double[] vec2)
Description copied from interface:IScriptingInterface
Computes the dot product between the two 3D vectors.- Specified by:
dot3
in interfaceIScriptingInterface
- Parameters:
vec1
- First 3D vector.vec2
- Second 3D vector.- Returns:
- The dot product scalar.
-
dot3
public double dot3(java.util.List vec1, java.util.List vec2)
-
addPolyline
public void addPolyline(java.lang.String name, double[] points, double[] color)
Description copied from interface:IScriptingInterface
Adds a new polyline with the given name, points and color. The polyline will be created with the 'Others' component type, so you need to enable the visibility of 'Others' in order to see it. The default primitive of GL_LINE_STRIP is used.- Specified by:
addPolyline
in interfaceIScriptingInterface
- Parameters:
name
- The name to identify the polyline, to possibly remove it later.points
- The points of the polyline. It is an array containing all the points as in [x0, y0, z0, x1, y1, z1, ..., xn, yn, zn].color
- The color of the polyline as an array of {red, green, blue, alpha}, where each element is in [0,1].
-
addPolyline
public void addPolyline(java.lang.String name, java.util.List points, java.util.List color)
-
addPolyline
public void addPolyline(java.lang.String name, double[] points, double[] color, double lineWidth)
Description copied from interface:IScriptingInterface
Adds a new polyline with the given name, points, color and line width. The polyline will be created with the 'Others' component type, so you need to enable the visibility of 'Others' in order to see it. The default primitive type of GL_LINE_STRIP is used.- Specified by:
addPolyline
in interfaceIScriptingInterface
- Parameters:
name
- The name to identify the polyline, to possibly remove it later.points
- The points of the polyline. It is an array containing all the points as in [x0, y0, z0, x1, y1, z1, ..., xn, yn, zn].color
- The color of the polyline as an array of {red, green, blue, alpha}, where each element is in [0,1].lineWidth
- The line width. Usually a value between 1 (default) and 10.
-
addPolyline
public void addPolyline(java.lang.String name, double[] points, double[] color, double lineWidth, int primitive)
Description copied from interface:IScriptingInterface
Adds a new polyline with the given name, points, color, line width and primitive. The polyline will be created with the 'Others' component type, so you need to enable the visibility of 'Others' in order to see it.- Specified by:
addPolyline
in interfaceIScriptingInterface
- Parameters:
name
- The name to identify the polyline, to possibly remove it later.points
- The points of the polyline. It is an array containing all the points as in [x0, y0, z0, x1, y1, z1, ..., xn, yn, zn].color
- The color of the polyline as an array of {red, green, blue, alpha}, where each element is in [0,1].lineWidth
- The line width. Usually a value between 1 (default) and 10.primitive
- The GL primitive: GL_LINES=1, GL_LINE_LOOP=2, GL_LINE_STRIP=3
-
addPolyline
public void addPolyline(java.lang.String name, double[] points, double[] color, int lineWidth)
-
addPolyline
public void addPolyline(java.lang.String name, double[] points, double[] color, int lineWidth, int primitive)
-
addPolyline
public void addPolyline(java.lang.String name, java.util.List points, java.util.List color, float lineWidth)
-
addPolyline
public void addPolyline(java.lang.String name, java.util.List points, java.util.List color, float lineWidth, int primitive)
-
addPolyline
public void addPolyline(java.lang.String name, java.util.List points, java.util.List color, int lineWidth)
-
addPolyline
public void addPolyline(java.lang.String name, java.util.List points, java.util.List color, int lineWidth, int primitive)
-
removeModelObject
public void removeModelObject(java.lang.String name)
Description copied from interface:IScriptingInterface
Removes the model object identified by the given name from the internal scene graph model of Gaia Sky, if it exists. If the object has children, they are removed recursively. Be careful with this function, as it can have unexpected side effects depending on what objects are removed. For example,
gs.removeModelObject("Earth")
removes the Earth, the Moon, Gaia and any dependent object from Gaia Sky.
- Specified by:
removeModelObject
in interfaceIScriptingInterface
- Parameters:
name
- The name of the object to remove.
-
postRunnable
public void postRunnable(java.lang.Runnable runnable)
Description copied from interface:IScriptingInterface
Posts aRunnable
to the main loop thread. The runnable runs only once. This will execute the runnable right after the current update-render cycle has finished.- Specified by:
postRunnable
in interfaceIScriptingInterface
- Parameters:
runnable
- The runnable to run.
-
parkRunnable
public void parkRunnable(java.lang.String id, java.lang.Runnable runnable)
Description copied from interface:IScriptingInterface
Parks aRunnable
to the main loop thread, and keeps it running every frame until it finishes or it is unparked byIScriptingInterface.unparkRunnable(String)
. Be careful with this function, as it probably needs a cleanup before the script is finished. Otherwise, all parked runnables will keep running until Gaia Sky is restarted, so make sure to remove them withIScriptingInterface.unparkRunnable(String)
if needed.- Specified by:
parkRunnable
in interfaceIScriptingInterface
- Parameters:
id
- The string id to identify the runnable.runnable
- The runnable to park.
-
unparkRunnable
public void unparkRunnable(java.lang.String id)
Description copied from interface:IScriptingInterface
Removes the runnable with the given id, if any.- Specified by:
unparkRunnable
in interfaceIScriptingInterface
- Parameters:
id
- The id of the runnable to remove.
-
setCameraState
public void setCameraState(double[] pos, double[] dir, double[] up)
Description copied from interface:IScriptingInterface
Sets the camera state (position, direction and up vector).- Specified by:
setCameraState
in interfaceIScriptingInterface
- Parameters:
pos
- The position of the camera in internal units, not Km.dir
- The direction of the camera.up
- The up vector of the camera.
-
setCameraState
public void setCameraState(java.util.List pos, java.util.List dir, java.util.List up)
-
setCameraStateAndTime
public void setCameraStateAndTime(double[] pos, double[] dir, double[] up, long time)
Description copied from interface:IScriptingInterface
Sets the camera state (position, direction and up vector) plus the current time.- Specified by:
setCameraStateAndTime
in interfaceIScriptingInterface
- Parameters:
pos
- The position of the camera in internal units, not Km.dir
- The direction of the camera.up
- The up vector of the camera.time
- The new time of the camera as the number of milliseconds since the epoch (Jan 1, 1970).
-
setCameraStateAndTime
public void setCameraStateAndTime(java.util.List pos, java.util.List dir, java.util.List up, long time)
-
resetImageSequenceNumber
public void resetImageSequenceNumber()
Description copied from interface:IScriptingInterface
Resets to zero the image sequence number used to generate the file names of the frame output images.- Specified by:
resetImageSequenceNumber
in interfaceIScriptingInterface
-
loadDataset
public boolean loadDataset(java.lang.String dsName, java.lang.String absolutePath)
Description copied from interface:IScriptingInterface
Loads a VOTable file (.vot
) of stars with a given name. In this version, the loading happens synchronously, so the catalog is available to Gaia Sky immediately after this call returns. The actual loading process is carried out making educated guesses about semantics using UCDs and column names. Please check the official documentation for a complete reference on what can and what can't be loaded.- Specified by:
loadDataset
in interfaceIScriptingInterface
- Parameters:
dsName
- The name of the dataset, used to identify the subsequent operations on the dataset.absolutePath
- Absolute path (or relative to the working path of Gaia Sky) to the.vot
file to load.- Returns:
- False if the dataset could not be loaded, true otherwise.
-
loadDataset
public boolean loadDataset(java.lang.String dsName, java.lang.String path, boolean sync)
Description copied from interface:IScriptingInterface
Loads a VOTable file (.vot
) of stars with a given name. The call can be made synchronous or asynchronous.
Ifsync
is true, the call acts exactly likeIScriptingInterface.loadDataset(String, String)
.
Ifsync
is false, the loading happens in a new thread and the call returns immediately. In this case, you can useIScriptingInterface.hasDataset(String)
to check whether the dataset is already loaded and available. The actual loading process is carried out making educated guesses about semantics using UCDs and column names. Please check the official documentation for a complete reference on what can and what can't be loaded.- Specified by:
loadDataset
in interfaceIScriptingInterface
- Parameters:
dsName
- The name of the dataset, used to identify the subsequent operations on the dataset.path
- Absolute path (or relative to the working path of Gaia Sky) to the.vot
file to load.sync
- Whether the load must happen synchronously or asynchronously.- Returns:
- False if the dataset could not be loaded (sync mode). True if it could not be loaded (sync mode), or
sync
is false.
-
loadDataset
public boolean loadDataset(java.lang.String dsName, java.lang.String path, CatalogInfo.CatalogInfoType type, boolean sync)
-
loadDataset
public boolean loadDataset(java.lang.String dsName, java.lang.String path, CatalogInfo.CatalogInfoType type, DatasetOptions dops, boolean sync)
-
loadDataset
public boolean loadDataset(java.lang.String dsName, uk.ac.starlink.util.DataSource ds, CatalogInfo.CatalogInfoType type, DatasetOptions dops, boolean sync)
-
loadStarDataset
public boolean loadStarDataset(java.lang.String dsName, java.lang.String path, double magnitudeScale, double[] labelColor, double[] fadeIn, double[] fadeOut, boolean sync)
Description copied from interface:IScriptingInterface
Loads a star dataset from a VOTable file (.vot
). The call can be made synchronous or asynchronous.
Ifsync
is true, the call waits until the dataset is loaded and then returns. Ifsync
is false, the loading happens in a new thread and the call returns immediately. It includes some parameters to apply to the new star group.- Specified by:
loadStarDataset
in interfaceIScriptingInterface
- Parameters:
dsName
- The name of the dataset.path
- Absolute path (or relative to the working path of Gaia Sky) to the.vot
file to load.magnitudeScale
- Scaling additive factor to apply to the star magnitudes, as inappmag = appmag - magnitudeScale
.labelColor
- The color of the labels, as an array of {red, green, blue, alpha} where each element is in [0,1].fadeIn
- Two values which represent the fade in mapping distances (in parsecs, as distance from camera to the Sun) of this dataset.fadeOut
- Two values which represent the fade out mapping distances (in parsecs, as distance from camera to the Sun) of this dataset.sync
- Whether the load must happen synchronously or asynchronously.- Returns:
- False if the dataset could not be loaded (sync mode). True if it could not be loaded (sync mode), or
sync
is false.
-
loadStarDataset
public boolean loadStarDataset(java.lang.String dsName, java.lang.String path, double magnitudeScale, java.util.List labelColor, java.util.List fadeIn, java.util.List fadeOut, boolean sync)
-
loadStarDataset
public boolean loadStarDataset(java.lang.String dsName, java.lang.String path, CatalogInfo.CatalogInfoType type, double magnitudeScale, double[] labelColor, double[] fadeIn, double[] fadeOut, boolean sync)
-
loadParticleDataset
public boolean loadParticleDataset(java.lang.String dsName, java.lang.String path, double profileDecay, double[] particleColor, double colorNoise, double[] labelColor, double particleSize, java.lang.String ct, double[] fadeIn, double[] fadeOut, boolean sync)
Description copied from interface:IScriptingInterface
Loads a particle dataset (only positions and extra attributes) from a VOTable file (.vot
). The call can be made synchronous or asynchronous.
Ifsync
is true, the call waits until the dataset is loaded and then returns. Ifsync
is false, the loading happens in a new thread and the call returns immediately. It includes some parameters to apply to the new star group.- Specified by:
loadParticleDataset
in interfaceIScriptingInterface
- Parameters:
dsName
- The name of the dataset.path
- Absolute path (or relative to the working path of Gaia Sky) to the.vot
file to load.profileDecay
- The profile decay of the particles as in 1 - distCentre^decay.particleColor
- The base color of the particles, as an array of {red, green, blue, alpha} where each element is in [0,1].colorNoise
- In [0,1], the noise to apply to the color so that each particle gets a slightly different tone. Set to 0 so that all particles get the same color.labelColor
- The color of the labels, as an array of {red, green, blue, alpha} where each element is in [0,1].particleSize
- The size of the particles in pixels.ct
- The name of the component type to use (seeComponentTypes.ComponentType
).fadeIn
- Two values which represent the fade in mapping distances (in parsecs, as distance from camera to the Sun) of this dataset.fadeOut
- Two values which represent the fade out mapping distances (in parsecs, as distance from camera to the Sun) of this dataset.sync
- Whether the load must happen synchronously or asynchronously.- Returns:
- False if the dataset could not be loaded (sync mode). True if it could not be loaded (sync mode), or
sync
is false.
-
loadParticleDataset
public boolean loadParticleDataset(java.lang.String dsName, java.lang.String path, double profileDecay, double[] particleColor, double colorNoise, double[] labelColor, double particleSize, double[] sizeLimits, java.lang.String ct, double[] fadeIn, double[] fadeOut, boolean sync)
Description copied from interface:IScriptingInterface
Loads a particle dataset (only positions and extra attributes) from a VOTable file (.vot
). The call can be made synchronous or asynchronous.
Ifsync
is true, the call waits until the dataset is loaded and then returns. Ifsync
is false, the loading happens in a new thread and the call returns immediately. It includes some parameters to apply to the new star group.- Specified by:
loadParticleDataset
in interfaceIScriptingInterface
- Parameters:
dsName
- The name of the dataset.path
- Absolute path (or relative to the working path of Gaia Sky) to the.vot
file to load.profileDecay
- The profile decay of the particles as in 1 - distCentre^decay.particleColor
- The base color of the particles, as an array of {red, green, blue, alpha} where each element is in [0,1].colorNoise
- In [0,1], the noise to apply to the color so that each particle gets a slightly different tone. Set to 0 so that all particles get the same color.labelColor
- The color of the labels, as an array of {red, green, blue, alpha} where each element is in [0,1].particleSize
- The size of the particles in pixels.sizeLimits
- The minimum and maximum size of the particles in pixels.ct
- The name of the component type to use (seeComponentTypes.ComponentType
).fadeIn
- Two values which represent the fade in mapping distances (in parsecs, as distance from camera to the Sun) of this dataset.fadeOut
- Two values which represent the fade out mapping distances (in parsecs, as distance from camera to the Sun) of this dataset.sync
- Whether the load must happen synchronously or asynchronously.- Returns:
- False if the dataset could not be loaded (sync mode). True if it could not be loaded (sync mode), or
sync
is false.
-
loadParticleDataset
public boolean loadParticleDataset(java.lang.String dsName, java.lang.String path, double profileDecay, java.util.List particleColor, double colorNoise, java.util.List labelColor, double particleSize, java.lang.String ct, java.util.List fadeIn, java.util.List fadeOut, boolean sync)
-
loadParticleDataset
public boolean loadParticleDataset(java.lang.String dsName, java.lang.String path, double profileDecay, double[] particleColor, double colorNoise, double[] labelColor, double particleSize, double[] sizeLimits, ComponentTypes.ComponentType ct, double[] fadeIn, double[] fadeOut, boolean sync)
-
loadParticleDataset
public boolean loadParticleDataset(java.lang.String dsName, java.lang.String path, CatalogInfo.CatalogInfoType type, double profileDecay, double[] particleColor, double colorNoise, double[] labelColor, double particleSize, double[] sizeLimits, ComponentTypes.ComponentType ct, double[] fadeIn, double[] fadeOut, boolean sync)
-
loadStarClusterDataset
public boolean loadStarClusterDataset(java.lang.String dsName, java.lang.String path, double[] particleColor, double[] fadeIn, double[] fadeOut, boolean sync)
Description copied from interface:IScriptingInterface
Loads a star cluster dataset from a CSV file. The file needs the columns with the following names: name, ra, dec, dist, pmra, pmdec, radius, radvel. Uses the same color for clusters and labels. The call can be made synchronous or asynchronous. Ifsync
is true, the call waits until the dataset is loaded and then returns. Ifsync
is false, the loading happens in a new thread and the call returns immediately. It includes some parameters to apply to the new star group.- Specified by:
loadStarClusterDataset
in interfaceIScriptingInterface
- Parameters:
dsName
- The name of the dataset.path
- Absolute path (or relative to the working path of Gaia Sky) to the.vot
file to load.particleColor
- The base color of the particles and labels, as an array of {red, green, blue, alpha} where each element is in [0,1].fadeIn
- Two values which represent the fade in mapping distances (in parsecs, as distance from camera to the Sun) of this dataset.fadeOut
- Two values which represent the fade out mapping distances (in parsecs, as distance from camera to the Sun) of this dataset.sync
- Whether the load must happen synchronously or asynchronously.- Returns:
- False if the dataset could not be loaded (sync mode). True if it could not be loaded (sync mode), or
sync
is false.
-
loadStarClusterDataset
public boolean loadStarClusterDataset(java.lang.String dsName, java.lang.String path, java.util.List particleColor, java.util.List fadeIn, java.util.List fadeOut, boolean sync)
-
loadStarClusterDataset
public boolean loadStarClusterDataset(java.lang.String dsName, java.lang.String path, double[] particleColor, double[] labelColor, double[] fadeIn, double[] fadeOut, boolean sync)
Description copied from interface:IScriptingInterface
Loads a star cluster dataset from a CSV file. The file needs the columns with the following names: name, ra, dec, dist, pmra, pmdec, radius, radvel. The call can be made synchronous or asynchronous. Ifsync
is true, the call waits until the dataset is loaded and then returns. Ifsync
is false, the loading happens in a new thread and the call returns immediately. It includes some parameters to apply to the new star group.- Specified by:
loadStarClusterDataset
in interfaceIScriptingInterface
- Parameters:
dsName
- The name of the dataset.path
- Absolute path (or relative to the working path of Gaia Sky) to the.vot
file to load.particleColor
- The base color of the particles, as an array of {red, green, blue, alpha} where each element is in [0,1].labelColor
- The color of the labels, as an array of {red, green, blue, alpha} where each element is in [0,1].fadeIn
- Two values which represent the fade in mapping distances (in parsecs, as distance from camera to the Sun) of this dataset.fadeOut
- Two values which represent the fade out mapping distances (in parsecs, as distance from camera to the Sun) of this dataset.sync
- Whether the load must happen synchronously or asynchronously.- Returns:
- False if the dataset could not be loaded (sync mode). True if it could not be loaded (sync mode), or
sync
is false.
-
loadStarClusterDataset
public boolean loadStarClusterDataset(java.lang.String dsName, java.lang.String path, java.util.List particleColor, java.util.List labelColor, java.util.List fadeIn, java.util.List fadeOut, boolean sync)
-
loadStarClusterDataset
public boolean loadStarClusterDataset(java.lang.String dsName, java.lang.String path, double[] particleColor, java.lang.String ct, double[] fadeIn, double[] fadeOut, boolean sync)
Description copied from interface:IScriptingInterface
Loads a star cluster dataset from a CSV file. The file needs the columns with the following names: name, ra, dec, dist, pmra, pmdec, radius, radvel. Uses the same color for clusters and labels. The call can be made synchronous or asynchronous. Ifsync
is true, the call waits until the dataset is loaded and then returns. Ifsync
is false, the loading happens in a new thread and the call returns immediately. It includes some parameters to apply to the new star group.- Specified by:
loadStarClusterDataset
in interfaceIScriptingInterface
- Parameters:
dsName
- The name of the dataset.path
- Absolute path (or relative to the working path of Gaia Sky) to the.vot
file to load.particleColor
- The base color of the particles and labels, as an array of {red, green, blue, alpha} where each element is in [0,1].ct
- The name of the component type to use (seeComponentTypes.ComponentType
).fadeIn
- Two values which represent the fade in mapping distances (in parsecs, as distance from camera to the Sun) of this dataset.fadeOut
- Two values which represent the fade out mapping distances (in parsecs, as distance from camera to the Sun) of this dataset.sync
- Whether the load must happen synchronously or asynchronously.- Returns:
- False if the dataset could not be loaded (sync mode). True if it could not be loaded (sync mode), or
sync
is false.
-
loadStarClusterDataset
public boolean loadStarClusterDataset(java.lang.String dsName, java.lang.String path, java.util.List particleColor, java.lang.String ct, java.util.List fadeIn, java.util.List fadeOut, boolean sync)
-
loadStarClusterDataset
public boolean loadStarClusterDataset(java.lang.String dsName, java.lang.String path, double[] particleColor, double[] labelColor, java.lang.String ct, double[] fadeIn, double[] fadeOut, boolean sync)
Description copied from interface:IScriptingInterface
Loads a star cluster dataset from a CSV file. The file needs the columns with the following names: name, ra, dec, dist, pmra, pmdec, radius, radvel. The call can be made synchronous or asynchronous. Ifsync
is true, the call waits until the dataset is loaded and then returns. Ifsync
is false, the loading happens in a new thread and the call returns immediately. It includes some parameters to apply to the new star group.- Specified by:
loadStarClusterDataset
in interfaceIScriptingInterface
- Parameters:
dsName
- The name of the dataset.path
- Absolute path (or relative to the working path of Gaia Sky) to the.vot
file to load.particleColor
- The base color of the particles and labels, as an array of {red, green, blue, alpha} where each element is in [0,1].labelColor
- The color of the labels, as an array of {red, green, blue, alpha} where each element is in [0,1].ct
- The name of the component type to use (seeComponentTypes.ComponentType
).fadeIn
- Two values which represent the fade in mapping distances (in parsecs, as distance from camera to the Sun) of this dataset.fadeOut
- Two values which represent the fade out mapping distances (in parsecs, as distance from camera to the Sun) of this dataset.sync
- Whether the load must happen synchronously or asynchronously.- Returns:
- False if the dataset could not be loaded (sync mode). True if it could not be loaded (sync mode), or
sync
is false.
-
loadStarClusterDataset
public boolean loadStarClusterDataset(java.lang.String dsName, java.lang.String path, java.util.List particleColor, java.util.List labelColor, java.lang.String ct, java.util.List fadeIn, java.util.List fadeOut, boolean sync)
-
hasDataset
public boolean hasDataset(java.lang.String dsName)
Description copied from interface:IScriptingInterface
Checks whether the dataset identified by the given name is loaded- Specified by:
hasDataset
in interfaceIScriptingInterface
- Parameters:
dsName
- The name of the dataset to query.- Returns:
- True if the dataset is loaded, false otherwise.
-
removeDataset
public boolean removeDataset(java.lang.String dsName)
Description copied from interface:IScriptingInterface
Removes the dataset identified by the given name, if it exists.- Specified by:
removeDataset
in interfaceIScriptingInterface
- Parameters:
dsName
- The name of the dataset to remove.- Returns:
- False if the dataset could not be found.
-
hideDataset
public boolean hideDataset(java.lang.String dsName)
Description copied from interface:IScriptingInterface
Hides the dataset identified by the given name, if it exists and is not hidden.- Specified by:
hideDataset
in interfaceIScriptingInterface
- Parameters:
dsName
- The name of the dataset to hide.- Returns:
- False if the dataset could not be found.
-
showDataset
public boolean showDataset(java.lang.String dsName)
Description copied from interface:IScriptingInterface
Shows (un-hides) the dataset identified by the given name, if it exists and is hidden- Specified by:
showDataset
in interfaceIScriptingInterface
- Parameters:
dsName
- The name of the dataset to show.- Returns:
- False if the dataset could not be found.
-
highlightDataset
public boolean highlightDataset(java.lang.String dsName, boolean highlight)
Description copied from interface:IScriptingInterface
Enables or disables the dataset highlight using a plain color chosen by the system.- Specified by:
highlightDataset
in interfaceIScriptingInterface
- Parameters:
dsName
- The dataset name.highlight
- State.- Returns:
- False if the dataset could not be found.
-
highlightDataset
public boolean highlightDataset(java.lang.String dsName, int colorIndex, boolean highlight)
Description copied from interface:IScriptingInterface
Enables or disables the dataset highlight, using a plain color given by the color index:- 0 - blue
- 1 - red
- 2 - yellow
- 3 - green
- 4 - pink
- 5 - orange
- 6 - purple
- 7 - brown
- 8 - magenta
- Specified by:
highlightDataset
in interfaceIScriptingInterface
- Parameters:
dsName
- The dataset name.colorIndex
- Color index in [0,8].highlight
- Whether to highlight or not.- Returns:
- False if the dataset could not be found.
-
highlightDataset
public boolean highlightDataset(java.lang.String dsName, float r, float g, float b, float a, boolean highlight)
Description copied from interface:IScriptingInterface
Enables or disables the dataset highlight, using a given plain color.- Specified by:
highlightDataset
in interfaceIScriptingInterface
- Parameters:
dsName
- The dataset name.r
- Red component.highlight
- State.- Returns:
- False if the dataset could not be found.
-
highlightDataset
public boolean highlightDataset(java.lang.String dsName, java.lang.String attributeName, java.lang.String colorMap, double minMap, double maxMap, boolean highlight)
Description copied from interface:IScriptingInterface
Enables or disables the dataset highlight, using the given color map on the given attribute with the given maximum and minimum mapping values.- Specified by:
highlightDataset
in interfaceIScriptingInterface
- Parameters:
dsName
- The dataset name.attributeName
- The attribute name. You can use basic attributes (please mind the case!):- RA
- DEC
- Distance
- GalLatitude
- GalLongitude
- EclLatitude
- EclLongitude
- Mualpha
- Mudelta
- Radvel
- Absmag
- Appmag
colorMap
- The color map to use, in ["reds"|"greens"|"blues"|"rainbow18"|"rainbow"|"seismic"|"carnation"|"hotmeal"|"cool"].minMap
- The minimum mapping value.maxMap
- The maximum mapping value.highlight
- State.- Returns:
- False if the dataset could not be found.
-
setDatasetHighlightSizeFactor
public boolean setDatasetHighlightSizeFactor(java.lang.String dsName, float sizeFactor)
Description copied from interface:IScriptingInterface
Sets the size increase factor of this dataset when highlighted.- Specified by:
setDatasetHighlightSizeFactor
in interfaceIScriptingInterface
- Parameters:
dsName
- The dataset name.sizeFactor
- The size factor to apply to the particles when highlighted, must be in [Constants.MIN_DATASET_SIZE_FACTOR
,Constants.MAX_DATASET_SIZE_FACTOR
].- Returns:
- False if the dataset could not be found.
-
getMeterToInternalUnitConversion
public double getMeterToInternalUnitConversion()
Description copied from interface:IScriptingInterface
Returns the meter to internal unit conversion factor. Use this factor to multiply your coordinates in meters to get them in internal units.- Specified by:
getMeterToInternalUnitConversion
in interfaceIScriptingInterface
- Returns:
- The factor M_TO_U.
-
getInternalUnitToMeterConversion
public double getInternalUnitToMeterConversion()
Description copied from interface:IScriptingInterface
Returns the internal unit to meter conversion factor. Use this factor to multiply your coordinates in internal units to get them in meters.- Specified by:
getInternalUnitToMeterConversion
in interfaceIScriptingInterface
- Returns:
- The factor U_TO_M.
-
internalUnitsToMetres
public double internalUnitsToMetres(double internalUnits)
Description copied from interface:IScriptingInterface
Converts the value in internal units to metres.- Specified by:
internalUnitsToMetres
in interfaceIScriptingInterface
- Parameters:
internalUnits
- The value in internal units.- Returns:
- The value in metres.
-
internalUnitsToKilometres
public double internalUnitsToKilometres(double internalUnits)
Description copied from interface:IScriptingInterface
Converts the value in internal units to Kilometers.- Specified by:
internalUnitsToKilometres
in interfaceIScriptingInterface
- Parameters:
internalUnits
- The value in internal units.- Returns:
- The value in Kilometers.
-
internalUnitsToKilometres
public double[] internalUnitsToKilometres(double[] internalUnits)
Description copied from interface:IScriptingInterface
Converts the array in internal units to Kilometers.- Specified by:
internalUnitsToKilometres
in interfaceIScriptingInterface
- Parameters:
internalUnits
- The array in internal units.- Returns:
- The array in Kilometers.
-
internalUnitsToKilometres
public double[] internalUnitsToKilometres(java.util.List internalUnits)
-
metresToInternalUnits
public double metresToInternalUnits(double metres)
Description copied from interface:IScriptingInterface
Converts the metres to internal units.- Specified by:
metresToInternalUnits
in interfaceIScriptingInterface
- Parameters:
metres
- The value in metres.- Returns:
- The value in internal units.
-
kilometrestointernalunits
public double kilometrestointernalunits(double kilometres)
Description copied from interface:IScriptingInterface
Converts the kilometres to internal units.- Specified by:
kilometrestointernalunits
in interfaceIScriptingInterface
- Parameters:
kilometres
- The value in kilometers.- Returns:
- The value in internal units.
-
listDatasets
public java.util.List<java.lang.String> listDatasets()
Description copied from interface:IScriptingInterface
Returns the names of all datasets currently loaded.- Specified by:
listDatasets
in interfaceIScriptingInterface
- Returns:
- A list with all the names of the loaded datasets.
-
getFrameNumber
public long getFrameNumber()
Description copied from interface:IScriptingInterface
Gets the current frame number. The number begins at 0 for the first frame produced when Gaia Sky is started and increases continuously.- Specified by:
getFrameNumber
in interfaceIScriptingInterface
- Returns:
- The current frame number.
-
getDefaultFramesDir
public java.lang.String getDefaultFramesDir()
Description copied from interface:IScriptingInterface
Gets the absolute path of the default directory where the still frames are saved.- Specified by:
getDefaultFramesDir
in interfaceIScriptingInterface
- Returns:
- Absolute path of directory where still frames are saved.
-
getDefaultScreenshotsDir
public java.lang.String getDefaultScreenshotsDir()
Description copied from interface:IScriptingInterface
Gets the absolute path of the default directory where the screenshots are saved.- Specified by:
getDefaultScreenshotsDir
in interfaceIScriptingInterface
- Returns:
- Absolute path of directory where screenshots are saved.
-
getDefaultCameraDir
public java.lang.String getDefaultCameraDir()
Description copied from interface:IScriptingInterface
Gets the absolute path of the default directory where the camera files are saved.- Specified by:
getDefaultCameraDir
in interfaceIScriptingInterface
- Returns:
- Absolute path of directory where camera files are saved.
-
getDefaultMusicDir
public java.lang.String getDefaultMusicDir()
Description copied from interface:IScriptingInterface
Gets the absolute path to the location of the music files- Specified by:
getDefaultMusicDir
in interfaceIScriptingInterface
- Returns:
- Absolute path to the location of the music files
-
getDefaultMappingsDir
public java.lang.String getDefaultMappingsDir()
Description copied from interface:IScriptingInterface
Gets the absolute path to the location of the inputListener mappings.- Specified by:
getDefaultMappingsDir
in interfaceIScriptingInterface
- Returns:
- Absolute path to the location of the inputListener mappings.
-
getDataDir
public java.lang.String getDataDir()
Description copied from interface:IScriptingInterface
Gets the absolute path of the local data directory, configured in your global.properties file.- Specified by:
getDataDir
in interfaceIScriptingInterface
- Returns:
- Absolute path to the location of the data files.
-
getConfigDir
public java.lang.String getConfigDir()
Description copied from interface:IScriptingInterface
Gets the absolute path to the location of the configuration directory- Specified by:
getConfigDir
in interfaceIScriptingInterface
- Returns:
- Absolute path of config directory.
-
getLocalDataDir
public java.lang.String getLocalDataDir()
Description copied from interface:IScriptingInterface
Returns the default data directory. That is ~/.gaiasky/ in Windows and macOS, and ~/.local/share/gaiasky in Linux.- Specified by:
getLocalDataDir
in interfaceIScriptingInterface
- Returns:
- Absolute path of data directory.
-
print
public void print(java.lang.String message)
Description copied from interface:IScriptingInterface
Print text using the internal logging system.- Specified by:
print
in interfaceIScriptingInterface
- Parameters:
message
- The message.
-
log
public void log(java.lang.String message)
Description copied from interface:IScriptingInterface
Print text using the internal logging system.- Specified by:
log
in interfaceIScriptingInterface
- Parameters:
message
- The message.
-
error
public void error(java.lang.String message)
Description copied from interface:IScriptingInterface
Log an error using the internal logging system.- Specified by:
error
in interfaceIScriptingInterface
- Parameters:
message
- The error message.
-
quit
public void quit()
Description copied from interface:IScriptingInterface
Initiates the quit action to terminate the program.- Specified by:
quit
in interfaceIScriptingInterface
-
-