blob: 9687a19dd0427608cfc2cabe6db5f93dd94f4a68 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
-- File: Vrml_PerspectiveCamera.cdl
-- Created: Wed Feb 12 11:01:37 1997
-- Author: Alexander BRIVIN
-- <brivin@meteox.nizhny.matra-dtv.fr>
---Copyright: Matra Datavision 1997
class PerspectiveCamera from Vrml
---Purpose: specifies a PerspectiveCamera node of VRML specifying properties of cameras.
-- A perspective camera defines a perspective projection from a viewpoint. The viewing
-- volume for a perspective camera is a truncated right pyramid.
uses
Vec from gp,
SFRotation from Vrml
is
-- defaults :
Create returns PerspectiveCamera from Vrml; -- myPosition(0 0 1) Camera looks along the negative Z-axis
-- myOrientation(0 0 1 0)
-- myFocalDistance(5)
-- myHeightAngle(0.785398)
Create ( aPosition : Vec from gp;
aOrientation : SFRotation from Vrml;
aFocalDistance : Real from Standard;
aHeightAngle : Real from Standard )
returns PerspectiveCamera from Vrml;
SetPosition ( me : in out; aPosition : Vec from gp );
Position ( me ) returns Vec from gp;
SetOrientation ( me : in out; aOrientation : SFRotation from Vrml );
Orientation ( me ) returns SFRotation from Vrml;
SetFocalDistance ( me : in out; aFocalDistance : Real from Standard );
FocalDistance ( me ) returns Real from Standard;
SetAngle ( me : in out; aHeightAngle : Real from Standard );
Angle ( me ) returns Real from Standard;
Print ( me; anOStream: in out OStream from Standard) returns OStream from Standard;
---C++: return &
fields
myPosition : Vec from gp; -- Location of viewpoint
myOrientation : SFRotation from Vrml; -- Orientation (rotation with respect to (0,0,-1) vector)
myFocalDistance : Real from Standard; -- Distance from viewpoint to point of focus.
myHeightAngle : Real from Standard; -- Angle (in radians) of field
-- of view, in height direction
end PerspectiveCamera;
|