1 -- Created on: 1999-05-21
2 -- Created by: Pavel DURANDIN
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 ConvertSurfaceToBezierBasis from ShapeUpgrade inherits SplitSurface from ShapeUpgrade
25 ---Purpose: Converts a plane, bspline surface, surface of revolution, surface
26 -- of extrusion, offset surface to grid of bezier basis surface (
28 -- surface of revolution based on bezier curve,
29 -- offset surface based on any previous type).
33 CompositeSurface from ShapeExtend
37 Create returns mutable ConvertSurfaceToBezierBasis from ShapeUpgrade;
38 ---Purpose: Empty constructor.
40 Build (me: mutable; Segment: Boolean) is redefined;
41 ---Purpose: Splits a list of beziers computed by Compute method according
42 -- the split values and splitting parameters.
44 Compute(me: mutable; Segment: Boolean) is redefined;
45 ---Purpose: Converts surface into a grid of bezier based surfaces, and
48 Segments(me) returns CompositeSurface from ShapeExtend;
49 ---Purpose: Returns the grid of bezier based surfaces correspondent to
52 --Methods for handling surface modes
54 SetPlaneMode(me: mutable; mode: Boolean);
55 ---Purpose: Sets mode for conversion Geom_Plane to Bezier
58 GetPlaneMode(me) returns Boolean;
59 ---Purpose: Returns the Geom_Pline conversion mode.
62 SetRevolutionMode(me: mutable; mode: Boolean);
63 ---Purpose: Sets mode for conversion Geom_SurfaceOfRevolution to Bezier
66 GetRevolutionMode(me) returns Boolean;
67 ---Purpose: Returns the Geom_SurfaceOfRevolution conversion mode.
70 SetExtrusionMode(me: mutable; mode: Boolean);
71 ---Purpose: Sets mode for conversion Geom_SurfaceOfLinearExtrusion to Bezier
74 GetExtrusionMode(me) returns Boolean;
75 ---Purpose: Returns the Geom_SurfaceOfLinearExtrusion conversion mode.
78 SetBSplineMode(me: mutable; mode: Boolean);
79 ---Purpose: Sets mode for conversion Geom_BSplineSurface to Bezier
82 GetBSplineMode(me) returns Boolean;
83 ---Purpose: Returns the Geom_BSplineSurface conversion mode.
88 mySegments : CompositeSurface from ShapeExtend;
89 myPlaneMode : Boolean;
90 myRevolutionMode: Boolean;
91 myExtrusionMode : Boolean;
92 myBSplineMode : Boolean;
94 end ConvertSurfaceToBezierBasis;