0024023: Revamp the OCCT Handle -- ambiguity
[occt.git] / src / AIS / AIS_OffsetDimension.cdl
1 -- Created on: 1997-03-04
2 -- Created by: Jean-Pierre COMBE
3 -- Copyright (c) 1997-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
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.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
16
17 class OffsetDimension from AIS inherits Relation from AIS
18
19         ---Purpose: A framework to display dimensions of offsets.
20         -- The relation between the offset and the basis shape
21         -- is indicated. This relation is displayed with arrows and
22         -- text. The text gives the dsitance between the offset
23         -- and the basis shape.
24         
25 uses
26      Shape                 from TopoDS,
27      Presentation          from Prs3d,
28      Projector             from Prs3d,
29      Transformation        from Geom,
30      PresentationManager3d from PrsMgr,
31      Selection             from SelectMgr,
32      Dir                   from gp,
33      Pnt                   from gp,
34      Trsf                  from gp,
35      KindOfDimension       from AIS,
36      ExtendedString        from TCollection     
37      
38 is
39     Create (FistShape, SecondShape : Shape          from TopoDS;
40             aVal                   : Real           from Standard;
41             aText                  : ExtendedString from TCollection)
42     returns OffsetDimension from AIS;
43         ---Purpose: Constructs the offset display object defined by the
44         -- first shape aFShape, the second shape aSShape, the
45         -- dimension aVal, and the text aText.    
46
47     Compute(me            : mutable;
48             aPresentationManager: PresentationManager3d from PrsMgr;
49             aPresentation : Presentation from Prs3d;
50             aMode         : Integer from Standard= 0) 
51     is redefined private;
52
53     Compute(me:mutable;
54                 aProjector: Projector from Prs3d;
55                 aPresentation: Presentation from Prs3d)
56     is redefined static private;     
57     
58     Compute(me            : mutable;
59             aProjector    : Projector from Prs3d;
60             aTrsf         : Transformation from Geom;
61             aPresentation : Presentation from Prs3d)
62     is redefined;
63         ---Purpose: computes the presentation according to a point of view
64         --          given by <aProjector>. 
65         --          To be Used when the associated degenerated Presentations 
66         --          have been transformed by <aTrsf> which is not a Pure
67         --          Translation. The HLR Prs can't be deducted automatically
68         --          WARNING :<aTrsf> must be applied
69         --           to the object to display before computation  !!!
70
71 -- Methods from SelectableObject
72
73     ComputeSelection(me         : mutable;
74                      aSelection : Selection from SelectMgr;
75                      aMode      : Integer from Standard)
76     is redefined private;
77
78     KindOfDimension(me)
79         ---Purpose:
80         -- Indicates that the dimension we are concerned with is an offset.
81         ---C++: inline
82     returns KindOfDimension from AIS 
83     is redefined;
84     
85     IsMovable(me) 
86        ---C++: inline       
87        ---Purpose: Returns true if the offset datum is movable. 
88             returns Boolean from Standard 
89     is redefined;    
90     
91     SetRelativePos (me:mutable; aTrsf: Trsf from gp);
92         ---C++: inline
93         ---Purpose: Sets a transformation aTrsf for presentation and
94         -- selection to a relative position.
95
96     ComputeTwoFacesOffset(me: mutable;
97                           aPresentation : Presentation from Prs3d;
98                           aTrsf         : Trsf from gp)
99     is private;
100     
101     ComputeTwoAxesOffset(me: mutable;
102                           aPresentation : Presentation from Prs3d;
103                           aTrsf         : Trsf from gp)
104     is private;
105
106     ComputeAxeFaceOffset(me: mutable;
107                           aPresentation : Presentation from Prs3d;
108                           aTrsf         : Trsf from gp)
109     is private;
110
111 fields
112
113     myFAttach     : Pnt  from gp;
114     mySAttach     : Pnt  from gp;
115     myDirAttach   : Dir  from gp;
116     myDirAttach2  : Dir  from gp;
117     myRelativePos : Trsf from gp;
118
119 end OffsetDimension;