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