1 -- Created on: 1995-06-20
2 -- Created by: Stagiaire Alain JOURDAIN <ajo@phobox>
3 -- Copyright (c) 1995-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.
22 class IncrementalMesh from BRepMesh
24 inherits DiscretRoot from BRepMesh
26 ---Purpose: Builds the mesh of a shape with respect of their
27 -- correctly triangulated parts
35 MapOfShape from TopTools,
36 IndexedDataMapOfShapeListOfShape from TopTools,
37 DataMapOfShapeReal from TopTools,
38 FastDiscret from BRepMesh,
40 PDiscretRoot from BRepMesh
44 returns IncrementalMesh from BRepMesh;
45 ---C++: alias "Standard_EXPORT virtual ~BRepMesh_IncrementalMesh();"
47 Create (S : Shape from TopoDS;
48 D : Real from Standard;
49 Relatif : Boolean from Standard = Standard_False;
50 Ang : Real from Standard = 0.5;
51 InParallel : Boolean from Standard = Standard_False)
52 returns IncrementalMesh from BRepMesh;
53 ---Purpose: If the boolean <Relatif> is True, the
54 -- deflection used for the polygonalisation of
55 -- each edge will be <D> * Size of Edge.
56 -- the deflection used for the faces will be the maximum
57 -- deflection of their edges.
59 SetRelative ( me : mutable;
60 theFlag : Boolean from Standard);
63 returns Boolean from Standard;
66 is redefined protected;
68 Perform (me : mutable)
72 S : Shape from TopoDS)
74 ---Purpose: Builds the incremental mesh of the shape
77 returns Boolean from Standard
83 ---Purpose: Locate a correct discretisation if it exists
84 -- Set no one otherwise
89 ---Purpose: If the face is not correctly triangulated, or
90 -- if one of its edges is to be discretisated
91 -- correctly, the triangulation of this face is
95 returns Integer from Standard
98 SetParallel ( me : mutable;
99 theInParallel : Boolean from Standard);
101 -- Request algorithm to launch in multiple threads to improve performance.
104 returns Boolean from Standard;
106 -- Returns the multi-threading usage flag.
112 theShape : Shape from TopoDS;
113 theDeflection : Real from Standard;
114 theAngle : Real from Standard;
115 theAlgo : out PDiscretRoot from BRepMesh)
116 returns Integer from Standard;
118 -- Plugin interface for the Mesh Factories.
120 IsParallelDefault (myclass)
121 returns Boolean from Standard;
123 -- Returns multi-threading usage flag set by default in
124 -- Discret() static method (thus applied only to Mesh Factories).
126 SetParallelDefault (myclass;
127 theInParallel : Boolean from Standard);
129 -- Setup multi-threading usage flag set by default in
130 -- Discret() static method (thus applied only to Mesh Factories).
133 myRelative : Boolean from Standard is protected;
134 myInParallel : Boolean from Standard is protected;
135 myMap : MapOfShape from TopTools is protected;
136 myMesh : FastDiscret from BRepMesh is protected;
137 myModified : Boolean from Standard is protected;
138 mymapedge : DataMapOfShapeReal from TopTools is protected;
139 myancestors : IndexedDataMapOfShapeListOfShape from TopTools is protected;
140 mydtotale : Real from Standard is protected;
141 myBox : Box from Bnd is protected;
142 myStatus : Integer from Standard is protected;