Class NRSwitch
- All Implemented Interfaces:
VRMLNode,FrameStateListener,VRMLBoundedNodeType,VRMLChildNodeType,VRMLGroupingNodeType,VRMLNodeType,VRMLWorldRootChildNodeType,NRVRMLNode
This code assigns a LOD node as the implGroup. As this code is a
grouping node, we allow the use of the children being specified as
either the childre field or the level field.
The former is VRML3.0 and the latter VRML 2.0
The LOD Behavior node is kept as a child of the group node that works
here. When the VRML node is removed from the scene, the behavior is too.
When the behavior is asked to be disabled, we just call the
setEnable method on the behavior, we do not remove it.
If someone routes a range change to us, then we see if it is the same length. If it is, we just set the range values in the existing behavior. If not, then we have to replace the old LOD with a new LOD that has the correct number of nodes in it. If the size of the range grows such that it is greater than the number of children nodes, we disable the behavior until the number of children increase to the correct amount. In the branchgroup, the behavior is always
- Version:
- $Revision: 1.3 $
- Author:
- Alan Hudson
-
Field Summary
Fields inherited from class org.web3d.vrml.renderer.common.nodes.group.BaseSwitch
FIELD_WHICH_CHOICE, LAST_SWITCH_INDEX, NUM_FIELDS, vfWhichChoiceFields inherited from class org.web3d.vrml.renderer.common.nodes.BaseGroupingNode
childCount, FIELD_ADDCHILDREN, FIELD_BBOX_CENTER, FIELD_BBOX_DISPLAY, FIELD_BBOX_SIZE, FIELD_CHILDREN, FIELD_REMOVECHILDREN, FIELD_VISIBLE, hasBindables, LAST_GROUP_INDEX, shareCount, USE_BIND_MSG, vfBboxCenter, vfBboxDisplay, vfBboxSize, vfChildren, vfVisibleFields inherited from class org.web3d.vrml.renderer.common.nodes.AbstractNode
errorReporter, FIELD_METADATA, fieldLocalData, hasChanged, inSetup, isDEF, isStatic, LAST_NODE_INDEX, layerIds, nodeName, pMetadata, refCounts, removedLayerIds, stateManager, STATIC_SCENE_GRAPH, vfMetadata, vrmlMajorVersion, vrmlMinorVersion -
Constructor Summary
ConstructorsConstructorDescriptionNRSwitch()Construct a default instance of this node.NRSwitch(VRMLNodeType node) Construct a new instance of this node based on the details from the given node. -
Method Summary
Methods inherited from class org.web3d.vrml.renderer.common.nodes.group.BaseSwitch
getFieldDeclaration, getFieldIndex, getFieldValue, getNodeFieldIndices, getNumFields, sendRoute, setValue, setWhichChoiceMethods inherited from class org.web3d.vrml.renderer.common.nodes.BaseGroupingNode
addChild, addChildNode, clearChildren, containsBindableNodes, copy, getBboxCenter, getBboxDisplay, getBboxSize, getChildren, getChildrenSize, getPrimaryType, getVisible, isShared, removeChildNode, setBboxCenter, setBboxDisplay, setBboxSize, setChildren, setChildren, setDEF, setShared, setupFinished, setValue, setValue, setValue, setValue, setVisible, updateRefCountMethods inherited from class org.web3d.vrml.renderer.common.nodes.AbstractNode
addNodeListener, allEventsComplete, checkNodeType, checkSecondaryType, checkSecondaryType, clearRemovedLayerIds, fireFieldChanged, getLayerIds, getMetadataObject, getRefCount, getRemovedLayerIds, getSecondaryType, getUserData, getVRMLNodeName, hasFieldChanged, isDEF, isSetupFinished, notifyExternProtoLoaded, removeNodeListener, setErrorReporter, setFrameStateManager, setMetadataObject, setUserData, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setVersion, throwInitOnlyWriteException, throwInputOnlyWriteException, throwInvalidNodeException, throwInvalidProtoException, throwOutputOnlyWriteException, updateRefsMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.web3d.vrml.nodes.FrameStateListener
allEventsCompleteMethods inherited from interface org.web3d.vrml.lang.VRMLNode
getFieldDeclaration, getFieldIndex, getNodeFieldIndices, getNumFields, getPrimaryType, getSecondaryType, getUserData, getVRMLNodeName, isDEF, setErrorReporter, setUserData, setVersionMethods inherited from interface org.web3d.vrml.nodes.VRMLNodeType
addNodeListener, clearRemovedLayerIds, getFieldValue, getLayerIds, getMetadataObject, getRefCount, getRemovedLayerIds, hasFieldChanged, isSetupFinished, notifyExternProtoLoaded, removeNodeListener, sendRoute, setDEF, setFrameStateManager, setMetadataObject, setupFinished, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, updateRefCount
-
Constructor Details
-
NRSwitch
public NRSwitch()Construct a default instance of this node. The defaults are set by the VRML specification. -
NRSwitch
Construct a new instance of this node based on the details from the given node. If the node is not a group node, an exception will be thrown. It does not copy the children nodes, just this node.- Parameters:
node- The node to copy- Throws:
IllegalArgumentException- The node is not a Group node
-