Package gaiasky.util

Class GlobalResources


  • public class GlobalResources
    extends java.lang.Object
    Holds and initialises resources utilised globally.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static com.badlogic.gdx.graphics.Cursor emptyCursor
      Cursors
      static ExtSpriteBatch extSpriteBatch
      Sprite batch using int indices
      static ExtShaderProgram extSpriteShader  
      static com.badlogic.gdx.graphics.Cursor linkCursor
      Cursors
      static com.badlogic.gdx.graphics.Cursor resizeXCursor
      Cursors
      static com.badlogic.gdx.graphics.Cursor resizeYCursor
      Cursors
      static com.badlogic.gdx.scenes.scene2d.ui.Skin skin
      The global skin
      static com.badlogic.gdx.graphics.g2d.SpriteBatch spriteBatch
      Global all-purpose sprite batch
      static com.badlogic.gdx.graphics.g2d.SpriteBatch spriteBatchVR
      Global all-purpose sprite batch
      static com.badlogic.gdx.graphics.glutils.ShaderProgram spriteShader  
    • Constructor Summary

      Constructors 
      Constructor Description
      GlobalResources()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static float angle2d​(com.badlogic.gdx.math.Vector3 v1, com.badlogic.gdx.math.Vector3 v2)
      Gets the angle in degrees between the two vectors
      static Vector3d applyRelativisticAberration​(Vector3d pos, ICamera cam)  
      static <T> java.util.List<java.util.List<T>> combination​(java.util.List<T> values, int size)
      Generates all combinations of the given size using the elements in values.
      static java.lang.String[] combinations​(java.lang.String[] values)
      Generates all combinations of all sizes of all the strings given in values
      static void copyFile​(java.nio.file.Path sourceFile, java.nio.file.Path destFile, boolean ow)  
      static int countOccurrences​(java.lang.String haystack, char needle)  
      static void deleteRecursively​(java.nio.file.Path path)
      Deletes recursively all non-partial files from the path.
      static void doneLoading​(com.badlogic.gdx.assets.AssetManager manager)  
      static Pair<java.lang.Double,​java.lang.String> doubleToDistanceString​(double d)
      Converts this double to the string representation of a distance
      static Pair<java.lang.Double,​java.lang.String> doubleToVelocityString​(double d)
      Converts the double to the string representation of a velocity (always in seconds)
      static boolean endsWith​(java.lang.String s, java.lang.String[] endings)
      Returns true if the string ends with any of the endings
      static boolean equal​(java.lang.String buf, char[] compareTo, boolean ignoreCase)
      Compares a given buffer with another buffer.
      static long fileCount​(java.nio.file.Path dir)
      Recursively count files in a directory
      static long fileCount​(java.nio.file.Path dir, java.lang.String[] extensions)
      Count files matching a certain ending in a directory, recursively
      static Pair<java.lang.Float,​java.lang.String> floatToDistanceString​(float f)
      Converts this float to the string representation of a distance
      static java.lang.String getGLExtensions()  
      static java.lang.String humanReadableByteCount​(long bytes, boolean si)
      Converts bytes to a human readable format
      static void initialize​(com.badlogic.gdx.assets.AssetManager manager)  
      static <T,​U>
      java.util.Map<U,​java.util.List<T>>
      invertMap​(java.util.Map<T,​U> map)
      Inverts a map
      static boolean isAnyInView​(Vector3d[] points, float coneAngle, Vector3d dir)
      Computes whether any of the given points is visible by a camera with the given direction and the given cone angle.
      static boolean isInView​(com.badlogic.gdx.math.Vector3 point, double len, float coneAngle, com.badlogic.gdx.math.Vector3 dir)  
      static boolean isInView​(Vector3d point, double len, float coneAngle, Vector3d dir)
      Computes whether a body with the given position is visible by a camera with the given direction and angle.
      static boolean isInView​(Vector3d point, float coneAngle, Vector3d dir)
      Computes whether a body with the given position is visible by a camera with the given direction and angle.
      static boolean isNumeric​(java.lang.String str)  
      static com.badlogic.gdx.utils.Array<java.nio.file.Path> listRec​(java.nio.file.Path f, com.badlogic.gdx.utils.Array<java.nio.file.Path> l, java.lang.String... extensions)
      Gets all the files with the given extension in the given path f.
      static com.badlogic.gdx.utils.Array<java.nio.file.Path> listRec​(java.nio.file.Path f, com.badlogic.gdx.utils.Array<java.nio.file.Path> l, java.nio.file.DirectoryStream.Filter<java.nio.file.Path> filter)  
      static java.lang.String nObjectsToString​(long objs)  
      static int nthIndexOf​(java.lang.String text, char needle, int n)  
      static java.lang.String[] parseWhitespaceSeparatedList​(java.lang.String str)
      Parses the string and creates a string array.
      static long size​(java.nio.file.Path path)
      Attempts to calculate the size of a file or directory.
      static <K,​V extends java.lang.Comparable<? super V>>
      java.util.Map<K,​V>
      sortByValue​(java.util.Map<K,​V> map)  
      static com.badlogic.gdx.graphics.Pixmap textureToPixmap​(com.badlogic.gdx.graphics.g2d.TextureRegion tex)
      Converts a texture to a pixmap by drawing it to a frame buffer and getting the data
      static float[] toFloatArray​(double[] array)
      Transforms the given double array into a float array by casting each of its numbers
      static java.lang.String toString​(java.lang.String[] l, java.lang.String quote, java.lang.String separator)
      Converts a string array into a string, optionally quoting each entry and with a given separator.
      static java.lang.String toWhitespaceSeparatedList​(java.lang.String[] l)
      Converts the string array into a whitespace-separated string where each element is double quoted.
      static java.lang.String unpackAssetPath​(java.lang.String tex)  
      static java.lang.String unpackAssetPath​(java.lang.String path, GlobalConf.SceneConf.GraphicsQuality gq)  
      static java.lang.String unpackSkyboxSide​(java.lang.String skyboxLoc, java.lang.String side)  
      static void updateSkin()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • spriteShader

        public static com.badlogic.gdx.graphics.glutils.ShaderProgram spriteShader
      • spriteBatch

        public static com.badlogic.gdx.graphics.g2d.SpriteBatch spriteBatch
        Global all-purpose sprite batch
      • spriteBatchVR

        public static com.badlogic.gdx.graphics.g2d.SpriteBatch spriteBatchVR
        Global all-purpose sprite batch
      • extSpriteBatch

        public static ExtSpriteBatch extSpriteBatch
        Sprite batch using int indices
      • linkCursor

        public static com.badlogic.gdx.graphics.Cursor linkCursor
        Cursors
      • resizeXCursor

        public static com.badlogic.gdx.graphics.Cursor resizeXCursor
        Cursors
      • resizeYCursor

        public static com.badlogic.gdx.graphics.Cursor resizeYCursor
        Cursors
      • emptyCursor

        public static com.badlogic.gdx.graphics.Cursor emptyCursor
        Cursors
      • skin

        public static com.badlogic.gdx.scenes.scene2d.ui.Skin skin
        The global skin
    • Constructor Detail

      • GlobalResources

        public GlobalResources()
    • Method Detail

      • initialize

        public static void initialize​(com.badlogic.gdx.assets.AssetManager manager)
      • updateSkin

        public static void updateSkin()
      • doneLoading

        public static void doneLoading​(com.badlogic.gdx.assets.AssetManager manager)
      • doubleToDistanceString

        public static Pair<java.lang.Double,​java.lang.String> doubleToDistanceString​(double d)
        Converts this double to the string representation of a distance
        Parameters:
        d - In internal units
        Returns:
        An array containing the float number and the string units
      • doubleToVelocityString

        public static Pair<java.lang.Double,​java.lang.String> doubleToVelocityString​(double d)
        Converts the double to the string representation of a velocity (always in seconds)
        Parameters:
        d - In internal units
        Returns:
        Array containing the number and the units
      • floatToDistanceString

        public static Pair<java.lang.Float,​java.lang.String> floatToDistanceString​(float f)
        Converts this float to the string representation of a distance
        Parameters:
        f - In internal units
        Returns:
        An array containing the float number and the string units
      • toFloatArray

        public static float[] toFloatArray​(double[] array)
        Transforms the given double array into a float array by casting each of its numbers
        Parameters:
        array - The array of doubles
        Returns:
        The array of floats
      • isInView

        public static boolean isInView​(Vector3d point,
                                       float coneAngle,
                                       Vector3d dir)
        Computes whether a body with the given position is visible by a camera with the given direction and angle. Coordinates are assumed to be in the camera-origin system
        Parameters:
        point - The position of the body in the reference system of the camera (i.e. camera is at origin)
        coneAngle - The cone angle of the camera
        dir - The direction
        Returns:
        True if the body is visible
      • isInView

        public static boolean isInView​(Vector3d point,
                                       double len,
                                       float coneAngle,
                                       Vector3d dir)
        Computes whether a body with the given position is visible by a camera with the given direction and angle. Coordinates are assumed to be in the camera-origin system
        Parameters:
        point - The position of the body in the reference system of the camera (i.e. camera is at origin)
        len - The point length
        coneAngle - The cone angle of the camera
        dir - The direction
        Returns:
        True if the body is visible
      • isInView

        public static boolean isInView​(com.badlogic.gdx.math.Vector3 point,
                                       double len,
                                       float coneAngle,
                                       com.badlogic.gdx.math.Vector3 dir)
      • isAnyInView

        public static boolean isAnyInView​(Vector3d[] points,
                                          float coneAngle,
                                          Vector3d dir)
        Computes whether any of the given points is visible by a camera with the given direction and the given cone angle. Coordinates are assumed to be in the camera-origin system
        Parameters:
        points - The array of points to check
        coneAngle - The cone angle of the camera (field of view)
        dir - The direction
        Returns:
        True if any of the points is in the camera view cone
      • equal

        public static boolean equal​(java.lang.String buf,
                                    char[] compareTo,
                                    boolean ignoreCase)
        Compares a given buffer with another buffer.
        Parameters:
        buf - Buffer to compare against
        compareTo - Buffer to compare to (content should be ASCII lowercase if possible)
        Returns:
        True if the buffers compare favourably, false otherwise
      • countOccurrences

        public static int countOccurrences​(java.lang.String haystack,
                                           char needle)
      • nthIndexOf

        public static int nthIndexOf​(java.lang.String text,
                                     char needle,
                                     int n)
      • listRec

        public static com.badlogic.gdx.utils.Array<java.nio.file.Path> listRec​(java.nio.file.Path f,
                                                                               com.badlogic.gdx.utils.Array<java.nio.file.Path> l,
                                                                               java.lang.String... extensions)
        Gets all the files with the given extension in the given path f.
        Parameters:
        f - The directory to get all the files
        l - The list with the results
        extensions - The allowed extensions
        Returns:
        The list l
      • deleteRecursively

        public static void deleteRecursively​(java.nio.file.Path path)
                                      throws java.io.IOException
        Deletes recursively all non-partial files from the path.
        Parameters:
        path - The path to delete.
        Throws:
        java.io.IOException
      • copyFile

        public static void copyFile​(java.nio.file.Path sourceFile,
                                    java.nio.file.Path destFile,
                                    boolean ow)
                             throws java.io.IOException
        Throws:
        java.io.IOException
      • listRec

        public static com.badlogic.gdx.utils.Array<java.nio.file.Path> listRec​(java.nio.file.Path f,
                                                                               com.badlogic.gdx.utils.Array<java.nio.file.Path> l,
                                                                               java.nio.file.DirectoryStream.Filter<java.nio.file.Path> filter)
      • fileCount

        public static long fileCount​(java.nio.file.Path dir)
                              throws java.io.IOException
        Recursively count files in a directory
        Parameters:
        dir - The directory
        Returns:
        The number of files
        Throws:
        java.io.IOException
      • fileCount

        public static long fileCount​(java.nio.file.Path dir,
                                     java.lang.String[] extensions)
                              throws java.io.IOException
        Count files matching a certain ending in a directory, recursively
        Parameters:
        dir - The directory
        Returns:
        The number of files
        Throws:
        java.io.IOException
      • endsWith

        public static boolean endsWith​(java.lang.String s,
                                       java.lang.String[] endings)
        Returns true if the string ends with any of the endings
        Parameters:
        s - The string
        endings - The endings
        Returns:
        True if the string ends with any of the endings
      • isNumeric

        public static boolean isNumeric​(java.lang.String str)
      • sortByValue

        public static <K,​V extends java.lang.Comparable<? super V>> java.util.Map<K,​V> sortByValue​(java.util.Map<K,​V> map)
      • textureToPixmap

        public static com.badlogic.gdx.graphics.Pixmap textureToPixmap​(com.badlogic.gdx.graphics.g2d.TextureRegion tex)
        Converts a texture to a pixmap by drawing it to a frame buffer and getting the data
        Parameters:
        tex - The texture to convert
        Returns:
        The resulting pixmap
      • invertMap

        public static final <T,​U> java.util.Map<U,​java.util.List<T>> invertMap​(java.util.Map<T,​U> map)
        Inverts a map
        Parameters:
        map - The map to invert
        Returns:
        The inverted map
      • angle2d

        public static float angle2d​(com.badlogic.gdx.math.Vector3 v1,
                                    com.badlogic.gdx.math.Vector3 v2)
        Gets the angle in degrees between the two vectors
      • humanReadableByteCount

        public static java.lang.String humanReadableByteCount​(long bytes,
                                                              boolean si)
        Converts bytes to a human readable format
        Parameters:
        bytes - The bytes
        si - Whether to use SI units or binary
        Returns:
        The size in a human readable form
      • size

        public static long size​(java.nio.file.Path path)
                         throws java.io.IOException
        Attempts to calculate the size of a file or directory.

        Since the operation is non-atomic, the returned value may be inaccurate. However, this method is quick and does its best.

        Throws:
        java.io.IOException
      • parseWhitespaceSeparatedList

        public static java.lang.String[] parseWhitespaceSeparatedList​(java.lang.String str)
        Parses the string and creates a string array. The string is a list of whitespace-separated tokens, each surrounded by double qutotes '"': str = '"a" "bc" "d" "efghi"'
        Parameters:
        str - The string
        Returns:
        The resulting array
      • toWhitespaceSeparatedList

        public static java.lang.String toWhitespaceSeparatedList​(java.lang.String[] l)
        Converts the string array into a whitespace-separated string where each element is double quoted.
        Parameters:
        l - The string array
        Returns:
        The resulting string
      • toString

        public static java.lang.String toString​(java.lang.String[] l,
                                                java.lang.String quote,
                                                java.lang.String separator)
        Converts a string array into a string, optionally quoting each entry and with a given separator.
        Parameters:
        l - The list
        quote - The quote string to use
        separator - The separator
        Returns:
        The resulting string
      • unpackAssetPath

        public static java.lang.String unpackAssetPath​(java.lang.String tex)
      • unpackSkyboxSide

        public static java.lang.String unpackSkyboxSide​(java.lang.String skyboxLoc,
                                                        java.lang.String side)
                                                 throws java.lang.RuntimeException
        Throws:
        java.lang.RuntimeException
      • getGLExtensions

        public static java.lang.String getGLExtensions()
      • combinations

        public static java.lang.String[] combinations​(java.lang.String[] values)
        Generates all combinations of all sizes of all the strings given in values
        Parameters:
        values - The input strings to combine
        Returns:
        The combinations
      • combination

        public static <T> java.util.List<java.util.List<T>> combination​(java.util.List<T> values,
                                                                        int size)
        Generates all combinations of the given size using the elements in values.
        Type Parameters:
        T - The type
        Parameters:
        values - The elements to combine
        size - The size of the combinations
        Returns:
        The combinations
      • nObjectsToString

        public static java.lang.String nObjectsToString​(long objs)