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