OCC22357 Hidden face selection
[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         View from V3d,
24         ClipPlane from Visual3d,
25         Structure from Graphic3d,
26         Parameter from Quantity,
27         Color from Quantity
28
29
30 raises
31
32         BadValue from Viewer
33
34 is
35
36         --
37         -- The methods :
38         --
39
40         Create (A: Parameter = 0.0;
41                 B: Parameter = 0.0;
42                 C: Parameter = 1.0;
43                 D: Parameter = 0.0
44         )  returns mutable Plane
45         ---Level : Public
46         ---Purpose: Creates a clipping plane using the equation :
47         --          <A>*X + <B>*Y + <C>*Z + <D> = 0.0
48         raises BadValue from Viewer;
49         ---Purpose:  Warning! raises BadValue from Viewer
50         --          if the norm of the plane is NULL.
51
52         --------------------------------------------------------
53         ---Category: Methods to modify the Attributs of the Plane
54         --------------------------------------------------------
55
56         SetPlane( me : mutable; A,B,C,D : Parameter)
57         ---Level : Public
58         ---Purpose: Modifies the plane equation.
59         raises BadValue from Viewer
60         ---Purpose:  Warning! raises BadValue from Viewer
61         --          if the norm of the plane is NULL.
62         --      If the norm of the plane is NULL.
63         is static;
64
65         Display(me: mutable; aView: View from V3d;
66                              aColor: Color from Quantity= Quantity_NOC_GRAY)
67         ---Level : Public
68         ---Purpose: Display the plane representation
69         --          in the choosen view.
70         is virtual;
71
72         Erase(me: mutable) is static;
73         ---Level: Public
74         ---Purpose: Erase the plane representation.
75
76         ---------------------------------------------------
77         ---Category: Inquire methods
78         ---------------------------------------------------
79
80         Plane( me ; A,B,C,D : out Parameter )  is static;
81         ---Level : Public
82         ---Purpose: Returns the parameters of the plane .
83
84         IsDisplayed( me ) returns Boolean from Standard is static;
85         ---Level : Public
86         ---Purpose: Returns TRUE when the plane representation is displayed
87
88         -----------------------------------------
89         ---Category: Private or Protected methods
90         -----------------------------------------
91
92         Plane( me) returns mutable ClipPlane from Visual3d is static private ;
93         ---Level : Internal
94         ---Purpose: Returns the associated plane from Visual3d.
95
96         Update( me : mutable ) is static private;
97         ---Level : Internal
98         ---Purpose: Updates the the plane representation.
99
100
101 fields
102
103         MyPlane:        ClipPlane from Visual3d ;
104         MyGraphicStructure:     Structure from Graphic3d is protected;
105
106 friends
107
108         SetPlaneOn from class View from V3d ( me : mutable ),
109         SetPlaneOn from class View from V3d
110                                 ( me : mutable ; Plane : Plane from V3d ),
111         SetPlaneOff from class View from V3d ( me : mutable ),
112         SetPlaneOff from class View from V3d
113                                 ( me : mutable ; Plane : Plane from V3d )
114
115 end Plane;