Interface ISceneGraph

All Superinterfaces:
com.badlogic.gdx.utils.Disposable
All Known Implementing Classes:
SceneGraph

public interface ISceneGraph extends com.badlogic.gdx.utils.Disposable
Defines the interface for any scene graph implementation
  • Method Details

    • initialize

      void initialize(com.badlogic.gdx.utils.Array<SceneGraphNode> nodes, ITimeFrameProvider time, boolean hasOctree, boolean hasStarGroup)
      Initializes the scene graph
      Parameters:
      nodes - The list of nodes
      time - The time provider
      hasOctree - Whether the list of nodes contains an octree
      hasStarGroup - Whether the list contains a star group
    • insert

      void insert(SceneGraphNode node, boolean addToIndex)
      Inserts a node
      Parameters:
      node - The node to add
      addToIndex - Whether to add the ids of this node to the index
    • remove

      void remove(SceneGraphNode node, boolean removeFromIndex)
      Removes a node
      Parameters:
      node - The node to remove
      removeFromIndex - Whether to remove the ids of this node from the index
    • update

      void update(ITimeFrameProvider time, ICamera camera)
      Updates the nodes of this scene graph
      Parameters:
      time - The current time provider
      camera - The current camera
    • matchingFocusableNodes

      void matchingFocusableNodes(String str, com.badlogic.gdx.utils.Array<String> results)
      Returns focusable nodes matching the given string, to a maximum of 10
      Parameters:
      str - The name
      results - The results
    • matchingFocusableNodes

      void matchingFocusableNodes(String str, com.badlogic.gdx.utils.Array<String> results, int maxResults, AtomicBoolean abort)
      Returns focusable nodes matching the given string, to a maximum of maxResults.
      Parameters:
      str - The name.
      results - The results.
      maxResults - The maximum number of results.
      abort - To enable abortion mid-computation.
    • containsNode

      boolean containsNode(String name)
      Whether this scene graphs contains a node with the given name
      Parameters:
      name - The name
      Returns:
      True if this scene graph contains the node, false otherwise
    • getNode

      SceneGraphNode getNode(String name)
      Returns the node with the given name, or null if it does not exist.
      Parameters:
      name - The name of the node.
      Returns:
      The node with the name.
    • addNodeAuxiliaryInfo

      void addNodeAuxiliaryInfo(SceneGraphNode node)
      Updates the string to node map and the star map if necessary.
      Parameters:
      node - The node to add
    • removeNodeAuxiliaryInfo

      void removeNodeAuxiliaryInfo(SceneGraphNode node)
      Removes the info of the node from the aux lists.
      Parameters:
      node - The node to remove
    • getStarMap

      com.badlogic.gdx.utils.ObjectMap<Integer,​IPosition> getStarMap()
      Gets a star map: HIP -> IPosition It only contains the stars with HIP number
      Returns:
      The HIP star map
    • getNodes

      com.badlogic.gdx.utils.Array<SceneGraphNode> getNodes()
    • getRoot

      SceneGraphNode getRoot()
    • getFocusableObjects

      com.badlogic.gdx.utils.Array<IFocus> getFocusableObjects()
    • findFocus

      IFocus findFocus(String name)
    • getSize

      int getSize()
    • getObjectPosition

      double[] getObjectPosition(String name, double[] out)
      Gets the current position of the object identified by the given name. The given position is in the internal reference system and corrects stars for proper motions and other objects for their specific motions as well.
      Parameters:
      name - The name of the object
      out - The out double array
      Returns:
      The out double array if the object exists, has a position and out has 3 or more slots. Null otherwise.