0023959: Getting rid of generic classes in Visualization: generic classes were remove...
[occt.git] / src / DsgPrs / DsgPrs.cdl
1 -- Created on: 1994-10-03
2 -- Created by: Arnaud BOUZY
3 -- Copyright (c) 1994-1999 Matra Datavision
4 -- Copyright (c) 1999-2012 OPEN CASCADE SAS
5 --
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.
10 --
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.
13 --
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.
20
21
22
23 package DsgPrs 
24
25         ---Purpose: Describes Standard Presentations for DsgIHM objects
26
27 uses Prs3d,
28      gp,
29      TCollection,
30      TopoDS,
31      Quantity,
32      Geom
33
34 is
35     enumeration ArrowSide is AS_NONE,AS_FIRSTAR,AS_LASTAR,AS_BOTHAR,AS_FIRSTPT,AS_LASTPT,AS_BOTHPT,
36 AS_FIRSTAR_LASTPT,AS_FIRSTPT_LASTAR;
37         ---Purpose:  Designates how many arrows will be displayed and
38         -- where they will be displayed in presenting a length.
39     
40     class EllipseRadiusPresentation; 
41     
42     class LengthPresentation;
43
44     class RadiusPresentation;
45     
46     class DiameterPresentation;
47     
48     class FilletRadiusPresentation;
49    
50     class AnglePresentation;
51     
52     class Chamf2dPresentation;
53     
54     class ParalPresentation;
55
56     class PerpenPresentation;
57        
58     class SymmetricPresentation; -- presentation for axial symmetry
59     
60     class MidPointPresentation; -- presentation for equal distance from point
61     
62     class TangentPresentation;
63     
64     class ConcentricPresentation;
65     
66     class FixPresentation;
67     
68     class IdenticPresentation;
69     
70     class EqualRadiusPresentation;
71     
72     class EqualDistancePresentation;
73     
74     class SymbPresentation;
75     
76     class ShapeDirPresentation;
77
78     class OffsetPresentation;
79     
80     class XYZAxisPresentation;
81
82     class XYZPlanePresentation;
83
84     class ShadedPlanePresentation;
85     
86     imported DatumPrs; 
87
88     ComputeSymbol(aPresentation: Presentation from Prs3d;
89                   anAspect: AngleAspect from Prs3d;
90                   pt1,pt2:Pnt from gp;
91                   dir1,dir2: Dir from gp;
92                   ArrowSide: ArrowSide from DsgPrs);
93         ---Purpose: draws symbols ((one or two) arrows,(one or two)points 
94         --          at thebeginning and at the end of the dimension
95
96     ComputeSymbol(aPresentation: Presentation from Prs3d;
97                   anAspect: LengthAspect from Prs3d;
98                   pt1,pt2:Pnt from gp;
99                   dir1,dir2: Dir from gp;
100                   ArrowSide: ArrowSide from DsgPrs;
101                   drawFromCenter: Boolean = Standard_True);
102         ---Purpose: draws symbols ((one or two) arrows,(one or two)points 
103         --          at thebeginning and at the end of the dimension
104
105     ComputePlanarFacesLengthPresentation( FirstArrowLength  : Real from Standard;
106                                           SecondArrowLength : Real from Standard;
107                                           AttachmentPoint1  : Pnt  from gp;
108                                           AttachmentPoint2  : Pnt  from gp;
109                                           DirAttach         : Dir  from gp;
110                                           OffsetPoint       : Pnt  from gp;
111                                           PlaneOfFaces      : Pln  from gp;
112                                           EndOfArrow1       : out Pnt from gp;
113                                           EndOfArrow2       : out Pnt from gp;
114                                           DirOfArrow1       : out Dir from gp );
115
116     ComputeCurvilinearFacesLengthPresentation( FirstArrowLength  : Real from Standard;
117                                                SecondArrowLength : Real from Standard;
118                                                SecondSurf        : Surface from Geom;
119                                                AttachmentPoint1  : Pnt  from gp;
120                                                AttachmentPoint2  : Pnt  from gp;
121                                                DirAttach         : Dir  from gp;
122                                                EndOfArrow2       : out Pnt  from gp;
123                                                DirOfArrow1       : out Dir  from gp;
124                                                VCurve            : out Curve from Geom;
125                                                UCurve            : out Curve from Geom;
126                                                FirstU            : out Real from Standard;
127                                                deltaU            : out Real from Standard;
128                                                FirstV            : out Real from Standard;
129                                                deltaV            : out Real from Standard );
130                                                
131
132
133     ComputeFacesAnglePresentation( ArrowLength      : Real    from Standard;
134                                    Value            : Real    from Standard;
135                                    CenterPoint      : Pnt     from gp;
136                                    AttachmentPoint1 : Pnt     from gp;
137                                    AttachmentPoint2 : Pnt     from gp;
138                                    dir1             : Dir     from gp;
139                                    dir2             : Dir     from gp;
140                                    axisdir          : Dir     from gp;
141                                    isPlane          : Boolean from Standard;
142                                    AxisOfSurf       : Ax1     from gp;
143                                    OffsetPoint      : Pnt     from gp; 
144                                    AngleCirc          : out Circ  from gp;
145                                    FirstParAngleCirc  : out Real  from Standard;
146                                    LastParAngleCirc   : out Real  from Standard;
147                                    EndOfArrow1        : out Pnt   from gp;
148                                    EndOfArrow2        : out Pnt   from gp;
149                                    DirOfArrow1        : out Dir   from gp;
150                                    DirOfArrow2        : out Dir   from gp;
151                                    ProjAttachPoint2   : out Pnt   from gp;
152                                    AttachCirc         : out Circ  from gp;
153                                    FirstParAttachCirc : out Real  from Standard;
154                                    LastParAttachCirc  : out Real  from Standard ); 
155                                    
156
157     ComputeRadiusLine( aCenter       :  Pnt  from  gp; 
158                        anEndOfArrow  :  Pnt  from  gp; 
159                        aPosition     :  Pnt  from  gp; 
160                        drawFromCenter:  Boolean  from  Standard;
161                        aRadLineOrign :  out  Pnt  from  gp; 
162                        aRadLineEnd   :  out  Pnt  from  gp);
163     
164     ComputeFilletRadiusPresentation( ArrowLength      : Real     from Standard;
165                                      Value            : Real     from Standard;
166                                      Position         : Pnt      from gp;
167                                      NormalDir        : Dir      from gp;
168                                      FirstPoint       : Pnt      from gp;
169                                      SecondPoint      : Pnt      from gp;
170                                      Center           : Pnt      from gp;
171                                      BasePnt          : Pnt      from gp; 
172                                      drawRevers       : Boolean from Standard; 
173                                      SpecCase         : out Boolean from Standard;
174                                      FilletCirc       : out Circ from gp;
175                                      FirstParCirc     : out Real from Standard;
176                                      LastParCirc      : out Real from Standard;
177                                      EndOfArrow       : out Pnt  from gp;
178                                      DirOfArrow       : out Dir  from gp;
179                                      DrawPosition     : out Pnt  from gp );
180         ---Purpose: computes Geometry for  fillet radius  presentation;
181         --          special case flag  SpecCase equal Standard_True if 
182         --          radius of  fillet circle  =  0  or if  anngle between
183         --          Vec1(Center, FirstPoint)  and Vec2(Center,SecondPoint) equal 0 or PI 
184     
185     DistanceFromApex( elips  :  Elips  from  gp; 
186                       Apex   :  Pnt    from  gp;
187                       par    :  Real   from  Standard) 
188     returns  Real  from  Standard;                                                           
189         ---Purpose:  computes  length  of  ellipse  arc  in  parametric  units  
190        
191     
192 end DsgPrs;
193