b311480e |
1 | -- Created on: 1997-03-04 |
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 | -- |
973c2be1 |
8 | -- This library is free software; you can redistribute it and / or modify it |
9 | -- under the terms of the GNU Lesser General Public 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. |
b311480e |
13 | -- |
973c2be1 |
14 | -- Alternatively, this file may be used under the terms of Open CASCADE |
15 | -- commercial license or contractual agreement. |
7fd59977 |
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, |
128cc8df |
29 | Transformation from Geom, |
7fd59977 |
30 | PresentationManager3d from PrsMgr, |
7fd59977 |
31 | Selection from SelectMgr, |
7fd59977 |
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 mutable 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 : mutable 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: mutable Presentation from Prs3d) |
56 | is redefined static private; |
7fd59977 |
57 | |
58 | Compute(me : mutable; |
59 | aProjector : Projector from Prs3d; |
60 | aTrsf : Transformation from Geom; |
61 | aPresentation : mutable 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 : mutable 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 : mutable Presentation from Prs3d; |
98 | aTrsf : Trsf from gp) |
99 | is private; |
100 | |
101 | ComputeTwoAxesOffset(me: mutable; |
102 | aPresentation : mutable Presentation from Prs3d; |
103 | aTrsf : Trsf from gp) |
104 | is private; |
105 | |
106 | ComputeAxeFaceOffset(me: mutable; |
107 | aPresentation : mutable 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; |