0026172: Visualization, AIS_LocalContext - locally selected object should not stay...
[occt.git] / src / AIS / AIS_IdenticRelation.cdl
CommitLineData
b311480e 1-- Created on: 1997-03-03
2-- Created by: Jean-Pierre COMBE
3-- Copyright (c) 1997-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.
7fd59977 16
17class IdenticRelation from AIS inherits Relation from AIS
18
19 ---Purpose: Constructs a constraint by a relation of identity
20 -- between two or more datums figuring in shape
21 -- Interactive Objects.
22
23uses
24 Shape from TopoDS,
25 Vertex from TopoDS,
26 Wire from TopoDS,
27 Presentation from Prs3d,
28 PresentationManager3d from PrsMgr,
29 Selection from SelectMgr,
30 Projector from Prs3d,
128cc8df 31 Transformation from Geom,
7fd59977 32 Plane from Geom,
33 Curve from Geom,
34 Line from Geom,
35 Circle from Geom,
36 Ellipse from Geom,
37 Pnt from gp,
38 Dir from gp
39
40is
41 Create(FirstShape : Shape from TopoDS;
42 SecondShape : Shape from TopoDS;
43 aPlane : Plane from Geom)
6e33d3ce 44 returns IdenticRelation from AIS;
7fd59977 45 ---Purpose:
46 -- Initializes the relation of identity between the two
47 -- entities, FirstShape and SecondShape. The plane
48 -- aPlane is initialized in case a visual reference is
49 -- needed to show identity.
50
51 IsMovable(me) returns Boolean from Standard
52 ---C++: inline
53 ---Purpose:
54 -- Returns true if the interactive object is movable.
55 is redefined;
56
57-- Methods from PresentableObject
58
59 Compute(me : mutable;
60 aPresentationManager: PresentationManager3d from PrsMgr;
6e33d3ce 61 aPresentation : Presentation from Prs3d;
7fd59977 62 aMode : Integer from Standard= 0)
63 is redefined private;
64
65 Compute(me:mutable;
66 aProjector: Projector from Prs3d;
6e33d3ce 67 aPresentation: Presentation from Prs3d)
7fd59977 68 is redefined static private;
69
7fd59977 70 Compute(me : mutable;
71 aProjector : Projector from Prs3d;
72 aTrsf : Transformation from Geom;
6e33d3ce 73 aPresentation : Presentation from Prs3d)
7fd59977 74 is redefined;
75 ---Purpose: computes the presentation according to a point of view
76 -- given by <aProjector>.
77 -- To be Used when the associated degenerated Presentations
78 -- have been transformed by <aTrsf> which is not a Pure
79 -- Translation. The HLR Prs can't be deducted automatically
80 -- WARNING :<aTrsf> must be applied
81 -- to the object to display before computation !!!
82
83-- Methods from SelectableObject
84
85 ComputeSelection(me : mutable;
6e33d3ce 86 aSelection : Selection from SelectMgr;
7fd59977 87 aMode : Integer from Standard)
88 is redefined private;
89
90--
91-- Computation private methods
92--
93
94 ComputeOneEdgeOVertexPresentation(me: mutable;
6e33d3ce 95 aPresentation : Presentation from Prs3d)
7fd59977 96 is private;
97
98 ComputeTwoEdgesPresentation(me: mutable;
6e33d3ce 99 aPresentation : Presentation from Prs3d)
7fd59977 100 is private;
101
102 ComputeTwoLinesPresentation(me: mutable;
6e33d3ce 103 aPresentation : Presentation from Prs3d;
7fd59977 104 aLin : Line from Geom;
105 Pnt1On1 : in out Pnt from gp;
106 Pnt2On1 : in out Pnt from gp;
107 Pnt1On2 : in out Pnt from gp;
108 Pnt2On2 : in out Pnt from gp;
109 isInf1 : Boolean from Standard;
110 isInf2 : Boolean from Standard)
111 is private;
112
113 ComputeTwoCirclesPresentation(me: mutable;
6e33d3ce 114 aPresentation : Presentation from Prs3d;
7fd59977 115 aCircle : Circle from Geom;
116 Pnt1On1 : Pnt from gp;
117 Pnt2On1 : Pnt from gp;
118 Pnt1On2 : Pnt from gp;
119 Pnt2On2 : Pnt from gp)
120 is private;
121
122 -- jfa 17/10/2000
123 ComputeAutoArcPresentation(me: mutable;
124 aCircle : Circle from Geom;
125 firstp : Pnt from gp;
126 lastp : Pnt from gp;
127 isstatic: Boolean from Standard = Standard_False)
128 ---Purpose: Computes the presentation of the identic constraint
129 -- between 2 arcs in the case of automatic presentation
130 is private;
131
132 ComputeNotAutoCircPresentation(me: mutable;
133 aCircle : Circle from Geom)
134 ---Purpose: Computes the presentation of the identic constraint
135 -- between 2 circles in the case of non automatic presentation
136 is private;
137
138 ComputeNotAutoArcPresentation(me: mutable;
139 aCircle : Circle from Geom;
140 pntfirst: Pnt from gp;
141 pntlast : Pnt from gp)
142 ---Purpose: Computes the presentation of the identic constraint
143 -- between 2 arcs in the case of non automatic presentation
144 is private;
145 -- jfa 17/10/2000 end
146
147 -- jfa 10/10/2000
148 ComputeTwoEllipsesPresentation(me: mutable;
6e33d3ce 149 aPrs : Presentation from Prs3d;
7fd59977 150 anEll : Ellipse from Geom;
151 Pnt1On1 : Pnt from gp;
152 Pnt2On1 : Pnt from gp;
153 Pnt1On2 : Pnt from gp;
154 Pnt2On2 : Pnt from gp)
155 is private;
156 -- jfa 10/10/2000 end
157
158 -- jfa 18/10/2000
159 ComputeAutoArcPresentation(me: mutable;
160 theEll : Ellipse from Geom;
161 firstp : Pnt from gp;
162 lastp : Pnt from gp;
163 isstatic: Boolean from Standard = Standard_False)
164 ---Purpose: Computes the presentation of the identic constraint
165 -- between 2 arcs in the case of automatic presentation
166 is private;
167
168 ComputeNotAutoElipsPresentation(me: mutable;
169 theEll : Ellipse from Geom)
170 ---Purpose: Computes the presentation of the identic constraint
171 -- between 2 ellipses in the case of non automatic presentation
172 is private;
173
174 ComputeNotAutoArcPresentation(me: mutable;
175 theEll : Ellipse from Geom;
176 pntfirst: Pnt from gp;
177 pntlast : Pnt from gp)
178 ---Purpose: Computes the presentation of the identic constraint
179 -- between 2 arcs in the case of non automatic presentation
180 is private;
181 -- jfa 18/10/2000 end
182
183 ComputeTwoVerticesPresentation(me: mutable;
6e33d3ce 184 aPresentation : Presentation from Prs3d)
7fd59977 185 is private;
186
187 ComputeSegSize(me)
188 returns Real from Standard
189 is private;
190
191 ComputeDirection(me; aWire : Wire from TopoDS;
192 aVertex : Vertex from TopoDS;
193 aDir : out Dir from gp)
194 returns Boolean from Standard
195 is private;
196
197 ComputeLineDirection(me; aLin : Line from Geom;
198 anExtremity : Pnt from gp)
199 returns Dir from gp
200 is private;
201
202 ComputeCircleDirection(me; aCirc : Circle from Geom;
203 ConnectedVertex : Vertex from TopoDS)
204 returns Dir from gp
205 is private;
206
207fields
208
209 isCircle : Boolean from Standard;
210 myFAttach : Pnt from gp;
211 mySAttach : Pnt from gp;
212 myCenter : Pnt from gp;
213
214end IdenticRelation;