|
Xj3D 2.0 VRML/X3D Code API | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.web3d.vrml.renderer.common.input.BaseLayerSensorManager
public abstract class BaseLayerSensorManager
Common implementation of the LayerSensorManager interface for all renderers.
This base class handles the basic management needs of the sensor manager, such as sorting and processing the various sensor types. Renderer-specific extensions then process the sensors according to their specific needs.
| Field Summary | |
|---|---|
protected java.util.HashSet |
allSensorNodes
The collection of all sensors currently managed by this sensor manager |
protected boolean |
backgroundGroundChanged
Flag to say the background ground values changed |
protected org.web3d.vrml.renderer.common.input.BaseLayerSensorManager.BackgroundListener |
backgroundListener
Listener instance for dealing with the current background node |
protected boolean |
backgroundSkyChanged
Flag to say the background sky values changed |
protected BindableNodeManager |
backgroundStack
Bindable stack for backgrounds |
protected static int |
DEFAULT_EVENT_SIZE
Default size of the event arrays |
protected ErrorReporter |
errorReporter
Reporter instance for handing out errors |
protected boolean |
fogDetailsChanged
Flag to say fog color or range value changed. |
protected org.web3d.vrml.renderer.common.input.BaseLayerSensorManager.FogListener |
fogListener
Listener instance for dealing with the current fog node |
protected BindableNodeManager |
fogStack
Bindable stack for fog |
protected boolean |
fogTypeChanged
Flag to say the fog type |
protected boolean |
initialised
Flag to say whether this class has completed its initialisation |
protected UserInputHandler |
inputHandler
Input manager for doing the user interaction from the input devices This can be used for navigation and various pointing device sensor implementations. |
protected InputDeviceManager |
inputManager
Buffer for input events |
protected float |
invWorldScale
|
protected int |
layerId
The identifier of this layer manager. |
protected boolean |
navigationEnabled
Flag to say if navigation handling should be disabled |
protected BindableNodeManager |
navInfoStack
Bindable stack for navigationInfo nodes |
protected int |
numAreaListeners
The number of proximity sensors |
protected int |
numPointingDeviceSensors
The number of pointing device sensors |
protected int |
numVisibilityListeners
The number of visibility sensors |
protected PickingManager |
pickManager
Picking manager for intersection testing |
protected BindableNodeManager |
viewStack
Bindable stack for viewpoints |
protected float |
worldScale
The world scale |
| Constructor Summary | |
|---|---|
BaseLayerSensorManager()
Create a new default instance of the manager. |
|
| Method Summary | |
|---|---|
void |
addSensors(NodeArray sensors)
Initialise new sensors that are just about to be added to the scene. |
void |
addViewDependentNodes(NodeArray nodes)
Add view-dependent nodes that need to be updated each frame based on the user's position for rendering. |
void |
clear()
Force clearing all state from this manager now. |
protected void |
clearChangeFlags()
Clear the flags currently set because the listener has changed or been processed. |
boolean |
getIsPickable()
See if this layer is currently pickable. |
int |
getLayerId()
Get the ID of the layer this sensor manager works with. |
boolean |
getNavigationEnabled()
Get the currently set navigation state. |
UserInputHandler |
getUserInputHandler()
Get the user input handler. |
protected void |
initialise()
One-shot to initialise the internals structures once the event model has started to kick in. |
void |
loadScene(BasicScene scene)
Load the contents of this scene into the sensor manager. |
void |
removeSensors(NodeArray sensors)
Cleanup the given sensors and remove them from the list of processing to be done each frame. |
void |
removeViewDependentNodes(NodeArray nodes)
Remove these view-dependent nodes from the scene. |
void |
setErrorReporter(ErrorReporter reporter)
Register an error reporter with the engine so that any errors generated by the loading of script code can be reported in a nice, pretty fashion. |
void |
setInputManager(InputDeviceManager manager)
Set the user input manager to be used by this implementation. |
void |
setIsPickable(boolean val)
Set if this layer is currently pickable. |
void |
setLayerId(int id)
Set the layer Id to a new value. |
void |
setNavigationEnabled(boolean state)
Enable or disable navigation processing sub-section of the user input processing. |
void |
setNavigationStacks(BindableNodeManager vp,
BindableNodeManager nav,
BindableNodeManager back,
BindableNodeManager fog)
Set the bindable stacks used for viewpoint and navigation nodes. |
void |
setPickingManager(PickingManager picker)
Set the manager that is responsible for handling picking sensors. |
void |
setVRMLClock(VRMLClock clk)
Set the VRML clock instance that we are using so that we can set the bind time information for nodes that require it. |
void |
unloadScene(BasicScene scene)
UnLoad the contents of this scene into the sensor manager. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.xj3d.core.eventmodel.LayerSensorManager |
|---|
processUserInput, updateViewMatrix |
| Field Detail |
|---|
protected static final int DEFAULT_EVENT_SIZE
protected boolean initialised
protected PickingManager pickManager
protected InputDeviceManager inputManager
protected ErrorReporter errorReporter
protected UserInputHandler inputHandler
protected BindableNodeManager viewStack
protected BindableNodeManager navInfoStack
protected BindableNodeManager backgroundStack
protected BindableNodeManager fogStack
protected boolean navigationEnabled
protected boolean fogTypeChanged
protected boolean fogDetailsChanged
protected boolean backgroundSkyChanged
protected boolean backgroundGroundChanged
protected org.web3d.vrml.renderer.common.input.BaseLayerSensorManager.BackgroundListener backgroundListener
protected org.web3d.vrml.renderer.common.input.BaseLayerSensorManager.FogListener fogListener
protected float worldScale
protected float invWorldScale
protected int numVisibilityListeners
protected int numAreaListeners
protected int numPointingDeviceSensors
protected int layerId
protected java.util.HashSet allSensorNodes
| Constructor Detail |
|---|
public BaseLayerSensorManager()
| Method Detail |
|---|
public int getLayerId()
getLayerId in interface LayerSensorManagerpublic boolean getNavigationEnabled()
getNavigationEnabled in interface LayerSensorManagerpublic void setNavigationEnabled(boolean state)
setNavigationEnabled in interface LayerSensorManagerstate - true to enable navigationpublic void setErrorReporter(ErrorReporter reporter)
setErrorReporter in interface LayerSensorManagerreporter - The instance to use or nullpublic UserInputHandler getUserInputHandler()
getUserInputHandler in interface LayerSensorManagerpublic boolean getIsPickable()
getIsPickable in interface LayerSensorManagerpublic void setIsPickable(boolean val)
setIsPickable in interface LayerSensorManagerval - if the contents of this layer can be pickedpublic void setInputManager(InputDeviceManager manager)
setInputManager in interface LayerSensorManagermanager - The input manager instance to usepublic void setVRMLClock(VRMLClock clk)
setVRMLClock in interface LayerSensorManagerclk - The new clock to setpublic void setPickingManager(PickingManager picker)
setPickingManager in interface LayerSensorManagerpicker - Reference to the manager instance to use or null
public void setNavigationStacks(BindableNodeManager vp,
BindableNodeManager nav,
BindableNodeManager back,
BindableNodeManager fog)
setNavigationStacks in interface LayerSensorManagervp - The stack for viewpointsnav - The stack for navigationInfo nodesback - The stack for background nodesfog - The stack for fog nodespublic void addSensors(NodeArray sensors)
addSensors in interface LayerSensorManagersensors - The list of sensors to processpublic void removeSensors(NodeArray sensors)
removeSensors in interface LayerSensorManagersensors - The list of sensors to processpublic void addViewDependentNodes(NodeArray nodes)
addViewDependentNodes in interface LayerSensorManagernodes - List of nodes that need to be processedpublic void removeViewDependentNodes(NodeArray nodes)
removeViewDependentNodes in interface LayerSensorManagernodes - List of nodes to be removedpublic void loadScene(BasicScene scene)
loadScene in interface LayerSensorManagerscene - The scene to source data frompublic void unloadScene(BasicScene scene)
unloadScene in interface LayerSensorManagerscene - The scene to source data frompublic void clear()
clear in interface LayerSensorManager
public void setLayerId(int id)
throws java.lang.IllegalStateException
id - The ID to set
java.lang.IllegalStateException - The id has already been set onceprotected void initialise()
protected void clearChangeFlags()
|
Xj3D 2.0 VRML/X3D Code API | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||