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