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 | 
|---|---|---|---|---|---|---|
|  | principalPoint | SFVec2f | inputOutput | 0 0 | The relative position of the principal point. | |
|  | 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. | |
|  | fovMode | SFString | initializeOnly | SMALLER | [VERTICAL, HORIZONTAL, SMALLER] | Defines whether the field of view is measured vertically, horizontally or in the smaller direction. | 
|  | aspect | SFFloat | inputOutput | 1.0 | The aspect ratio (i.e. width / height) of a pixel. | |
|  | centerOfRotation | SFVec3f | inputOutput | 0 0 0 | centerOfRotation point relates to NavigationInfo EXAMINE mode. | |
|  | 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. | |
|  | position | SFVec3f | inputOutput | 0 0 10 | Position (x, y, z in meters) relative to local coordinate system. | |
|  | upVector | SFVec3f | inputOutput | 0 1 0 | The up vector in world space (usually the y axis). | |
|  | navigator | MFNode | inputOutput | Navigator3D | holds the 3d navigator which will be called for bound nodes | |
|  | zNear | SFFloat | inputOutput | -1 | z-near position; used for clipping | |
|  | zFar | SFFloat | inputOutput | -1 | z-far position; used for clipping | |
|  | jump | SFBool | inputOutput | TRUE | Sspecifies whether the user's view jumps to the position and orientation of a bound node or remains unchanged | |
|  | retainUserOffsets | SFBool | inputOutput | FALSE | retainUserOffsets is FALSE, the viewer is returned to the originally defined viewpoint position/orientation after local navigation | |
|  | isInteractive | SFBool | outputOnly | FALSE | Event true sent when node becomes interactive, user can navigate the view transformation | |
|  | 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 | ||
|  | 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 | ||
|  | 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. | |
|  | splitGroup | SFNode | inputOutput | SplitGroup | holds SplitGroup node for this bindable | |
|  | children | MFNode | inputOutput | the children fields allow to place object relative to the current camera transformation. | ||
|  | bind | XFAny | inputOnly | sending any event to this slot will bind/activate the Bindable | ||
|  | 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 | ||
|  | bindTime | SFTime | outputOnly | Event sent when node becomes active/inactive. | ||
|  | isBound | SFBool | outputOnly | FALSE | Event true sent when node becomes active, event false sent when unbound by another node. | |
|  | 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)) | |
|  | 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) | ||
|  | 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. | |
|  | 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. | ||
|  | 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 | |
|  | metadata | SFNode | inputOutput | MetadataObject | container for payload metadata inside MetadataSet element | 
