Package gaiasky.scenegraph.octreewrapper
Class AbstractOctreeWrapper
java.lang.Object
gaiasky.scenegraph.SceneGraphNode
gaiasky.scenegraph.FadeNode
gaiasky.scenegraph.octreewrapper.AbstractOctreeWrapper
- All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable
,IStarContainer
,IPosition
,java.lang.Iterable<OctreeNode>
- Direct Known Subclasses:
OctreeWrapper
public abstract class AbstractOctreeWrapper extends FadeNode implements java.lang.Iterable<OctreeNode>
Abstract Octree wrapper with the common parts of the regular Octree wrapper
and the concurrent one.
-
Field Summary
Fields Modifier and Type Field Description protected boolean
copy
Is this just a copy?protected int
lastNumberObjects
The number of objects added to render in the last framejava.util.Map<SceneGraphNode,OctreeNode>
parenthood
OctreeNode
root
protected java.util.List<SceneGraphNode>
roulette
Roulette list with the objects to processFields inherited from class gaiasky.scenegraph.FadeNode
catalogInfo, currentDistance, highlighted, hlc, hlcma, hlcmi, hlcmmax, hlcmmin, hlplain, inSceneGraph, labelcolor, labelPosition
Fields inherited from class gaiasky.scenegraph.SceneGraphNode
aux3d1, aux3d2, aux3d3, aux3d4, aux3f1, aux3f2, aux3f3, aux3f4, cc, children, computed, coordinates, ct, distToCamera, id, localTransform, namekey, names, numChildren, octant, octantId, opacity, orientation, parent, parentkey, parentName, pos, posSph, ROOT_NAME, sg, size, translation, viewAngle, viewAngleApparent
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractOctreeWrapper()
protected
AbstractOctreeWrapper(java.lang.String parentName, OctreeNode root)
-
Method Summary
Modifier and Type Method Description void
add(SceneGraphNode child, OctreeNode octant)
void
add(java.util.List<SceneGraphNode> children, OctreeNode octant)
void
addToRenderLists(ICamera camera, OctreeNode octant)
boolean
containsObject(SceneGraphNode object)
void
dispose()
<T extends SceneGraphNode>
TgetSimpleCopy()
Gets a copy of this object but does not copy its parent or childrenint
getStarCount()
void
highlight(boolean hl, float[] color)
Highlight using a plain colorvoid
highlight(boolean hl, int cmi, IAttribute cma, double cmmin, double cmmax)
Highlight using a colormapvoid
initialize()
An octree wrapper has as 'scene graph children' all the elements contained in the octree, even though it acts as a hub that decides which are processed and which are not.java.util.Iterator<OctreeNode>
iterator()
void
removeParenthood(SceneGraphNode child)
void
update(ITimeFrameProvider time, Vector3d parentTransform, ICamera camera)
void
update(ITimeFrameProvider time, Vector3d parentTransform, ICamera camera, float opacity)
protected abstract void
updateOctreeObjects(ITimeFrameProvider time, Vector3d parentTransform, ICamera camera)
Runs the update on all the observed and selected octree objects.Methods inherited from class gaiasky.scenegraph.FadeNode
addToRenderLists, doneLoading, getBaseOpacity, getCatalogInfo, getHlcma, getHlcmi, getHlcmmax, getHlcmmin, isHighlighted, isHlplain, isVisible, setCataloginfo, setCatalogInfo, setCatalogInfoBare, setFadein, setFadeout, setLabelcolor, setLabelcolor, setLabelposition, setPosition, setPositionobjectname, setSize, setSize, setUp, setVisible, updateLocal, updateLocalValues, updateOpacity
Methods inherited from class gaiasky.scenegraph.SceneGraphNode
add, add, addChild, addChild, addFocusableObjects, addName, addNodes, addToIndex, addToRender, computeFuturePosition, getAbsoluteOrientation, getAbsolutePosition, getAbsolutePosition, getAggregatedChildren, getAlpha, getChildByName, getChildByNameAndType, getChildrenByType, getComponentType, getCt, getDelta, getDistToCamera, getFirstStarAncestor, getHeight, getHeight, getHeight, getHeightScale, getId, getLineCopy, getName, getNames, getNext, getNode, getNode, getOctant, getOpacity, getOrientation, getPos, getPosition, getPosition, getPosSph, getPredictedPosition, getRadius, getRoot, getSceneGraphDepth, getSize, getUnrotatedPos, getVelocity, getViewAngle, getViewAngleApparent, hasName, hasName, insert, insert, isCopy, isInRender, isInRender, isValidPosition, isVisibilityOn, mustAddToIndex, mustUpdatePosition, namesConcat, removeChild, removeFromIndex, removeFromRender, render2DLabel, render2DLabel, render2DLabel, render2DLabel, render3DLabel, render3DLabel, returnToPool, setColor, setColor, setComputedFlag, setCoordinates, setCt, setCt, setId, setName, setNamekey, setNames, setParent, setParentkey, toString, updateNames, updateNamesRec
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Field Details
-
root
-
roulette
Roulette list with the objects to process -
parenthood
-
lastNumberObjects
protected int lastNumberObjectsThe number of objects added to render in the last frame -
copy
protected boolean copyIs this just a copy?
-
-
Constructor Details
-
AbstractOctreeWrapper
protected AbstractOctreeWrapper() -
AbstractOctreeWrapper
-
-
Method Details
-
initialize
public void initialize()An octree wrapper has as 'scene graph children' all the elements contained in the octree, even though it acts as a hub that decides which are processed and which are not.- Overrides:
initialize
in classSceneGraphNode
-
containsObject
-
add
-
add
-
removeParenthood
-
update
- Overrides:
update
in classSceneGraphNode
-
update
public void update(ITimeFrameProvider time, Vector3d parentTransform, ICamera camera, float opacity) -
updateOctreeObjects
protected abstract void updateOctreeObjects(ITimeFrameProvider time, Vector3d parentTransform, ICamera camera)Runs the update on all the observed and selected octree objects.- Parameters:
time
-parentTransform
-camera
-
-
addToRenderLists
-
iterator
- Specified by:
iterator
in interfacejava.lang.Iterable<OctreeNode>
-
getStarCount
public int getStarCount()- Specified by:
getStarCount
in interfaceIStarContainer
- Overrides:
getStarCount
in classSceneGraphNode
-
highlight
public void highlight(boolean hl, float[] color)Description copied from class:FadeNode
Highlight using a plain color -
highlight
Description copied from class:FadeNode
Highlight using a colormap -
getSimpleCopy
Gets a copy of this object but does not copy its parent or children- Overrides:
getSimpleCopy
in classSceneGraphNode
- Returns:
- The copied object
-
dispose
public void dispose()- Specified by:
dispose
in interfacecom.badlogic.gdx.utils.Disposable
- Overrides:
dispose
in classSceneGraphNode
-