Integration of OCCT 6.5.0 from SVN
[occt.git] / src / GeomFill / GeomFill_BoundWithSurf.cdl
CommitLineData
7fd59977 1-- File: GeomFill_BoundWithSurf.cdl
2-- Created: Tue Oct 17 15:02:27 1995
3-- Author: Laurent BOURESCHE
4-- <lbo@phylox>
5---Copyright: Matra Datavision 1995
6
7
8class BoundWithSurf from GeomFill inherits Boundary from GeomFill
9
10 ---Purpose: Defines a 3d curve as a boundary for a
11 -- GeomFill_ConstrainedFilling algorithm.
12 -- This curve is attached to an existing surface.
13 -- Defines a constrained boundary for filling
14 -- the computations are done with a CurveOnSurf and a
15 -- normals field defined by the normalized normal to
16 -- the surface along the PCurve.
17
18uses
19 Pnt from gp,
20 Vec from gp,
21 Function from Law,
22 CurveOnSurface from Adaptor3d
23
24is
25
26 Create(CurveOnSurf : CurveOnSurface from Adaptor3d;
27 Tol3d : Real from Standard;
28 Tolang : Real from Standard)
29 returns mutable BoundWithSurf from GeomFill;
30 ---Purpose:
31 -- Constructs a boundary object defined by the 3d curve CurveOnSurf.
32 -- The surface to be filled along this boundary will be in the
33 -- tolerance range defined by Tol3d.
34 -- What's more, at each point of CurveOnSurf, the angle
35 -- between the normal to the surface to be filled along this
36 -- boundary, and the normal to the surface on which
37 -- CurveOnSurf lies, must not be greater than TolAng.
38 -- This object is to be used as a boundary for a
39 -- GeomFill_ConstrainedFilling framework.
40 -- Warning
41 -- CurveOnSurf is an adapted curve, that is, an object
42 -- which is an interface between:
43 -- - the services provided by a curve lying on a surface from the package Geom
44 -- - and those required of the curve by the computation algorithm which uses it.
45 -- The adapted curve is created in the following way:
46 -- Handle(Geom_Surface) mySurface = ... ;
47 -- Handle(Geom2d_Curve) myParamCurve = ... ;
48 -- // where myParamCurve is a 2D curve in the parametric space of the surface mySurface
49 -- Handle(GeomAdaptor_HSurface)
50 -- Surface = new
51 -- GeomAdaptor_HSurface(mySurface);
52 -- Handle(Geom2dAdaptor_HCurve)
53 -- ParamCurve = new
54 -- Geom2dAdaptor_HCurve(myParamCurve);
55 -- CurveOnSurf = Adaptor3d_CurveOnSurface(ParamCurve,Surface);
56 -- The boundary is then constructed with the CurveOnSurf object:
57 -- Standard_Real Tol = ... ;
58 -- Standard_Real TolAng = ... ;
59 -- myBoundary = GeomFill_BoundWithSurf (
60 -- CurveOnSurf, Tol, TolAng );
61
62
63
64
65 Value(me;
66 U : Real from Standard)
67 returns Pnt from gp;
68
69 D1(me;
70 U : Real from Standard;
71 P : out Pnt from gp;
72 V : out Vec from gp) ;
73
74 HasNormals(me)
75 returns Boolean from Standard
76 is redefined;
77
78 Norm(me;
79 U : Real from Standard)
80 returns Vec from gp
81 is redefined;
82
83 D1Norm(me;
84 U : Real from Standard;
85 N : out Vec from gp;
86 DN : out Vec from gp)
87 is redefined;
88
89 Reparametrize(me : mutable;
90 First, Last : Real from Standard;
91 HasDF, HasDL : Boolean from Standard;
92 DF, DL : Real from Standard;
93 Rev : Boolean from Standard);
94
95 Bounds(me; First, Last : out Real from Standard);
96
97 IsDegenerated(me) returns Boolean from Standard;
98
99fields
100
101 myConS : CurveOnSurface from Adaptor3d;
102 myPar : Function from Law;
103
104end BoundWithSurf;
105