0024005: Intersecting a slightly off angle plane with a cylinder takes 7+ seconds
[occt.git] / src / Visual3d / Visual3d_ClipPlane.cdl
CommitLineData
b311480e 1-- Created on: 1991-09-06
2-- Created by: NW,JPB,CAL
3-- Copyright (c) 1991-1999 Matra Datavision
4-- Copyright (c) 1999-2012 OPEN CASCADE SAS
7fd59977 5--
b311480e 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.
7fd59977 10--
b311480e 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.
7fd59977 13--
b311480e 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
22class ClipPlane from Visual3d inherits TShared
23
24 ---Version:
25
26 ---Purpose: This class allows the definition and update
27 -- of clipping planes in the space model.
28
29 ---Keywords: Clipping Plane, Model Clipping
30
31 ---Warning:
32 ---References:
33
34uses
35
36 CPlane from Graphic3d
37
38is
39
40 Create ( ACoefA : Real from Standard;
41 ACoefB : Real from Standard;
42 ACoefC : Real from Standard;
43 ACoefD : Real from Standard )
44 returns mutable ClipPlane from Visual3d;
45 ---Level: Internal
46 ---Purpose: Creates a clipping plane from the equation :
47 -- <ACoefA>*X + <ACoefB>*Y + <ACoefC>*Z + <ACoefD> = 0.0
48
49 ---------------------------------------------------
50 -- Category: Methods to modify the class definition
51 ---------------------------------------------------
52
53 SetPlane ( me : mutable;
54 ACoefA : Real from Standard;
55 ACoefB : Real from Standard;
56 ACoefC : Real from Standard;
57 ACoefD : Real from Standard )
58 is static;
59 ---Level: Internal
60 ---Purpose: Modifies the plane equation.
61 ---Category: Methods to modify the class definition
62
63 --------------------------
64 -- Category: Class methods
65 --------------------------
66
67 Limit ( myclass )
68 returns Integer from Standard;
69 ---Level: Internal
70 ---Purpose: Maximum number of activatable clipping planes.
71 ---Category: Class methods
72
73 ----------------------------
74 -- Category: Inquire methods
75 ----------------------------
76
77 Plane ( me;
78 ACoefA : out Real from Standard;
79 ACoefB : out Real from Standard;
80 ACoefC : out Real from Standard;
81 ACoefD : out Real from Standard )
82 is static;
83 ---Level: Internal
84 ---Purpose: Returns the values of the clipping plane <me>.
85 ---Category: Inquire methods
86
87 ----------------------------
88 -- Category: Private methods
89 ----------------------------
90
91 Identification ( me )
92 returns Integer from Standard
93 is static private;
94 ---Level: Internal
95 ---Purpose: Returns the plane identification.
96 ---Category: Private methods
97
98--\f
99
100fields
101
102--
103-- Class : Visual3d_ClipPlane
104--
105-- Purpose : Declaration of variables specific to the
106-- clipping plane model
107--
108-- Reminders : A clipping plane is defined by its equation
109-- Equation : A*X + B*Y + C*Z + D = 0
110--
111
112 -- the associated C structure
113 MyCPlane : CPlane from Graphic3d;
114
115friends
116
117 class View from Visual3d
118
119end ClipPlane;