0024624: Lost word in license statement in source files
[occt.git] / src / BRepFill / BRepFill_LocationLaw.cdl
CommitLineData
b311480e 1-- Created on: 1998-01-14
2-- Created by: Philippe MANGIN
3-- Copyright (c) 1998-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
d5f74e42 8-- This library is free software; you can redistribute it and/or modify it under
9-- the terms of the GNU Lesser General Public License version 2.1 as published
973c2be1 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17deferred class LocationLaw from BRepFill inherits TShared from MMgt
18
19 ---Purpose: Location Law on a Wire.
20
21 ---Level: Advanced
22
23uses
24 LocationLaw from GeomFill,
25 HArray1OfLocationLaw from GeomFill,
26 PipeError from GeomFill,
27 HArray1OfReal from TColStd,
28 Array1OfInteger from TColStd,
29 HArray1OfInteger from TColStd,
30 HArray1OfShape from TopTools,
31 Shape from TopoDS,
32 Wire from TopoDS,
33 Edge from TopoDS,
34 Vertex from TopoDS
35
36raises
37 OutOfRange from Standard
38
39is
40 Init (me : mutable; Path : Wire from TopoDS)
41 ---Purpose: Initialize all the fields, this methode have to
42 -- be called by the constructors of Inherited class.
43 is protected;
44
45 GetStatus(me)
46 ---Purpose: Return a error status, if the status is not PipeOk then
47 -- it exist a parameter tlike the law is not valuable for t.
48 returns PipeError from GeomFill;
49
50 TransformInG0Law(me : mutable)
51 ---Purpose: Apply a linear transformation on each law, to have
52 -- continuity of the global law beetween the edges.
53 is virtual;
54
55
56 TransformInCompatibleLaw(me : mutable;
57 AngularTolerance : Real)
58 ---Purpose: Apply a linear transformation on each law, to reduce
59 -- the dicontinuities of law at one rotation.
60 is virtual;
61
62 TangentIsMain(me : mutable)
63 ---Purpose: To preseve if possible the Tangent in transformations
64 -- It is the default mode.
65 is protected;
66
67 NormalIsMain(me : mutable)
68 ---Purpose: To preseve if possible the Normal in transformations
69 is protected;
70
71 BiNormalIsMain(me : mutable)
72 ---Purpose: To preseve if possible the BiNormal in transformations
73 is protected;
74
75 DeleteTransform(me : mutable)
76 is static;
77
78 NbHoles(me: mutable; Tol : Real = 1.0e-7)
79 returns Integer;
80
81 Holes(me; Interval : out Array1OfInteger from TColStd);
82
83 NbLaw(me)
84 ---Purpose: Return the number of elementary Law
85 returns Integer;
86
87 Law(me; Index : Integer)
88 ---Purpose: Return the elementary Law of rank <Index>
89 -- <Index> have to be in [1, NbLaw()]
90 ---C++: return const &
91 returns LocationLaw from GeomFill
92 raises OutOfRange;
93
94 Wire(me)
95 ---Purpose: return the path
96 ---C++: return const &
97 returns Wire from TopoDS;
98
99 Edge(me; Index : Integer)
100 ---Purpose: Return the Edge of rank <Index> in the path
101 -- <Index> have to be in [1, NbLaw()]
102 ---C++: return const &
103 returns Edge from TopoDS
104 raises OutOfRange;
105
106 Vertex(me; Index : Integer)
107 ---Purpose: Return the vertex of rank <Index> in the path
108 -- <Index> have to be in [0, NbLaw()]
109 returns Vertex from TopoDS
110 raises OutOfRange;
111
112 PerformVertex(me; Index : Integer;
113 InputVertex : Vertex from TopoDS;
114 TolMin : Real;
115 OutputVertex : out Vertex;
116 Location : Integer = 0)
117 ---Purpose: Compute <OutputVertex> like a transformation of
118 -- <InputVertex> the transformation is given by
119 -- evaluation of the location law in the vertex of
120 -- rank <Index>.
121 -- <Location> is used to manage discontinuities :
122 -- - -1 : The law before the vertex is used.
123 -- - 1 : The law after the vertex is used.
124 -- - 0 : Average of the both laws is used.
125 is static;
126
127 CurvilinearBounds(me; Index : Integer;
128 First, Last :out Real);
129 ---Purpose:Return the Curvilinear Bounds of the <Index> Law
130
131 IsClosed(me) returns Boolean;
132
133 IsG1(me; Index : Integer;
134 SpatialTolerance : Real = 1.0e-7;
135 AngularTolerance : Real = 1.0e-4)
136 ---Purpose: Compute the Law's continuity beetween 2 edges of the path
137 -- The result can be :
138 -- -1 : Case Not connex
139 -- 0 : It is connex (G0)
140 -- 1 : It is tangent (G1)
141 returns Integer;
142
143 D0(me:mutable; Abscissa :Real;
144 Section : in out Shape from TopoDS);
145 ---Purpose: Apply the Law to a shape, for a given Curnilinear abscissa
146
147
148 Parameter(me:mutable; Abscissa :Real;
149 Index : out Integer;
150 Param : out Real);
151 ---Purpose: Find the index Law and the parmaeter, for a given
152 -- Curnilinear abscissa
153
154
155 Abscissa(me:mutable; Index : Integer;
156 Param : Real)
157 ---Purpose:Return the curvilinear abscissa corresponding to a point
158 -- of the path, defined by <Index> of Edge and a
159 -- parameter on the edge.
160 returns Real;
161
162fields
163 myPath : Wire from TopoDS is protected;
164 myTol : Real is protected;
165 myLaws : HArray1OfLocationLaw from GeomFill is protected;
166 myLength : HArray1OfReal from TColStd is protected;
167 myEdges : HArray1OfShape from TopTools is protected;
168 myDisc : HArray1OfInteger from TColStd is protected;
169 myType : Integer;
170end LocationLaw;
171
172
173