0024830: Remove redundant keyword 'mutable' in CDL declarations
[occt.git] / src / VrmlConverter / VrmlConverter_Projector.cdl
CommitLineData
b311480e 1-- Created on: 1997-06-06
2-- Created by: Alexander BRIVIN
3-- Copyright (c) 1997-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
d5f74e42 8-- This library is free software; you can redistribute it and/or modify it under
9-- the terms of the GNU Lesser General Public License version 2.1 as published
973c2be1 10-- by the Free Software Foundation, with special exception defined in the file
11-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12-- distribution for complete text of the license and disclaimer of any warranty.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17class Projector from VrmlConverter inherits TShared from MMgt
18
19 ---Purpose:
20 -- defines projector and calculates properties of cameras and lights from Vrml
21 -- ( OrthograpicCamera, PerspectiveCamera, DirectionalLight, PointLight, SpotLight
22 -- and MatrixTransform ) to display all scene shapes with arbitrary locations
23 -- for requested the Projection Vector, High Point Direction and the Focus
24 -- and adds them ( method Add ) to anOSream.
25
26uses
27
28 Projector from HLRAlgo,
29 Array1OfShape from TopTools,
30 Length from Quantity,
31 PerspectiveCamera from Vrml,
32 OrthographicCamera from Vrml,
33 DirectionalLight from Vrml,
34 PointLight from Vrml,
35 SpotLight from Vrml,
36 TypeOfCamera from VrmlConverter,
37 TypeOfLight from VrmlConverter,
38 MatrixTransform from Vrml
39
40is
41
42 Create ( Shapes: Array1OfShape from TopTools;
43 Focus: Length from Quantity;
44 DX, DY, DZ: Length from Quantity; -- Projection Vector
45 XUp, YUp, ZUp: Length from Quantity; -- High Point Direction
46 Camera: TypeOfCamera from VrmlConverter = VrmlConverter_NoCamera;
47 Light: TypeOfLight from VrmlConverter = VrmlConverter_NoLight )
6e33d3ce 48 returns Projector from VrmlConverter;
7fd59977 49
50
51 SetCamera ( me: mutable; aCamera : TypeOfCamera from VrmlConverter );
52 Camera ( me ) returns TypeOfCamera from VrmlConverter;
53
54 SetLight ( me: mutable; aLight : TypeOfLight from VrmlConverter );
55 Light ( me ) returns TypeOfLight from VrmlConverter;
56
57
58 Add(me; anOStream: in out OStream from Standard);
59 ---Purpose:
60 -- Adds into anOStream if they are defined in Create.
61 -- PerspectiveCamera,
62 -- OrthographicCamera,
63 -- DirectionLight,
64 -- PointLight,
65 -- SpotLight
66 -- with MatrixTransform from VrmlConverter;
67
68
69 Projector(me) returns Projector from HLRAlgo
70 is static;
71
72fields
73
74 myProjector: Projector from HLRAlgo;
75 myPerspectiveCamera: PerspectiveCamera from Vrml;
76 myOrthographicCamera: OrthographicCamera from Vrml;
77 myDirectionalLight: DirectionalLight from Vrml;
78 myPointLight: PointLight from Vrml;
79 mySpotLight: SpotLight from Vrml;
80 myTypeOfCamera: TypeOfCamera from VrmlConverter;
81 myTypeOfLight: TypeOfLight from VrmlConverter;
82 myMatrixTransform: MatrixTransform from Vrml;
83
84end Projector;
85
86