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