1 -- Created on: 1996-12-05
2 -- Created by: Jean-Pierre COMBE/Odile Olivier
3 -- Copyright (c) 1996-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
6 -- The content of this file is subject to the Open CASCADE Technology Public
7 -- License Version 6.5 (the "License"). You may not use the content of this file
8 -- except in compliance with the License. Please obtain a copy of the License
9 -- at http://www.opencascade.org and read it completely before using this file.
11 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
14 -- The Original Code and all software distributed under the License is
15 -- distributed on an "AS IS" basis, without warranty of any kind, and the
16 -- Initial Developer hereby disclaims all such warranties, including without
17 -- limitation, any warranties of merchantability, fitness for a particular
18 -- purpose or non-infringement. Please see the License for the specific terms
19 -- and conditions governing the rights and limitations under the License.
22 class PerpendicularRelation from AIS inherits Relation from AIS
23 ---Purpose: A framework to display constraints of perpendicularity
24 -- between two or more interactive datums. These
25 -- datums can be edges or faces.
26 uses Shape from TopoDS,
27 Presentation from Prs3d,
28 PresentationManager3d from PrsMgr,
29 Selection from SelectMgr,
33 Transformation from Geom,
37 Create (aFShape : Shape from TopoDS;
38 aSShape : Shape from TopoDS;
39 aPlane : Plane from Geom)
40 ---Purpose: Constructs an object to display constraints of
41 -- perpendicularity on shapes.
42 -- This object is defined by a first shape aFShape, a
43 -- second shape aSShape, and a plane aPlane.
44 -- aPlane is the plane of reference to show and test the
45 -- perpendicular relation between two shapes, at least
46 -- one of which has a revolved surface.
47 returns mutable PerpendicularRelation from AIS;
49 Create (aFShape : Shape from TopoDS;
50 aSShape : Shape from TopoDS)
51 ---Purpose: Constructs an object to display constraints of
52 -- perpendicularity on shapes.
53 -- This object is defined by a first shape aFShape and a
54 -- second shape aSShape.
55 returns mutable PerpendicularRelation from AIS;
57 -- -- Methods from PresentableObject
60 aPresentationManager: PresentationManager3d from PrsMgr;
61 aPresentation : mutable Presentation from Prs3d;
62 aMode : Integer from Standard= 0)
63 is redefined static private;
66 aProjector: Projector from Prs3d;
67 aPresentation: mutable Presentation from Prs3d)
68 is redefined static private;
71 aProjector : Projector from Prs3d;
72 aTrsf : Transformation from Geom;
73 aPresentation : mutable Presentation from Prs3d)
75 ---Purpose: computes the presentation according to a point of view
76 -- given by <aProjector>.
77 -- To be Used when the associated degenerated Presentations
78 -- have been transformed by <aTrsf> which is not a Pure
79 -- Translation. The HLR Prs can't be deducted automatically
80 -- WARNING :<aTrsf> must be applied
81 -- to the object to display before computation !!!
83 -- Methods from SelectableObject
85 ComputeSelection(me : mutable;
86 aSelection : mutable Selection from SelectMgr;
87 aMode : Integer from Standard)is private;
91 -- Computation private methods
94 ComputeTwoFacesPerpendicular(me: mutable;
95 aPresentation : mutable Presentation from Prs3d)
98 ComputeTwoEdgesPerpendicular(me: mutable;
99 aPresentation : mutable Presentation from Prs3d)
105 myFAttach : Pnt from gp;
106 mySAttach : Pnt from gp;
108 end PerpendicularRelation;