Package gaiasky.scenegraph
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 Summary
Modifier and TypeMethodDescriptionvoid
Updates the string to node map and the star map if necessary.boolean
containsNode(String name)
Whether this scene graphs contains a node with the given namecom.badlogic.gdx.utils.Array<IFocus>
Returns the node with the given name, or null if it does not exist.com.badlogic.gdx.utils.Array<SceneGraphNode>
getNodes()
double[]
getObjectPosition(String name, double[] out)
Gets the current position of the object identified by the given name.getRoot()
int
getSize()
Gets a star map: HIP -> IPosition It only contains the stars with HIP numbervoid
initialize(com.badlogic.gdx.utils.Array<SceneGraphNode> nodes, ITimeFrameProvider time, boolean hasOctree, boolean hasStarGroup)
Initializes the scene graphvoid
insert(SceneGraphNode node, boolean addToIndex)
Inserts a nodevoid
matchingFocusableNodes(String str, com.badlogic.gdx.utils.Array<String> results)
Returns focusable nodes matching the given string, to a maximum of 10void
matchingFocusableNodes(String str, com.badlogic.gdx.utils.Array<String> results, int maxResults, AtomicBoolean abort)
Returns focusable nodes matching the given string, to a maximum ofmaxResults
.void
remove(SceneGraphNode node, boolean removeFromIndex)
Removes a nodevoid
Removes the info of the node from the aux lists.void
update(ITimeFrameProvider time, ICamera camera)
Updates the nodes of this scene graphMethods inherited from interface com.badlogic.gdx.utils.Disposable
dispose
-
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 nodestime
- The time providerhasOctree
- Whether the list of nodes contains an octreehasStarGroup
- Whether the list contains a star group
-
insert
Inserts a node- Parameters:
node
- The node to addaddToIndex
- Whether to add the ids of this node to the index
-
remove
Removes a node- Parameters:
node
- The node to removeremoveFromIndex
- Whether to remove the ids of this node from the index
-
update
Updates the nodes of this scene graph- Parameters:
time
- The current time providercamera
- The current camera
-
matchingFocusableNodes
Returns focusable nodes matching the given string, to a maximum of 10- Parameters:
str
- The nameresults
- 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 ofmaxResults
.- Parameters:
str
- The name.results
- The results.maxResults
- The maximum number of results.abort
- To enable abortion mid-computation.
-
containsNode
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
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
Updates the string to node map and the star map if necessary.- Parameters:
node
- The node to add
-
removeNodeAuxiliaryInfo
Removes the info of the node from the aux lists.- Parameters:
node
- The node to remove
-
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
-
getSize
int getSize() -
getObjectPosition
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 objectout
- 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.
-