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.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class gaiasky.scenegraph.SceneGraphNode
SceneGraphNode.TLV3, SceneGraphNode.TLV3D
-
-
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 process-
Fields 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
All Methods Instance Methods Abstract Methods Concrete Methods 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
-
-
-
-
Field Detail
-
root
public OctreeNode root
-
roulette
protected java.util.List<SceneGraphNode> roulette
Roulette list with the objects to process
-
parenthood
public java.util.Map<SceneGraphNode,OctreeNode> parenthood
-
lastNumberObjects
protected int lastNumberObjects
The number of objects added to render in the last frame
-
copy
protected boolean copy
Is this just a copy?
-
-
Constructor Detail
-
AbstractOctreeWrapper
protected AbstractOctreeWrapper()
-
AbstractOctreeWrapper
protected AbstractOctreeWrapper(java.lang.String parentName, OctreeNode root)
-
-
Method Detail
-
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
public boolean containsObject(SceneGraphNode object)
-
add
public void add(java.util.List<SceneGraphNode> children, OctreeNode octant)
-
add
public void add(SceneGraphNode child, OctreeNode octant)
-
removeParenthood
public void removeParenthood(SceneGraphNode child)
-
update
public void update(ITimeFrameProvider time, Vector3d parentTransform, ICamera camera)
- 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
public void addToRenderLists(ICamera camera, OctreeNode octant)
-
iterator
public java.util.Iterator<OctreeNode> 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
public void highlight(boolean hl, int cmi, IAttribute cma, double cmmin, double cmmax)
Description copied from class:FadeNode
Highlight using a colormap
-
getSimpleCopy
public <T extends SceneGraphNode> T 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
-
-