7fd59977 |
1 | -- File: AIS_PerpendicularRelation.cdl |
2 | -- Created: Thu Dec 5 09:40:49 1996 |
3 | -- Author: Jean-Pierre COMBE/Odile Olivier |
4 | -- <odl@sacadox.paris1.matra-dtv.fr> |
5 | ---Copyright: Matra Datavision 1996 |
6 | |
7 | class PerpendicularRelation from AIS inherits Relation from AIS |
8 | ---Purpose: A framework to display constraints of perpendicularity |
9 | -- between two or more interactive datums. These |
10 | -- datums can be edges or faces. |
11 | uses Shape from TopoDS, |
12 | Presentation from Prs3d, |
13 | PresentationManager3d from PrsMgr, |
14 | Selection from SelectMgr, |
15 | Pnt from gp, |
16 | Dir from gp, |
17 | Projector from Prs3d, |
18 | Transformation from Geom, |
19 | PresentationManager2d from PrsMgr, |
20 | GraphicObject from Graphic2d, |
21 | Plane from Geom |
22 | |
23 | is |
24 | Create (aFShape : Shape from TopoDS; |
25 | aSShape : Shape from TopoDS; |
26 | aPlane : Plane from Geom) |
27 | ---Purpose: Constructs an object to display constraints of |
28 | -- perpendicularity on shapes. |
29 | -- This object is defined by a first shape aFShape, a |
30 | -- second shape aSShape, and a plane aPlane. |
31 | -- aPlane is the plane of reference to show and test the |
32 | -- perpendicular relation between two shapes, at least |
33 | -- one of which has a revolved surface. |
34 | returns mutable PerpendicularRelation from AIS; |
35 | |
36 | Create (aFShape : Shape from TopoDS; |
37 | aSShape : Shape from TopoDS) |
38 | ---Purpose: Constructs an object to display constraints of |
39 | -- perpendicularity on shapes. |
40 | -- This object is defined by a first shape aFShape and a |
41 | -- second shape aSShape. |
42 | returns mutable PerpendicularRelation from AIS; |
43 | |
44 | -- -- Methods from PresentableObject |
45 | |
46 | Compute(me : mutable; |
47 | aPresentationManager: PresentationManager3d from PrsMgr; |
48 | aPresentation : mutable Presentation from Prs3d; |
49 | aMode : Integer from Standard= 0) |
50 | is redefined static private; |
51 | |
52 | Compute(me:mutable; |
53 | aProjector: Projector from Prs3d; |
54 | aPresentation: mutable Presentation from Prs3d) |
55 | is redefined static private; |
56 | |
57 | Compute(me:mutable; |
58 | aPresentationManager: PresentationManager2d from PrsMgr; |
59 | aPresentation: mutable GraphicObject from Graphic2d; |
60 | aMode: Integer from Standard = 0) |
61 | is redefined static private; |
62 | |
63 | Compute(me : mutable; |
64 | aProjector : Projector from Prs3d; |
65 | aTrsf : Transformation from Geom; |
66 | aPresentation : mutable Presentation from Prs3d) |
67 | is redefined; |
68 | ---Purpose: computes the presentation according to a point of view |
69 | -- given by <aProjector>. |
70 | -- To be Used when the associated degenerated Presentations |
71 | -- have been transformed by <aTrsf> which is not a Pure |
72 | -- Translation. The HLR Prs can't be deducted automatically |
73 | -- WARNING :<aTrsf> must be applied |
74 | -- to the object to display before computation !!! |
75 | |
76 | -- Methods from SelectableObject |
77 | |
78 | ComputeSelection(me : mutable; |
79 | aSelection : mutable Selection from SelectMgr; |
80 | aMode : Integer from Standard)is private; |
81 | |
82 | |
83 | -- |
84 | -- Computation private methods |
85 | -- |
86 | |
87 | ComputeTwoFacesPerpendicular(me: mutable; |
88 | aPresentation : mutable Presentation from Prs3d) |
89 | is private; |
90 | |
91 | ComputeTwoEdgesPerpendicular(me: mutable; |
92 | aPresentation : mutable Presentation from Prs3d) |
93 | is private; |
94 | |
95 | |
96 | fields |
97 | |
98 | myFAttach : Pnt from gp; |
99 | mySAttach : Pnt from gp; |
100 | |
101 | end PerpendicularRelation; |
102 | |
103 | |