b311480e |
1 | -- Created on: 1992-01-17 |
2 | -- Created by: GG |
3 | -- Copyright (c) 1992-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. |
b311480e |
16 | |
7fd59977 |
17 | -- Update: FDA Oct 15 1994 |
18 | -- ZOV - Mars 30 1998 |
19 | -- GG IMP230300 Add SetColor() and Color() methods |
20 | -- GG - 23/11/00 Add IsDisplayed() method |
7fd59977 |
21 | |
22 | |
23 | deferred class Light from V3d |
24 | |
25 | ---Purpose: Defines services on Light type objects.. |
ff8178ef |
26 | -- (base class for AmbientLight and PositionLight) |
7fd59977 |
27 | |
28 | |
29 | inherits |
30 | |
31 | TShared |
32 | |
33 | uses |
34 | |
35 | TypeOfLight from V3d, |
36 | TypeOfRepresentation from V3d, |
37 | TypeOfPickLight from V3d, |
38 | View from V3d, |
39 | Viewer from V3d, |
40 | Coordinate from V3d, |
41 | Light from Visual3d, |
42 | TypeOfColor from Quantity, |
43 | NameOfColor from Quantity, |
44 | Color from Quantity, |
45 | Parameter from Quantity, |
46 | PlaneAngle from Quantity, |
47 | Group from Graphic3d, |
48 | Vertex from Graphic3d, |
49 | Structure from Graphic3d |
50 | |
51 | raises |
6942f04a |
52 | BadValue from V3d |
7fd59977 |
53 | |
54 | is |
55 | |
6e33d3ce |
56 | Initialize( VM : Viewer ) ; |
7fd59977 |
57 | |
58 | -------------------------------------------------------- |
59 | ---Category: Methods to modify the attributes of the Light |
60 | -------------------------------------------------------- |
61 | |
62 | SetColor( me : mutable; Type: TypeOfColor ; V1 , V2 , V3 : Parameter) |
63 | is static; |
64 | ---Level: Public |
65 | ---Purpose: Defines the colour of a light source |
66 | -- according to the type of colour definition |
67 | -- and the three corresponding values. |
68 | |
69 | SetColor( me : mutable; Name : NameOfColor ) is static; |
70 | ---Level: Public |
71 | ---Purpose: Defines the colour of a light source by giving |
72 | -- the name of the colour in the form Quantity_NOC_xxxx . |
73 | |
74 | SetColor( me : mutable; Name : Color ) is static; |
75 | ---Level: Public |
76 | ---Purpose: Defines the colour of a light source by giving |
77 | -- the basic colour. |
78 | |
79 | --------------------------------------------------- |
80 | ---Category: Inquire methods |
81 | --------------------------------------------------- |
82 | |
83 | Color ( me; Type: TypeOfColor ; V1 , V2 , V3 : out Parameter ) |
84 | is static; |
85 | ---Level: Public |
86 | ---Purpose: Returns the colour of the light source depending of |
87 | -- the color type. |
88 | |
89 | Color( me ; Name : out NameOfColor ) is static; |
90 | ---Level: Public |
91 | ---Purpose: Returns the colour of the light source. |
92 | |
93 | Color( me ) returns Color is static; |
94 | ---Level: Public |
95 | ---Purpose: Returns the colour of the light source. |
96 | |
97 | Type ( me ) returns TypeOfLight from V3d is static; |
98 | ---Level: Public |
99 | ---Purpose: Returns the Type of the Light |
100 | |
101 | Headlight ( me ) returns Boolean from Standard is static; |
102 | ---Level: Public |
103 | ---Purpose: returns true if the light is a headlight |
104 | |
12381341 |
105 | SetHeadlight( me : mutable; theValue : Boolean from Standard ) is static; |
106 | ---Level: Public |
107 | ---Purpose: Setup headlight flag. |
108 | |
7fd59977 |
109 | IsDisplayed( me ) returns Boolean from Standard; |
110 | ---Level: Public |
111 | ---Purpose: Returns TRUE when a light representation is displayed |
112 | |
113 | ----------------------------------------- |
114 | ---Category: Private or Protected methods |
115 | ----------------------------------------- |
116 | |
117 | SymetricPointOnSphere ( myclass ; aView : View from V3d; |
118 | Center : Vertex from Graphic3d; |
119 | aPoint : Vertex from Graphic3d; |
120 | Radius : Parameter; |
121 | X,Y,Z : out Coordinate; |
122 | VX,VY,VZ : out Parameter ) |
123 | is protected ; |
124 | ---Level: Internal |
125 | ---Purpose: Returns the symetric point coordinates of "aPoint" |
126 | -- on the sphere of center "Center" and radius "Radius". |
127 | -- VX,VY,VZ is the project vector of view. |
128 | |
6e33d3ce |
129 | Light ( me ) returns Light from Visual3d is static private ; |
7fd59977 |
130 | ---Level: Internal |
131 | ---Purpose: Returns the Light of the associated Visual3d. |
132 | |
133 | fields |
134 | |
135 | MyType: TypeOfLight from V3d is protected ; |
136 | MyLight: Light from Visual3d is protected ; |
137 | MyGraphicStructure: Structure from Graphic3d is protected; |
138 | MyGraphicStructure1: Structure from Graphic3d is protected; |
139 | |
140 | friends |
141 | |
142 | SetLightOn from class View from V3d |
143 | ( me : mutable ; MyLight : Light from V3d ), |
144 | SetLightOn from class View from V3d ( me : mutable ), |
145 | SetLightOff from class View from V3d |
146 | ( me : mutable ; MyLight : Light from V3d ), |
147 | SetLightOff from class View from V3d ( me : mutable ) |
148 | |
149 | end Light; |