instantreality 1.0

Component:
Navigation
Status:
fully implemented
Structure type:
concrete
Standard:
Avalon

PerspectiveViewpoint (Standard name: Viewpoint)

Viewpoint provides a specific location and direction where the user may view the scene. The principalPoint extention allows to set asymmetric frustums.

Inheritance

Code

XML encoding
<PerspectiveViewpoint principalPoint='0 0'
fieldOfView='0.785398'
fovMode='SMALLER'
aspect='1.0'
centerOfRotation='0 0 0'
orientation='0 0 1 0'
position='0 0 10'
upVector='0 1 0'
zNear='-1'
zFar='-1'
jump='TRUE'
retainUserOffsets='FALSE'
isDefault='FALSE'
description=''
triggerName='Synchronize'
logFeature=''
 />
Classic encoding
PerspectiveViewpoint {
	principalPoint 0 0
	fieldOfView 0.785398
	fovMode "SMALLER"
	aspect 1.0
	centerOfRotation 0 0 0
	orientation 0 0 1 0
	position 0 0 10
	upVector 0 1 0
	zNear -1
	zFar -1
	jump TRUE
	retainUserOffsets FALSE
	isDefault FALSE
	description ""
	triggerName "Synchronize"
	logFeature [""]
}

Interface

Filter: X3D only | Avalon only | All
id Name DataType PartType Default ValueType Description
MFNode children MFNode inputOutput the children fields allow to place object relative to the current camera transformation.
MFNode effects MFNode inputOutput VisualEffects Specifies the desired global effects like depth of field and motion blur for the post-processing step that are specific to a certain camera or lens type.
MFNode navigator MFNode inputOutput Navigator3D holds the 3d navigator which will be called for bound nodes
MFString logFeature MFString inputOutput state, child, parent, route, eventIn, eventOut controls the logging of changes, state: log state changes (e.g. live), child: log child add/remove, parent: log parent add/remove, route: log route add/remove; eventIn: log receiving of events, eventOut: log sending of events: guiView, runtime system should create node-view, guiEdit: runtime system should create node-editeverything: log everything
SFBool isBound SFBool outputOnly FALSE Event true sent when node becomes active, event false sent when unbound by another node.
SFBool isDefault SFBool initializeOnly FALSE indicates if the object is the default bindable or not (generated if the scene did not contain any Bindable of a missing Type (e.g. Viewpoint))
SFBool isInteractive SFBool outputOnly FALSE Event true sent when node becomes interactive, user can navigate the view transformation
SFBool jump SFBool inputOutput TRUE Sspecifies whether the user's view jumps to the position and orientation of a bound node or remains unchanged
SFBool retainUserOffsets SFBool inputOutput FALSE retainUserOffsets is FALSE, the viewer is returned to the originally defined viewpoint position/orientation after local navigation
SFBool set_bind SFBool inputOnly Sending event set_bind=true makes this node active. Sending event set_bind=false makes this node inactive. Thus setting set_bind to true/false will pop/push (enable/disable) this Bindable
SFFloat aspect SFFloat inputOutput 1.0 The aspect ratio (i.e. width / height) of a pixel.
SFFloat fieldOfView SFFloat inputOutput 0.785398 Preferred minimum viewing angle from this viewpoint in radians. Small field of view roughly corresponds to a telephoto lens, large field of view roughly corresponds to a wide-angle lens. Hint: modifying Viewpoint distance to object may be better for zooming. Warning: fieldOfView may not be correct for different window sizes and aspect ratios. Interchange profile hint: this field may be ignored.
SFFloat zFar SFFloat inputOutput -1 z-far position; used for clipping
SFFloat zNear SFFloat inputOutput -1 z-near position; used for clipping
SFMatrix4f transformation_request SFMatrix4f outputOnly sends a new request to evaluate a local transformation. Its mainly used together with a NavigationEvaluator node to verify the transformation given by the navigator
SFMatrix4f transformation_result SFMatrix4f inputOnly this slot is used to transform the view to the given local transformation. It is mainly used to return the camera transformation after processed by a NavigationEvaluator
SFNode metadata SFNode inputOutput MetadataObject container for payload metadata inside MetadataSet element
SFNode splitGroup SFNode inputOutput SplitGroup holds SplitGroup node for this bindable
SFRotation orientation SFRotation inputOutput 0 0 1 0 Rotation (axis, angle in radians) of Viewpoint, relative to default -Z axis direction in local coordinate system. Hint: this is orientation _change_ from default direction (0 0 -1). Hint: complex rotations can be accomplished axis-by-axis using parent Transforms.
SFString description SFString initializeOnly Text description or navigation hint to be displayed for this Bindable. Hint: make descriptions clear and readable. Warning: without description, Bindable (e.g. Viewpoint objs) can not be activated/deactivated with keyboard or gui messages (e.g. switched with PgUp bzw PgDn)
SFString fovMode SFString initializeOnly SMALLER [VERTICAL, HORIZONTAL, SMALLER] Defines whether the field of view is measured vertically, horizontally or in the smaller direction.
SFString triggerName SFString initializeOnly Synchronize name of the dynamic context-slot which is used by the run-time environment (e.g. Jobs) to trigger the node. Life-Nodes will automatically connect the context-eventOutut to the triggerSlot-eventInput Slot.
SFTime bindTime SFTime outputOnly Event sent when node becomes active/inactive.
SFTime triggerSlot SFTime inputOnly slot which is used internally to connect a dynamic context-slot which name is set by the triggerName value. Its used automatically to install run-time environment trigger.
SFVec2f principalPoint SFVec2f inputOutput 0 0 The relative position of the principal point.
SFVec3f centerOfRotation SFVec3f inputOutput 0 0 0 centerOfRotation point relates to NavigationInfo EXAMINE mode.
SFVec3f position SFVec3f inputOutput 0 0 10 Position (x, y, z in meters) relative to local coordinate system.
SFVec3f upVector SFVec3f inputOutput 0 1 0 The up vector in world space (usually the y axis).
XFAny bind XFAny inputOnly sending any event to this slot will bind/activate the Bindable