1 -- Created on: 1998-03-12
2 -- Created by: Pierre BARRAS
3 -- Copyright (c) 1998-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
6 -- This file is part of Open CASCADE Technology software library.
8 -- This library is free software; you can redistribute it and / or modify it
9 -- under the terms of the GNU Lesser General Public version 2.1 as published
10 -- by the Free Software Foundation, with special exception defined in the file
11 -- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12 -- distribution for complete text of the license and disclaimer of any warranty.
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
17 class SplitCurve from ShapeUpgrade inherits TShared from MMgt
19 ---Purpose: Splits a curve with a criterion.
23 HArray1OfCurve from TColGeom,
24 HSequenceOfReal from TColStd,
26 Status from ShapeExtend
29 Create returns mutable SplitCurve from ShapeUpgrade;
30 ---Purpose: Empty constructor.
32 Init (me: mutable; First, Last: Real);
33 ---Purpose: Initializes with curve first and last parameters.
35 SetSplitValues (me: mutable; SplitValues: HSequenceOfReal from TColStd);
36 ---Purpose: Sets the parameters where splitting has to be done.
38 Build (me: mutable; Segment: Boolean) is virtual;
39 ---Purpose: If Segment is True, the result is composed with
40 -- segments of the curve bounded by the SplitValues. If
41 -- Segment is False, the result is composed with trimmed
42 -- Curves all based on the same complete curve.
45 SplitValues(me) returns HSequenceOfReal from TColStd;
46 ---C++: return const &
47 --- Purpose : returns all the splitting values including the
48 -- First and Last parameters of the input curve
53 --PrepareKnots (me: mutable) is protected;
54 ---Purpose: Merges input split values and new ones into myGlobalKnots
56 Compute(me: mutable) is virtual;
57 ---Purpose: Calculates points for correction/splitting of the curve
59 Perform(me: mutable; Segment: Boolean = Standard_True);
60 ---Purpose: Performs correction/splitting of the curve.
61 --- First defines splitting values by method Compute(), then calls method Build().
63 Status (me; status: Status from ShapeExtend) returns Boolean;
64 ---Purpose: Returns the status
65 -- OK - no splitting is needed
66 -- DONE1 - splitting required and gives more than one segment
67 -- DONE2 - splitting is required, but gives only one segment (initial)
68 -- DONE3 - geometric form of the curve or parametrisation is modified
71 mySplitValues : HSequenceOfReal from TColStd is protected;
72 myNbCurves : Integer is protected;
73 myStatus : Integer is protected;