1 -- Created on: 1997-01-21
2 -- Created by: Prestataire Christiane ARMAND
3 -- Copyright (c) 1997-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
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
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 -- GG : GER61351 17/11/1999 Change SetColor() with a compatible Quantity_Color instead
18 -- the restricted NameOfColor.
20 class Circle from AIS inherits InteractiveObject from AIS
22 ---Purpose: Constructs circle datums to be used in construction of
28 Presentation from Prs3d,
29 PresentationManager3d from PrsMgr,
30 NameOfColor from Quantity,
32 Selection from SelectMgr,
34 Transformation from Geom,
36 KindOfInteractive from AIS
40 Create(aCircle : Circle from Geom)
41 returns mutable Circle from AIS;
42 ---Purpose: Initializes this algorithm for constructing AIS circle
43 -- datums initializes the circle aCircle
44 Create(theCircle : Circle from Geom;
45 theUStart : Real from Standard;
46 theUEnd : Real from Standard;
47 theIsFilledCircleSens : Boolean from Standard = Standard_False)
48 returns mutable Circle from AIS;
49 ---Purpose: Initializes this algorithm for constructing AIS circle datums.
50 -- Initializes the circle theCircle, the arc
51 -- starting point theUStart, the arc ending point theUEnd,
52 -- and the type of sensitivity theIsFilledCircleSens.
55 aPresentationManager: PresentationManager3d from PrsMgr;
56 aPresentation : mutable Presentation from Prs3d;
57 aMode : Integer from Standard = 0)
58 is redefined static private;
61 aProjector: Projector from Prs3d;
62 aPresentation: mutable Presentation from Prs3d)
63 is redefined static private;
66 aProjector : Projector from Prs3d;
67 aTrsf : Transformation from Geom;
68 aPresentation : mutable Presentation from Prs3d)
70 ---Purpose: computes the presentation according to a point of view
71 -- given by <aProjector>.
72 -- To be Used when the associated degenerated Presentations
73 -- have been transformed by <aTrsf> which is not a Pure
74 -- Translation. The HLR Prs can't be deducted automatically
75 -- WARNING :<aTrsf> must be applied
76 -- to the object to display before computation !!!
78 -- Methods from SelectableObject
80 ComputeSelection(me : mutable;
81 aSelection : mutable Selection from SelectMgr;
82 aMode : Integer from Standard)is private;
85 -- Methods from InteractiveObject
88 Signature(me) returns Integer from Standard is redefined;
90 ---Purpose: Returns index 6 by default.
92 Type(me) returns KindOfInteractive from AIS is redefined;
94 ---Purpose: Indicates that the type of Interactive Object is a datum.
96 Circle(me) returns any Circle from Geom;
98 ---C++: return const &
99 ---Purpose: Returns the circle component defined in SetCircle.
101 Parameters(me; u1,u2 : in out Real from Standard);
104 -- Constructs instances of the starting point and the end
105 -- point parameters, u1 and u2.
107 SetCircle(me:mutable;aCircle : Circle from Geom);
109 ---Purpose: Allows you to provide settings for the circle datum aCircle.
111 SetFirstParam(me:mutable;u:Real);
113 ---Purpose: Allows you to set the parameter u for the starting point of an arc.
115 SetLastParam(me:mutable;u:Real);
117 ---Purpose: Allows you to provide the parameter u for the end point of an arc.
119 SetColor(me :mutable; aColor : NameOfColor from Quantity)
121 --- Purpose: Assigns the color aColor to the solid line boundary of the circle datum.
122 SetColor(me :mutable; aColor : Color from Quantity)
125 SetWidth(me:mutable; aValue:Real from Standard)
127 ---Purpose: Assigns the width aValue to the solid line boundary of the circle datum.
128 UnsetColor(me:mutable)
130 ---Purpose: Removes color from the solid line boundary of the circle datum.
131 UnsetWidth(me:mutable)
133 ---Purpose: Removes width settings from the solid line boundary of the circle datum.
135 IsFilledCircleSens (me) returns Boolean from Standard;
137 ---Purpose: Returns the type of sensitivity for the circle;
139 SetFilledCircleSens (me: mutable;
140 theIsFilledCircleSens : Boolean from Standard);
142 ---Purpose: Sets the type of sensitivity for the circle. If theIsFilledCircleSens set to Standard_True
143 -- then the whole circle will be detectable, otherwise only the boundary of the circle.
145 ComputeCircle(me: mutable;
146 aPresentation : mutable Presentation from Prs3d)
149 ComputeArc(me: mutable;
150 aPresentation : mutable Presentation from Prs3d)
153 ComputeCircleSelection(me: mutable;
154 aSelection : mutable Selection from SelectMgr)
157 ComputeArcSelection(me: mutable;
158 aSelection : mutable Selection from SelectMgr)
163 myComponent : Circle from Geom;
164 myUStart : Real from Standard;
165 myUEnd : Real from Standard;
166 myCircleIsArc : Boolean from Standard;
167 myIsFilledCircleSens : Boolean from Standard;