0024171: Eliminate CLang compiler warning -Wreorder
[occt.git] / src / ShapeAnalysis / ShapeAnalysis_TransferParametersProj.cdl
1 -- Created on: 1999-06-21
2 -- Created by: Galina KULIKOVA
3 -- Copyright (c) 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 class TransferParametersProj from ShapeAnalysis inherits TransferParameters from ShapeAnalysis
24
25         ---Purpose: This tool is used for transferring parameters
26         --          from 3d curve of the edge to pcurve and vice versa.
27         --          This tool transfers parameters with help of 
28         --          projection points from curve 3d on curve 2d and
29         --          vice versa
30 uses
31  
32     Edge            from TopoDS,
33     Face            from TopoDS,
34     HSequenceOfReal from TColStd,
35     Location        from TopLoc,
36     Curve           from Geom,
37     Curve           from Geom2d,
38     CurveOnSurface  from Adaptor3d,
39     Vertex from TopoDS
40 is
41
42     Create returns mutable TransferParametersProj from ShapeAnalysis;
43         ---Purpose: Creats empty constructor. 
44     
45     Create(E: Edge from TopoDS; F: Face from TopoDS) 
46     returns mutable TransferParametersProj from ShapeAnalysis;
47         ---Purpose:
48     
49     Init(me: mutable; E: Edge from TopoDS; F: Face from TopoDS ) is redefined;
50         ---Purpose:
51     
52     Perform(me: mutable; Papams: HSequenceOfReal from TColStd; To2d: Boolean) 
53     returns  HSequenceOfReal from TColStd is redefined;
54         ---Purpose: Transfers parameters given by sequence Params from 3d curve
55         --          to pcurve (if To2d is True) or back (if To2d is False)
56     
57     Perform(me: mutable; Param: Real; To2d: Boolean) 
58     returns Real is redefined;
59         ---Purpose:Transfers parameter given by  Param from 3d curve
60         --          to pcurve (if To2d is True) or back (if To2d is False)
61
62     ForceProjection (me: mutable) returns Boolean;
63         ---Purpose: Returns modifiable flag forcing projection
64         --          If it is False (default), projection is done only
65         --          if edge is not SameParameter or if tolerance of edge
66         --          is greater than MaxTolerance()
67         ---C++: return &
68     
69     TransferRange(me: mutable; newEdge: in out Edge from TopoDS; 
70                                prevPar: Real;
71                                currPar: Real;
72                                Is2d   : Boolean) is redefined;
73         ---Purpose: Recomputes range of curves from NewEdge.
74         --          If Is2d equals True parameters are recomputed by curve2d else by curve3d. 
75     
76     IsSameRange(me) returns Boolean is redefined;
77         ---Purpose: Returns False;
78         --          
79     
80     PreformSegment(me: mutable;Param :Real; To2d :Boolean;
81                                First :Real; Last :Real)
82     returns Real is private;                           
83
84     CopyNMVertex(myclass; theVert: Vertex from TopoDS;
85                       toedge: Edge from TopoDS;
86                       fromedge: Edge from TopoDS ) returns Vertex from TopoDS;
87         ---Purpose: Make a copy of non-manifold vertex theVert 
88         --          (i.e. create new  TVertex and replace PointRepresentations for this vertex 
89         --          from fromedge to toedge. Other representations were copied)
90     
91     CopyNMVertex(myclass; theVert: Vertex from TopoDS;
92                       toFace: Face from TopoDS;
93                       fromFace: Face from TopoDS ) returns Vertex from TopoDS;
94         ---Purpose: Make a copy of non-manifold vertex theVert 
95         --          (i.e. create new  TVertex and replace PointRepresentations for this vertex 
96         --          from fromFace to toFace. Other representations were copied)
97 fields
98
99     myCurve        : Curve from Geom; 
100     myCurve2d      : Curve from Geom2d;
101     myAC3d         : CurveOnSurface from Adaptor3d;
102     myPrecision    : Real;
103     myLocation     : Location from TopLoc;
104     myForceProj    : Boolean;
105     myInitOK       : Boolean;
106     
107 end TransferParametersProj;