7fd59977 |
1 | -- File: GProp_FaceTool.cdl |
2 | -- Created: Fri Nov 27 16:29:37 1992 |
3 | -- Author: Isabelle GRIGNON |
4 | -- <isg@sdsun2> |
5 | ---Copyright: Matra Datavision 1992 |
6 | |
7 | deferred generic class FaceTool from GProp( Arc as any ) |
8 | |
9 | ---Purpose: This template class defines the minimum of methods required |
10 | -- to compute the global properties of Faces with the |
11 | -- algorithms of the package GProp. |
12 | -- To compute the global properties of a Face, in is necessary |
13 | -- to define own "FaceTool" and to implement all the methods |
14 | -- defined in this template. Note that it is not necessary to |
15 | -- inherit this template class. |
16 | |
17 | uses Pnt from gp, |
18 | Pnt2d from gp, |
19 | Vec from gp, |
20 | Vec2d from gp, |
21 | IsoType from GeomAbs, |
22 | HArray1OfReal from TColStd |
23 | |
24 | is |
25 | |
26 | UIntegrationOrder (me) returns Integer; |
27 | ---Purpose: Returns the number of points required to do the |
28 | -- integration in the U parametric direction. |
29 | |
30 | Bounds (me; U1, U2, V1, V2 : out Real); |
31 | ---Purpose: Returns the parametric bounds of the Face <S>. |
32 | |
33 | Normal (me; U, V : Real; P : out Pnt; VNor: out Vec); |
34 | ---Purpose: Computes the point of parameter U, V on the Face <S> and |
35 | -- the normal to the face at this point. |
36 | |
37 | Load(me:in out; A : Arc); |
38 | ---Purpose: Loading the boundary arc. |
39 | |
40 | Load(me : in out; IsFirstParam: Boolean from Standard; |
41 | theIsoType : IsoType from GeomAbs); |
42 | ---Purpose: Loading the boundary arc. This arc is either a top, bottom, |
43 | -- left or right bound of a UV rectangle in which the |
44 | -- parameters of surface are defined. |
45 | -- If IsFirstParam is equal to Standard_True, the face is |
46 | -- initialized by either left of bottom bound. Otherwise it is |
47 | -- initialized by the top or right one. |
48 | -- If theIsoType is equal to GeomAbs_IsoU, the face is |
49 | -- initialized with either left or right bound. Otherwise - |
50 | -- with either top or bottom one. |
51 | |
52 | FirstParameter (me) returns Real ; |
53 | ---Purpose: Returns the parametric value of the start point of |
54 | -- the current arc of curve. |
55 | |
56 | LastParameter (me) returns Real ; |
57 | ---Purpose: Returns the parametric value of the end point of |
58 | -- the current arc of curve. |
59 | |
60 | IntegrationOrder (me) returns Integer; |
61 | ---Purpose: Returns the number of points required to do the |
62 | -- integration along the parameter of curve. |
63 | |
64 | D12d (me; U: Real; P: out Pnt2d; V1: out Vec2d); |
65 | ---Purpose: Returns the point of parameter U and the first derivative |
66 | -- at this point of a boundary curve. |
67 | |
68 | GetUKnots(me; theUMin : Real from Standard; |
69 | theUMax : Real from Standard; |
70 | theUKnots: in out HArray1OfReal from TColStd); |
71 | ---Purpose: Returns an array of U knots of the face. The first and last |
72 | -- elements of the array will be theUMin and theUMax. The |
73 | -- middle elements will be the U Knots of the face greater |
74 | -- then theUMin and lower then theUMax in increasing order. |
75 | |
76 | GetTKnots(me; theTMin : Real from Standard; |
77 | theTMax : Real from Standard; |
78 | theTKnots: in out HArray1OfReal from TColStd); |
79 | ---Purpose: Returns an array of combination of T knots of the arc and |
80 | -- V knots of the face. The first and last elements of the |
81 | -- array will be theTMin and theTMax. The middle elements will |
82 | -- be the Knots of the arc and the values of parameters of |
83 | -- arc on which the value points have V coordinates close to V |
84 | -- knots of face. All the parameter will be greater then |
85 | -- theTMin and lower then theTMax in increasing order. |
86 | |
87 | end FaceTool; |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |