0024005: Intersecting a slightly off angle plane with a cylinder takes 7+ seconds
[occt.git] / src / V3d / V3d_Plane.cdl
CommitLineData
b311480e 1-- Created on: 1992-01-17
2-- Created by: GG
3-- Copyright (c) 1992-1999 Matra Datavision
4-- Copyright (c) 1999-2012 OPEN CASCADE SAS
5--
6-- The content of this file is subject to the Open CASCADE Technology Public
7-- License Version 6.5 (the "License"). You may not use the content of this file
8-- except in compliance with the License. Please obtain a copy of the License
9-- at http://www.opencascade.org and read it completely before using this file.
10--
11-- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12-- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13--
14-- The Original Code and all software distributed under the License is
15-- distributed on an "AS IS" basis, without warranty of any kind, and the
16-- Initial Developer hereby disclaims all such warranties, including without
17-- limitation, any warranties of merchantability, fitness for a particular
18-- purpose or non-infringement. Please see the License for the specific terms
19-- and conditions governing the rights and limitations under the License.
20
7fd59977 21-- Modified: GG 23/11/00 Add Display(),Erase(),IsDisplayed() methods
7fd59977 22
23
4952a30a 24class Plane from V3d
25
26inherits
7fd59977 27
28 TShared
29 ---Purpose: Defines the services of Plane type objects. Only
4952a30a 30 -- the creation and editing of the functions is dealt
7fd59977 31 -- with here.
32 -- Warning: The representation of the clipping plane must be
33 -- calculated by the application by means of Graphic3d.
34 -- Editing of this representation must be coherent with
35 -- respect to the position of the plane.
36
37uses
38
7fd59977 39 View from V3d,
40 ClipPlane from Visual3d,
41 Structure from Graphic3d,
42 Parameter from Quantity,
4952a30a 43 Color from Quantity
7fd59977 44
45
46raises
47
6942f04a 48 BadValue from V3d
7fd59977 49
50is
51
52 --
53 -- The methods :
54 --
55
4952a30a 56 Create (A: Parameter = 0.0;
57 B: Parameter = 0.0;
58 C: Parameter = 1.0;
59 D: Parameter = 0.0
60 ) returns mutable Plane
7fd59977 61 ---Level : Public
62 ---Purpose: Creates a clipping plane using the equation :
63 -- <A>*X + <B>*Y + <C>*Z + <D> = 0.0
6942f04a 64 raises BadValue from V3d;
65 ---Purpose: Warning! raises BadValue from V3d
7fd59977 66 -- if the norm of the plane is NULL.
67
68 --------------------------------------------------------
69 ---Category: Methods to modify the Attributs of the Plane
70 --------------------------------------------------------
71
4952a30a 72 SetPlane( me : mutable; A,B,C,D : Parameter)
7fd59977 73 ---Level : Public
74 ---Purpose: Modifies the plane equation.
6942f04a 75 raises BadValue from V3d
76 ---Purpose: Warning! raises BadValue from V3d
7fd59977 77 -- if the norm of the plane is NULL.
78 -- If the norm of the plane is NULL.
79 is static;
80
81 Display(me: mutable; aView: View from V3d;
82 aColor: Color from Quantity= Quantity_NOC_GRAY)
83 ---Level : Public
84 ---Purpose: Display the plane representation
4952a30a 85 -- in the choosen view.
7fd59977 86 is virtual;
87
88 Erase(me: mutable) is static;
89 ---Level: Public
90 ---Purpose: Erase the plane representation.
4952a30a 91
7fd59977 92 ---------------------------------------------------
93 ---Category: Inquire methods
94 ---------------------------------------------------
95
96 Plane( me ; A,B,C,D : out Parameter ) is static;
97 ---Level : Public
98 ---Purpose: Returns the parameters of the plane .
99
100 IsDisplayed( me ) returns Boolean from Standard is static;
101 ---Level : Public
4952a30a 102 ---Purpose: Returns TRUE when the plane representation is displayed
7fd59977 103
104 -----------------------------------------
105 ---Category: Private or Protected methods
106 -----------------------------------------
107
108 Plane( me) returns mutable ClipPlane from Visual3d is static private ;
109 ---Level : Internal
110 ---Purpose: Returns the associated plane from Visual3d.
111
112 Update( me : mutable ) is static private;
113 ---Level : Internal
114 ---Purpose: Updates the the plane representation.
4952a30a 115
7fd59977 116
117fields
118
119 MyPlane: ClipPlane from Visual3d ;
120 MyGraphicStructure: Structure from Graphic3d is protected;
121
122friends
123
124 SetPlaneOn from class View from V3d ( me : mutable ),
125 SetPlaneOn from class View from V3d
126 ( me : mutable ; Plane : Plane from V3d ),
127 SetPlaneOff from class View from V3d ( me : mutable ),
128 SetPlaneOff from class View from V3d
129 ( me : mutable ; Plane : Plane from V3d )
130
131end Plane;