0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / AIS / AIS_Line.cdl
CommitLineData
b311480e 1-- Created on: 1997-01-21
2-- Created by: Prestataire Christiane ARMAND
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.
b311480e 16
7fd59977 17class Line from AIS inherits InteractiveObject from AIS
18
19 ---Purpose: Constructs line datums to be used in construction of
20 -- composite shapes.
21
22uses
23 Line from Geom,
24 Point from Geom,
25 Presentation from Prs3d,
26 PresentationManager3d from PrsMgr,
27 NameOfColor from Quantity,
28 Color from Quantity,
29 Selection from SelectMgr,
30 Projector from Prs3d,
31 Transformation from Geom,
7fd59977 32 Line from AIS,
33 KindOfInteractive from AIS
34
35is
36 Create(aLine : Line from Geom)
6e33d3ce 37 returns Line from AIS;
7fd59977 38 ---Purpose: Initializes the line aLine.
39
40 Create(aStartPoint : Point from Geom;
41 aEndPoint : Point from Geom)
6e33d3ce 42 returns Line from AIS;
7fd59977 43 ---Purpose: Initializes a starting point aStartPoint
44 -- and a finishing point aEndPoint for the line.
45
46 Compute(me : mutable;
47 aPresentationManager: PresentationManager3d from PrsMgr;
6e33d3ce 48 aPresentation : Presentation from Prs3d;
7fd59977 49 aMode : Integer from Standard = 0)
50 is redefined static private;
51
52 Compute(me:mutable;
53 aProjector: Projector from Prs3d;
6e33d3ce 54 aPresentation: Presentation from Prs3d)
128cc8df 55 is redefined static private;
7fd59977 56
57 Compute(me : mutable;
58 aProjector : Projector from Prs3d;
59 aTrsf : Transformation from Geom;
6e33d3ce 60 aPresentation : Presentation from Prs3d)
7fd59977 61 is redefined;
62 ---Purpose: computes the presentation according to a point of view
63 -- given by <aProjector>.
64 -- To be Used when the associated degenerated Presentations
65 -- have been transformed by <aTrsf> which is not a Pure
66 -- Translation. The HLR Prs can't be deducted automatically
67 -- WARNING :<aTrsf> must be applied
68 -- to the object to display before computation !!!
69
70-- Methods from SelectableObject
71
72 ComputeSelection(me : mutable;
6e33d3ce 73 aSelection : Selection from SelectMgr;
7fd59977 74 aMode : Integer from Standard)is private;
75
76
77-- Methods from InteractiveObject
78
79 Signature(me) returns Integer from Standard is redefined;
80 ---Purpose: Returns the signature 5.
81 ---C++: inline
82
83 Type(me) returns KindOfInteractive from AIS is redefined;
84 ---Purpose: Returns the type Datum.
85 ---C++: inline
86
87 Line(me) returns any Line from Geom;
88 ---C++: inline
89 ---C++: return const &
90 ---Purpose: Constructs an infinite line.
91
92 Points(me;PStart,PEnd: out Point from Geom);
93 ---Purpose: Returns the starting point PStart and the end point
94 -- PEnd of the line set by SetPoints.
95 ---C++: inline
96
97 SetLine(me:mutable;L : Line from Geom);
98 ---C++: inline
99 ---Purpose: instantiates an infinite line.
100
101 SetPoints(me:mutable;P1,P2:Point from Geom);
102 --- Purpose:
103 -- Sets the starting point P1 and ending point P2 of the
104 -- infinite line to create a finite line segment.
105 ---C++: inline
106
107 SetColor(me :mutable; aColor : NameOfColor from Quantity)
108 is redefined static;
109 ---Purpose: Provides a new color setting aColor for the line in the
110 -- drawing tool, or "Drawer".
111 SetColor(me :mutable; aColor : Color from Quantity)
112 is redefined static;
113
114 SetWidth(me:mutable; aValue:Real from Standard)
115 is redefined static;
116 ---Purpose: Provides the new width setting aValue for the line in
117 -- the drawing tool, or "Drawer".
118 UnsetColor(me:mutable)
119 is redefined static;
120 ---Purpose: Removes the color setting and returns the original color.
121 UnsetWidth(me:mutable)
122 is redefined static;
123 ---Purpose: Removes the width setting and returns the original width.
124
125
126 ComputeInfiniteLine(me: mutable;
6e33d3ce 127 aPresentation : Presentation from Prs3d)
7fd59977 128 is private;
129
130 ComputeSegmentLine(me: mutable;
6e33d3ce 131 aPresentation : Presentation from Prs3d)
7fd59977 132 is private;
133
134 ComputeInfiniteLineSelection(me: mutable;
6e33d3ce 135 aSelection : Selection from SelectMgr)
7fd59977 136 is private;
137
138 ComputeSegmentLineSelection(me: mutable;
6e33d3ce 139 aSelection : Selection from SelectMgr)
7fd59977 140 is private;
141
142fields
143
144
145 myComponent : Line from Geom;
146 myStartPoint : Point from Geom;
147 myEndPoint : Point from Geom;
148 myLineIsSegment : Boolean from Standard;
149
150end Line;