Castle Game Engine: X3DNodes: Class TViewpointNode

# Class TViewpointNode
Description | Hierarchy | Fields | Methods | Properties
## Unit X3DNodes ## Declaration `type TViewpointNode = class(TAbstractX3DViewpointNode)` ## Description no description available, TAbstractX3DViewpointNode description follows no description available, TAbstractViewpointNode description follows Common ancestor for both VRML 1.0 camera nodes and VRML/X3D >= 2.0 viewpoint nodes. ## Hierarchy TPersistent TNonRefCountedInterfacedPersistent TX3DFileItem TX3DNode TAbstractNode TAbstractChildNode TAbstractBindableNode TAbstractViewpointNode TAbstractX3DViewpointNode TViewpointNode ## Overview ### Methods
| `procedure CreateNode; override;`
| `class function ClassNodeTypeName: string; override;`
| `class function URNMatching(const URN: string): boolean; override;`
| `function Position: TSFVec3f; override;`
| `class function ProjectionType: TProjectionType; override;`
| `function AngleOfView(const ThisToOtherSizeRatio: Single): Single;`
| `class function ViewpointAngleOfView( FieldOfView: Single; const ThisToOtherSizeRatio: Single): Single;`
| `function ProjectionMatrix: TMatrix4Single; override;`
### Properties
| `property FdFieldOfView: TSFFloat read FFdFieldOfView;`
| `property FdPosition: TSFVec3f read FFdPosition;`
## Description ### Methods
| `procedure CreateNode; override;`
| `class function ClassNodeTypeName: string; override;`
| `class function URNMatching(const URN: string): boolean; override;`
| `function Position: TSFVec3f; override;`
| `class function ProjectionType: TProjectionType; override;`
| `function AngleOfView(const ThisToOtherSizeRatio: Single): Single;`
This calculates proper angle of view for typical rectangular display, based on given fieldOfView field value. Result is in radians (just like fieldOfView VRML field). If you want to calculate horizontal angle of view then pass as ThisToOtherSizeRatio your window's width / height. If you want to calculate vertical angle of view then pass as ThisToOtherSizeRatio your window's height / width. For this method it doesn't really matter which is horizontal and which is vertical, both are treated the same. This works following VRML spec. So the angle of view for smaller window size is set to fieldOfViee. The other angle can always be calculated by AdjustViewAngleRadToAspectRatio (this implements the same equation that is mentioned in VRML spec). The larger angle cannot be larger than Pi, and may force the smaller angle to be smaller than fieldOfView.
| `class function ViewpointAngleOfView( FieldOfView: Single; const ThisToOtherSizeRatio: Single): Single;`
This is like AngleOfView, but it allows you to specify FieldOfView as a parameter.
| `function ProjectionMatrix: TMatrix4Single; override;`
### Properties
| `property FdFieldOfView: TSFFloat read FFdFieldOfView;`
| `property FdPosition: TSFVec3f read FFdPosition;`
Generated by PasDoc 0.13.0 on 2015-06-15 04:43:15