1 -- Created on: 1996-12-05
2 -- Created by: Flore Lantheaume/Odile Olivier
3 -- Copyright (c) 1996-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
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.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 class ConcentricRelation from AIS inherits Relation from AIS
19 ---Purpose: A framework to define a constraint by a relation of
20 -- concentricity between two or more interactive datums.
21 -- The display of this constraint is also defined.
22 -- A plane is used to create an axis along which the
23 -- relation of concentricity can be extended.
27 PresentationManager3d from PrsMgr,
28 Presentation from Prs3d,
29 Selection from SelectMgr,
34 Transformation from Geom,
38 Create (aFShape : Shape from TopoDS;
39 aSShape : Shape from TopoDS;
40 aPlane : Plane from Geom)
41 ---Purpose: Constructs the display object for concentric relations
43 -- This object is defined by the two shapes, aFShape
44 -- and aSShape and the plane aPlane.
45 -- aPlane is provided to create an axis along which the
46 -- relation of concentricity can be extended.
47 returns mutable ConcentricRelation from AIS;
49 -- Methods from PresentableObject
52 aPresentationManager: PresentationManager3d from PrsMgr;
53 aPresentation : mutable Presentation from Prs3d;
54 aMode : Integer from Standard= 0)
55 is redefined static private;
58 aProjector: Projector from Prs3d;
59 aPresentation: mutable Presentation from Prs3d)
60 is redefined static private;
63 aProjector : Projector from Prs3d;
64 aTrsf : Transformation from Geom;
65 aPresentation : mutable Presentation from Prs3d)
67 ---Purpose: computes the presentation according to a point of view
68 -- given by <aProjector>.
69 -- To be Used when the associated degenerated Presentations
70 -- have been transformed by <aTrsf> which is not a Pure
71 -- Translation. The HLR Prs can't be deducted automatically
72 -- WARNING :<aTrsf> must be applied
73 -- to the object to display before computation !!!
75 ComputeTwoEdgesConcentric(me:mutable;
76 aPresentationManager: Presentation from Prs3d)
79 ComputeEdgeVertexConcentric(me:mutable;
80 aPresentationManager: Presentation from Prs3d)
83 ComputeTwoVerticesConcentric(me:mutable;
84 aPresentationManager: Presentation from Prs3d)
87 -- Methods from SelectableObject
89 ComputeSelection(me : mutable;
90 aSelection : mutable Selection from SelectMgr;
91 aMode : Integer from Standard)
96 myCenter : Pnt from gp;
97 myRad : Real from Standard;
101 end ConcentricRelation;