Package WildMagic.LibGraphics.SceneGraph
Class Node
- java.lang.Object
-
- WildMagic.LibGraphics.ObjectSystem.GraphicsObject
-
- WildMagic.LibGraphics.SceneGraph.Spatial
-
- WildMagic.LibGraphics.SceneGraph.Node
-
- All Implemented Interfaces:
java.io.Serializable,NameIdInterface,StreamInterface
- Direct Known Subclasses:
BillboardNode,BspNode,CameraNode,LightNode
public class Node extends Spatial implements NameIdInterface, StreamInterface, java.io.Serializable
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class WildMagic.LibGraphics.SceneGraph.Spatial
Spatial.CullingMode
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Vector<Spatial>m_kChildchildrenprivate static longserialVersionUID-
Fields inherited from class WildMagic.LibGraphics.SceneGraph.Spatial
Culling, Local, m_iStartEffect, m_kEffects, m_kGlobalStates, m_kLights, m_pkParent, World, WorldBound, WorldBoundIsCurrent, WorldIsCurrent
-
-
Constructor Summary
Constructors Constructor Description Node()Default construction.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description intAttachChild(Spatial pkChild)childrenvoidDetachAllChildren()Delete memory.intDetachChild(Spatial pkChild)childrenSpatialDetachChildAt(int i)childrenvoiddispose()Delete memory.voidGetAllObjectsByName(java.lang.String rkName, java.util.Vector<GraphicsObject> rkObjects)Writes all GraphicsObjects with the name that matches the input parameter, rkName into the Vector parameter rkObjects.SpatialGetChild(int i)childrenintGetDiskUsed(StreamVersion rkVersion)Returns the size of this object and it's children on disk for the current StreamVersion parameter.GraphicsObjectGetObjectByID(int uiID)Returns the GraphicsObject with the ID that matches the input parameter, uiID.GraphicsObjectGetObjectByName(java.lang.String rkName)Returns the GraphicsObject with the name that matches the input parameter, rkName.intGetQuantity()childrenprotected voidGetVisibleSet(Culler rkCuller, boolean bNoCull)cullingvoidLink(Stream rkStream, Stream.Link pkLink)Copies this objects children objects from the input Stream's HashTable, based on the LinkID of the child stored in the pkLink parameter.voidLoad(Stream rkStream, Stream.Link pkLink)Loads this object from the input parameter rkStream, using the input Stream.Link to store the IDs of children objects of this object for linking after all objects are loaded from the Stream.booleanRegister(Stream rkStream)Registers this object with the input Stream parameter.voidSave(Stream rkStream)Write this object and all it's children to the Stream.StringTreeSaveStrings(java.lang.String acTitle)Write this object into a StringTree for the scene-graph visualization.SpatialSetChild(int i, Spatial pkChild)childrenprotected voidUpdateState(java.util.Vector<java.util.Vector<GlobalState>> akGStack, java.util.Vector<Light> pkLStack)render state updatesprotected voidUpdateWorldBound()geometric updatesprotected voidUpdateWorldData(double dAppTime)geometric updates-
Methods inherited from class WildMagic.LibGraphics.SceneGraph.Spatial
AttachEffect, AttachGlobalState, AttachLight, DetachAllEffects, DetachAllGlobalStates, DetachAllLights, DetachEffect, DetachGlobalState, DetachLight, GetEffect, GetEffectQuantity, GetGlobalState, GetGlobalState, GetGlobalStateQuantity, GetLight, GetLightQuantity, GetParent, GetStartEffect, OnGetVisibleSet, PopState, PropagateBoundToRoot, PropagateStateFromRoot, PushState, SetParent, SetStartEffect, UpdateBS, UpdateGS, UpdateGS, UpdateRS, UpdateRS
-
Methods inherited from class WildMagic.LibGraphics.ObjectSystem.GraphicsObject
GetID, GetName, GetNextID, GetObjectByIDBase, GetObjectByNameBase, SetName
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
m_kChild
protected java.util.Vector<Spatial> m_kChild
children
-
-
Method Detail
-
AttachChild
public int AttachChild(Spatial pkChild)
children- Parameters:
pkChild- child node to add.- Returns:
- number of children nodes.
-
DetachAllChildren
public void DetachAllChildren()
Delete memory.
-
DetachChild
public int DetachChild(Spatial pkChild)
children- Parameters:
pkChild- child node to detach.- Returns:
- position of child node, or -1.
-
DetachChildAt
public Spatial DetachChildAt(int i)
children- Parameters:
i- position of child node to detach.- Returns:
- detached child node.
-
GetAllObjectsByName
public void GetAllObjectsByName(java.lang.String rkName, java.util.Vector<GraphicsObject> rkObjects)Writes all GraphicsObjects with the name that matches the input parameter, rkName into the Vector parameter rkObjects.- Specified by:
GetAllObjectsByNamein interfaceNameIdInterface- Overrides:
GetAllObjectsByNamein classSpatial- Parameters:
rkName- the name of the objects to return.rkObjects- a Vector of all objects with the matching name.
-
GetChild
public Spatial GetChild(int i)
children- Parameters:
i- position of child node to set.- Returns:
- child node at position i, or null.
-
GetDiskUsed
public int GetDiskUsed(StreamVersion rkVersion)
Returns the size of this object and it's children on disk for the current StreamVersion parameter.- Specified by:
GetDiskUsedin interfaceStreamInterface- Overrides:
GetDiskUsedin classSpatial- Parameters:
rkVersion- the current version of the Stream file being created.- Returns:
- the size of this object on disk.
-
GetObjectByID
public GraphicsObject GetObjectByID(int uiID)
Returns the GraphicsObject with the ID that matches the input parameter, uiID.- Specified by:
GetObjectByIDin interfaceNameIdInterface- Overrides:
GetObjectByIDin classSpatial- Parameters:
uiID- the ID of the object to return.- Returns:
- the GraphicsObject that matches the input name.
-
GetObjectByName
public GraphicsObject GetObjectByName(java.lang.String rkName)
Returns the GraphicsObject with the name that matches the input parameter, rkName.- Specified by:
GetObjectByNamein interfaceNameIdInterface- Overrides:
GetObjectByNamein classSpatial- Parameters:
rkName- the name of the object to return.- Returns:
- the GraphicsObject that matches the input name.
-
GetQuantity
public final int GetQuantity()
children- Returns:
- number of children nodes.
-
Link
public void Link(Stream rkStream, Stream.Link pkLink)
Copies this objects children objects from the input Stream's HashTable, based on the LinkID of the child stored in the pkLink parameter.- Specified by:
Linkin interfaceStreamInterface- Overrides:
Linkin classSpatial- Parameters:
rkStream- the Stream where the child objects are stored.pkLink- the Link class from which the child object IDs are read.
-
Load
public void Load(Stream rkStream, Stream.Link pkLink)
Loads this object from the input parameter rkStream, using the input Stream.Link to store the IDs of children objects of this object for linking after all objects are loaded from the Stream.- Specified by:
Loadin interfaceStreamInterface- Overrides:
Loadin classSpatial- Parameters:
rkStream- the Stream from which this object is being read.pkLink- the Link class for storing the IDs of this object's children objects.
-
Register
public boolean Register(Stream rkStream)
Registers this object with the input Stream parameter. All objects streamed to disk are registered with the Stream so that a unique list of objects is maintained.- Specified by:
Registerin interfaceStreamInterface- Overrides:
Registerin classSpatial- Parameters:
rkStream- the Stream where the child objects are stored.- Returns:
- true if this object is registered, false if the object has already been registered.
-
Save
public void Save(Stream rkStream)
Write this object and all it's children to the Stream.- Specified by:
Savein interfaceStreamInterface- Overrides:
Savein classSpatial- Parameters:
rkStream- the Stream where the child objects are stored.
-
SaveStrings
public StringTree SaveStrings(java.lang.String acTitle)
Write this object into a StringTree for the scene-graph visualization.- Specified by:
SaveStringsin interfaceStreamInterface- Overrides:
SaveStringsin classSpatial- Parameters:
acTitle- the header for this object in the StringTree.- Returns:
- StringTree containing a String-based representation of this object and it's children.
-
SetChild
public Spatial SetChild(int i, Spatial pkChild)
children- Parameters:
i- position of child node to set.pkChild- child node.- Returns:
- previous child node at position i, or null.
-
GetVisibleSet
protected void GetVisibleSet(Culler rkCuller, boolean bNoCull)
culling- Specified by:
GetVisibleSetin classSpatial- Parameters:
rkCuller- culling object applied to this node.bNoCull- when true don't cull.
-
UpdateState
protected void UpdateState(java.util.Vector<java.util.Vector<GlobalState>> akGStack, java.util.Vector<Light> pkLStack)
render state updates- Specified by:
UpdateStatein classSpatial- Parameters:
akGStack- global states.akLStack- lights.
-
UpdateWorldBound
protected void UpdateWorldBound()
geometric updates- Specified by:
UpdateWorldBoundin classSpatial
-
UpdateWorldData
protected void UpdateWorldData(double dAppTime)
geometric updates- Overrides:
UpdateWorldDatain classSpatial- Parameters:
dAppTime- animation time step from application.
-
-