|
Aviatrix3D 2.1.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface NodeUpdateHandler
Abstract representation of a piece of code that wants to manage the node update process internally to the scene graph.
This interface is never directly called by user-land code. It's used to abstract the process of maintaining a node as part of the scene graph, and the implementation of the management system behind it. The management system is responsible for coordinating and marshalling the user code into correct timing for feeding directly to the rendering pipeline and beyond. As such, it is responsible for preventing user updates at inappropriate times, and also keeping track of what has been requested to update.
Methods here provide both timing information, and ways of registering objects for further processing. When a node implementation needs to know if it is acceptable to make or allow certain changes, then these methods can be queried to provide the appropriate guidance.
Method Summary | |
---|---|
void |
activeSoundLayerChanged(InternalLayerUpdateListener intL)
Notify the handler that you are now going to be the active layer for sound rendering. |
boolean |
boundsChanged(NodeUpdateListener l,
java.lang.Object src,
InternalNodeUpdateListener intL)
Notify the handler that you have updates to the SG that might alter a node's bounds. |
void |
dataChanged(NodeUpdateListener l,
java.lang.Object src)
Notify the handler that you have updates to the SG that will not alter a node's bounds. |
PickingManager |
getPickingManager()
Get the picking handler so that we can do some picking operations. |
boolean |
isBoundsWritePermitted(java.lang.Object src)
Check to see if writing to the bounding information of the node is permitted currently. |
boolean |
isDataWritePermitted(java.lang.Object src)
Check to see if writing to the data information of the node is permitted currently. |
boolean |
isPickingPermitted()
Check to see if picking is permitted currently. |
void |
notifyUpdateRequired()
Feedback to the internals that a data object has changed and it requires re-rendering. |
void |
requestDeletion(DeletableRenderable deletable)
Notification that the passed in renderable is wishing to mark itself ready for deletion processing. |
void |
rescindDeletionRequest(DeletableRenderable deletable)
Woops, we were in error, so please rescind that deletion request. |
void |
shaderRequiresInit(ShaderSourceRenderable shader,
boolean updateResponse)
The shader object passed requires an initialisation be performed. |
void |
shaderRequiresLogInfo(ShaderSourceRenderable shader,
boolean updateResponse)
The shader object passed requires updating the log info. |
Method Detail |
---|
boolean isBoundsWritePermitted(java.lang.Object src)
src
- The object that is requesting the check
boolean isDataWritePermitted(java.lang.Object src)
src
- The object that is requesting the check
boolean isPickingPermitted()
void notifyUpdateRequired()
ViewEnvironment
changing the aspect ratio etc.
boolean boundsChanged(NodeUpdateListener l, java.lang.Object src, InternalNodeUpdateListener intL) throws InvalidListenerSetTimingException
l
- The change requestorsrc
- The object that is passing this listener through.intL
- Internal listener for making callbacks at a later time
to propogate the bounds changes.
InvalidListenerSetTimingException
- If called when the node called
during one of the bounds/data changed callbacksvoid activeSoundLayerChanged(InternalLayerUpdateListener intL) throws InvalidListenerSetTimingException
intL
- Internal listener for making callbacks at a later time
to propogate when the target is no longer the active listener.
InvalidListenerSetTimingException
void dataChanged(NodeUpdateListener l, java.lang.Object src) throws InvalidListenerSetTimingException
l
- The change requestorsrc
- The object that is passing this listener through.
InvalidListenerSetTimingException
- If called when the node called
during one of the bounds/data changed callbacksPickingManager getPickingManager()
void shaderRequiresInit(ShaderSourceRenderable shader, boolean updateResponse)
shader
- The shader instance to queueupdateResponse
- true if this is being made as a response to a
node's setUpdateHandler() methodvoid shaderRequiresLogInfo(ShaderSourceRenderable shader, boolean updateResponse)
shader
- The shader instance to queueupdateResponse
- true if this is being made as a response to a
node's setUpdateHandler() methodvoid requestDeletion(DeletableRenderable deletable)
This renderable instance will begin the deletion processing as soon as the start of the next culling pass begins. Once it hits the output device, deletion requests are guaranteed to be the first item that is processed, before all other requests.
If the object is already in the queue, the request will be silently ignored.
deletable
- The renderable that will handle the cleanup at
the appropriate timevoid rescindDeletionRequest(DeletableRenderable deletable)
You can only rescind request that has happened in this frame as the delete requests are packaged up and sent off down the pipeline each frame, then forgotten about during the rendering process.
Rescinding a request for an object no-longer in the queue (eg multiple request, or just was never added in the first place), will be silently ignored.
deletable
- The renderable that should be removed from the queue.
|
Aviatrix3D 2.1.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |