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
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.
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.
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.
23 class TransferParametersProj from ShapeAnalysis inherits TransferParameters from ShapeAnalysis
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
34 HSequenceOfReal from TColStd,
38 CurveOnSurface from Adaptor3d,
42 Create returns mutable TransferParametersProj from ShapeAnalysis;
43 ---Purpose: Creats empty constructor.
45 Create(E: Edge from TopoDS; F: Face from TopoDS)
46 returns mutable TransferParametersProj from ShapeAnalysis;
49 Init(me: mutable; E: Edge from TopoDS; F: Face from TopoDS ) is redefined;
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)
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)
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()
69 TransferRange(me: mutable; newEdge: in out Edge from TopoDS;
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.
76 IsSameRange(me) returns Boolean is redefined;
77 ---Purpose: Returns False;
80 PreformSegment(me: mutable;Param :Real; To2d :Boolean;
81 First :Real; Last :Real)
82 returns Real is private;
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)
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)
99 myCurve : Curve from Geom;
100 myCurve2d : Curve from Geom2d;
101 myAC3d : CurveOnSurface from Adaptor3d;
103 myLocation : Location from TopLoc;
104 myForceProj : Boolean;
107 end TransferParametersProj;