fb5160bdaf85ab206194f54ae132a922adc282a4
[occt.git] / src / V3d / V3d_Plane.cdl
1 -- File:        Plane.cdl
2 -- Created:     Fri Jan 17 11:54:50 1992
3 -- Author:      GG
4 -- Modified:    GG 23/11/00 Add Display(),Erase(),IsDisplayed() methods
5 ---Copyright:   Matra Datavision 1992
6
7
8 class Plane from V3d 
9         
10 inherits 
11
12         TShared
13         ---Purpose: Defines the services of Plane type objects. Only
14         --          the creation and editing of the functions is dealt 
15         --          with here.
16         -- Warning: The representation of the clipping plane must be
17         --          calculated by the application by means of Graphic3d.
18         --          Editing of this representation must be coherent with
19         --          respect to the position of the plane.
20
21 uses
22
23         Viewer from V3d,
24         View from V3d,
25         ClipPlane from Visual3d,
26         Structure from Graphic3d,
27         Parameter from Quantity,
28         Color from Quantity  
29
30
31 raises
32
33         BadValue from Viewer
34
35 is
36
37         --
38         -- The methods :
39         --
40
41         Create ( VM : Viewer ; A: Parameter = 0.0; 
42                                B: Parameter  = 0.0;
43                                C: Parameter  = 1.0;
44                                D: Parameter  = 0.0
45         )  returns mutable Plane 
46         ---Level : Public
47         ---Purpose: Creates a clipping plane using the equation :
48         --          <A>*X + <B>*Y + <C>*Z + <D> = 0.0
49         raises BadValue from Viewer;
50         ---Purpose:  Warning! raises BadValue from Viewer
51         --          if the norm of the plane is NULL.
52
53         --------------------------------------------------------
54         ---Category: Methods to modify the Attributs of the Plane
55         --------------------------------------------------------
56
57         SetPlane( me : mutable; A,B,C,D : Parameter) 
58         ---Level : Public
59         ---Purpose: Modifies the plane equation.
60         raises BadValue from Viewer
61         ---Purpose:  Warning! raises BadValue from Viewer
62         --          if the norm of the plane is NULL.
63         --      If the norm of the plane is NULL.
64         is static;
65
66         Display(me: mutable; aView: View from V3d;
67                              aColor: Color from Quantity= Quantity_NOC_GRAY)
68         ---Level : Public
69         ---Purpose: Display the plane representation
70         --          in the choosen view. 
71         is virtual;
72
73         Erase(me: mutable) is static;
74         ---Level: Public
75         ---Purpose: Erase the plane representation.
76         
77         ---------------------------------------------------
78         ---Category: Inquire methods
79         ---------------------------------------------------
80
81         Plane( me ; A,B,C,D : out Parameter )  is static;
82         ---Level : Public
83         ---Purpose: Returns the parameters of the plane .
84
85         IsDisplayed( me ) returns Boolean from Standard is static;
86         ---Level : Public
87         ---Purpose: Returns TRUE when the plane representation is displayed 
88
89         -----------------------------------------
90         ---Category: Private or Protected methods
91         -----------------------------------------
92
93         Plane( me) returns mutable ClipPlane from Visual3d is static private ;
94         ---Level : Internal
95         ---Purpose: Returns the associated plane from Visual3d.
96
97         Update( me : mutable ) is static private;
98         ---Level : Internal
99         ---Purpose: Updates the the plane representation.
100         
101
102 fields
103
104         MyPlane:        ClipPlane from Visual3d ;
105         MyGraphicStructure:     Structure from Graphic3d is protected;
106
107 friends
108
109         SetPlaneOn from class View from V3d ( me : mutable ),
110         SetPlaneOn from class View from V3d
111                                 ( me : mutable ; Plane : Plane from V3d ),
112         SetPlaneOff from class View from V3d ( me : mutable ),
113         SetPlaneOff from class View from V3d
114                                 ( me : mutable ; Plane : Plane from V3d )
115
116 end Plane;