7fd59977 |
1 | -- File: ShapeAnalysis_TransferParametersProj.cdl |
2 | -- Created: Mon Jun 21 12:53:37 1999 |
3 | -- Author: Galina KULIKOVA |
4 | -- <gka@nnov.matra-dtv.fr> |
5 | ---Copyright: Matra Datavision 1999 |
6 | |
7 | |
8 | class TransferParametersProj from ShapeAnalysis inherits TransferParameters from ShapeAnalysis |
9 | |
10 | ---Purpose: This tool is used for transferring parameters |
11 | -- from 3d curve of the edge to pcurve and vice versa. |
12 | -- This tool transfers parameters with help of |
13 | -- projection points from curve 3d on curve 2d and |
14 | -- vice versa |
15 | uses |
16 | |
17 | Edge from TopoDS, |
18 | Face from TopoDS, |
19 | HSequenceOfReal from TColStd, |
20 | Location from TopLoc, |
21 | Curve from Geom, |
22 | Curve from Geom2d, |
23 | CurveOnSurface from Adaptor3d, |
24 | Vertex from TopoDS |
25 | is |
26 | |
27 | Create returns mutable TransferParametersProj from ShapeAnalysis; |
28 | ---Purpose: Creats empty constructor. |
29 | |
30 | Create(E: Edge from TopoDS; F: Face from TopoDS) |
31 | returns mutable TransferParametersProj from ShapeAnalysis; |
32 | ---Purpose: |
33 | |
34 | Init(me: mutable; E: Edge from TopoDS; F: Face from TopoDS ) is redefined; |
35 | ---Purpose: |
36 | |
37 | Perform(me: mutable; Papams: HSequenceOfReal from TColStd; To2d: Boolean) |
38 | returns HSequenceOfReal from TColStd is redefined; |
39 | ---Purpose: Transfers parameters given by sequence Params from 3d curve |
40 | -- to pcurve (if To2d is True) or back (if To2d is False) |
41 | |
42 | Perform(me: mutable; Param: Real; To2d: Boolean) |
43 | returns Real is redefined; |
44 | ---Purpose:Transfers parameter given by Param from 3d curve |
45 | -- to pcurve (if To2d is True) or back (if To2d is False) |
46 | |
47 | ForceProjection (me: mutable) returns Boolean; |
48 | ---Purpose: Returns modifiable flag forcing projection |
49 | -- If it is False (default), projection is done only |
50 | -- if edge is not SameParameter or if tolerance of edge |
51 | -- is greater than MaxTolerance() |
52 | ---C++: return & |
53 | |
54 | TransferRange(me: mutable; newEdge: in out Edge from TopoDS; |
55 | prevPar: Real; |
56 | currPar: Real; |
57 | Is2d : Boolean) is redefined; |
58 | ---Purpose: Recomputes range of curves from NewEdge. |
59 | -- If Is2d equals True parameters are recomputed by curve2d else by curve3d. |
60 | |
61 | IsSameRange(me) returns Boolean is redefined; |
62 | ---Purpose: Returns False; |
63 | -- |
64 | |
65 | PreformSegment(me: mutable;Param :Real; To2d :Boolean; |
66 | First :Real; Last :Real) |
67 | returns Real is private; |
68 | |
69 | CopyNMVertex(myclass; theVert: Vertex from TopoDS; |
70 | toedge: Edge from TopoDS; |
71 | fromedge: Edge from TopoDS ) returns Vertex from TopoDS; |
72 | ---Purpose: Make a copy of non-manifold vertex theVert |
73 | -- (i.e. create new TVertex and replace PointRepresentations for this vertex |
74 | -- from fromedge to toedge. Other representations were copied) |
75 | |
76 | CopyNMVertex(myclass; theVert: Vertex from TopoDS; |
77 | toFace: Face from TopoDS; |
78 | fromFace: Face from TopoDS ) returns Vertex from TopoDS; |
79 | ---Purpose: Make a copy of non-manifold vertex theVert |
80 | -- (i.e. create new TVertex and replace PointRepresentations for this vertex |
81 | -- from fromFace to toFace. Other representations were copied) |
82 | fields |
83 | |
84 | myCurve : Curve from Geom; |
85 | myCurve2d : Curve from Geom2d; |
86 | myAC3d : CurveOnSurface from Adaptor3d; |
87 | myPrecision : Real; |
88 | myLocation : Location from TopLoc; |
89 | myForceProj : Boolean; |
90 | myInitOK : Boolean; |
91 | |
92 | end TransferParametersProj; |