0024428: Implementation of LGPL license
[occt.git] / src / BRepMesh / BRepMesh_IncrementalMesh.cdl
CommitLineData
b311480e 1-- Created on: 1995-06-20
2-- Created by: Stagiaire Alain JOURDAIN <ajo@phobox>
3-- Copyright (c) 1995-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
0b97567d 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
973c2be1 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.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17class IncrementalMesh from BRepMesh
7fd59977 18
0b97567d
K
19inherits DiscretRoot from BRepMesh
20
21 ---Purpose: Builds the mesh of a shape with respect of their
22 -- correctly triangulated parts
23 --
7fd59977 24
0b97567d 25uses
7fd59977 26 Box from Bnd,
27 Shape from TopoDS,
28 Face from TopoDS,
29 Edge from TopoDS,
30 MapOfShape from TopTools,
31 IndexedDataMapOfShapeListOfShape from TopTools,
32 DataMapOfShapeReal from TopTools,
0b97567d
K
33 FastDiscret from BRepMesh,
34 Status from BRepMesh,
35 PDiscretRoot from BRepMesh
7fd59977 36
0b97567d 37is
7fd59977 38 Create
0b97567d 39 returns IncrementalMesh from BRepMesh;
7fd59977 40 ---C++: alias "Standard_EXPORT virtual ~BRepMesh_IncrementalMesh();"
0b97567d 41
416d4426 42 Create (S : Shape from TopoDS;
43 D : Real from Standard;
44 Relatif : Boolean from Standard = Standard_False;
45 Ang : Real from Standard = 0.5;
46 InParallel : Boolean from Standard = Standard_False)
0b97567d
K
47 returns IncrementalMesh from BRepMesh;
48 ---Purpose: If the boolean <Relatif> is True, the
49 -- deflection used for the polygonalisation of
50 -- each edge will be <D> * Size of Edge.
51 -- the deflection used for the faces will be the maximum
52 -- deflection of their edges.
53
54 SetRelative ( me : mutable;
55 theFlag : Boolean from Standard);
56
57 Relative (me)
58 returns Boolean from Standard;
59
60 Init (me : mutable)
61 is redefined protected;
62
63 Perform (me : mutable)
64 is redefined;
65
66 Update (me : mutable;
67 S : Shape from TopoDS)
68 is static;
69 ---Purpose: Builds the incremental mesh of the shape
70
71 IsModified (me)
72 returns Boolean from Standard
73 is static;
74
75 Update (me : mutable;
76 E : Edge from TopoDS)
77 is static private;
78 ---Purpose: Locate a correct discretisation if it exists
79 -- Set no one otherwise
80
81 Update (me : mutable;
82 F : Face from TopoDS)
83 is static private;
84 ---Purpose: If the face is not correctly triangulated, or
85 -- if one of its edges is to be discretisated
86 -- correctly, the triangulation of this face is
87 -- built.
88
89 GetStatusFlags (me)
90 returns Integer from Standard
91 is static;
92
93 SetParallel ( me : mutable;
94 theInParallel : Boolean from Standard);
95 ---Purpose:
96 -- Request algorithm to launch in multiple threads to improve performance.
97
98 IsParallel (me)
99 returns Boolean from Standard;
100 ---Purpose:
101 -- Returns the multi-threading usage flag.
102
103 --
104 -- Plugin interface
105 --
106 Discret (myclass;
107 theShape : Shape from TopoDS;
108 theDeflection : Real from Standard;
109 theAngle : Real from Standard;
110 theAlgo : out PDiscretRoot from BRepMesh)
111 returns Integer from Standard;
112 ---Purpose:
113 -- Plugin interface for the Mesh Factories.
114
115 IsParallelDefault (myclass)
116 returns Boolean from Standard;
117 ---Purpose:
118 -- Returns multi-threading usage flag set by default in
119 -- Discret() static method (thus applied only to Mesh Factories).
120
121 SetParallelDefault (myclass;
122 theInParallel : Boolean from Standard);
123 ---Purpose:
124 -- Setup multi-threading usage flag set by default in
125 -- Discret() static method (thus applied only to Mesh Factories).
126
7fd59977 127fields
128 myRelative : Boolean from Standard is protected;
0b97567d 129 myInParallel : Boolean from Standard is protected;
7fd59977 130 myMap : MapOfShape from TopTools is protected;
131 myMesh : FastDiscret from BRepMesh is protected;
132 myModified : Boolean from Standard is protected;
0b97567d 133 mymapedge : DataMapOfShapeReal from TopTools is protected;
7fd59977 134 myancestors : IndexedDataMapOfShapeListOfShape from TopTools is protected;
135 mydtotale : Real from Standard is protected;
136 myBox : Box from Bnd is protected;
d51c7072 137 myStatus : Integer from Standard is protected;
7fd59977 138
139end IncrementalMesh;