0024428: Implementation of LGPL license
[occt.git] / src / BRepMesh / BRepMesh_FastDiscretFace.cdl
... / ...
CommitLineData
1-- Created on: 2008-10-28
2-- Copyright (c) 2008-2014 OPEN CASCADE SAS
3--
4-- This file is part of Open CASCADE Technology software library.
5--
6-- This library is free software; you can redistribute it and / or modify it
7-- under the terms of the GNU Lesser General Public version 2.1 as published
8-- by the Free Software Foundation, with special exception defined in the file
9-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
10-- distribution for complete text of the license and disclaimer of any warranty.
11--
12-- Alternatively, this file may be used under the terms of Open CASCADE
13-- commercial license or contractual agreement.
14
15private class FastDiscretFace from BRepMesh inherits TShared from MMgt
16
17 ---Purpose: Algorithm to mesh a face with respect of the
18 -- frontier the deflection and by option the shared
19 -- components.
20
21
22uses Boolean from Standard,
23 Integer from Standard,
24 Real from Standard,
25 Face from TopoDS,
26 Edge from TopoDS,
27 Vertex from TopoDS,
28 Pnt from gp,
29 Pnt2d from gp,
30 XY from gp,
31 HSurface from BRepAdaptor,
32 Delaun from BRepMesh,
33 DataStructureOfDelaun from BRepMesh,
34 DataMapOfVertexInteger from BRepMesh,
35 DataMapOfIntegerListOfXY from BRepMesh,
36 DataMapOfShapeReal from TopTools,
37 MutexForShapeProvider from TopTools,
38 ListOfVertex from BRepMesh,
39 ClassifierPtr from BRepMesh,
40 Triangle from BRepMesh,
41 Edge from BRepMesh,
42 Vertex from BRepMesh,
43 FaceAttribute from BRepMesh,
44 ListOfInteger from TColStd,
45 BaseAllocator from BRepMesh,
46 DataMapOfIntegerPnt from BRepMesh,
47 IndexedMapOfInteger from TColStd,
48 IndexedMapOfReal from TColStd,
49 DataMapOfShapePairOfPolygon from BRepMesh,
50 Triangulation from Poly,
51 Location from TopLoc
52
53is
54
55 Create (theAngle : Real from Standard;
56 theWithShare : Boolean from Standard=Standard_True)
57 returns mutable FastDiscretFace from BRepMesh;
58
59
60
61
62 Add (me : mutable;
63 theFace : Face from TopoDS;
64 theAttrib : FaceAttribute from BRepMesh;
65 theMapDefle : DataMapOfShapeReal from TopTools;
66 theMutexProvider : MutexForShapeProvider from TopTools)
67 is static;
68
69
70 Add (me : mutable;
71 theVert : Vertex from TopoDS;
72 theFace : Face from TopoDS;
73 theSFace : HSurface from BRepAdaptor) is private;
74
75 RestoreStructureFromTriangulation
76 (me: mutable;
77 theEdge : Edge from TopoDS;
78 theFace : Face from TopoDS;
79 theSurf : HSurface from BRepAdaptor;
80 theTrigu : Triangulation from Poly;
81 theDefEdge : Real from Standard;
82 theLoc : Location from TopLoc;
83 theMutexProvider: MutexForShapeProvider from TopTools)
84 returns Boolean from Standard is protected;
85
86
87 InternalVertices (me : mutable;
88 theCaro : HSurface from BRepAdaptor;
89 theInternalV : in out ListOfVertex from BRepMesh;
90 theDefFace : Real from Standard;
91 theClassifier : ClassifierPtr from BRepMesh)
92 is static private;
93
94
95 Control (me : mutable;
96 theCaro : HSurface from BRepAdaptor;
97 theDefFace : Real from Standard;
98 theInternalV : in out ListOfVertex from BRepMesh;
99 theBadTriangles : in out ListOfInteger from TColStd;
100 theNulTriangles : in out ListOfInteger from TColStd;
101 theTrigu : in out Delaun from BRepMesh;
102 theIsFirst : Boolean from Standard)
103 returns Real from Standard is static;
104
105 FindUV (myclass;
106 theV : Vertex from TopoDS;
107 theXY : Pnt2d from gp;
108 theIp : Integer from Standard;
109 theSFace : HSurface from BRepAdaptor;
110 theMinDist : Real from Standard;
111 theFaceAttribute: FaceAttribute from BRepMesh;
112 theLocation2dMap: in out DataMapOfIntegerListOfXY from BRepMesh)
113 returns XY from gp;
114
115 AddInShape (me: mutable;
116 theFace : Face from TopoDS;
117 theDefFace: Real from Standard;
118 theMutexProvider: MutexForShapeProvider from TopTools)
119 is static private;
120
121
122-- Output :
123
124 Triangle (me;
125 theIndex : Integer from Standard)
126 ---Purpose: Gives the triangle of <Index>.
127 ---C++: return const &
128 returns Triangle from BRepMesh
129 is static;
130
131 Edge (me;
132 theIndex : Integer from Standard)
133 ---Purpose: Gives the edge of index <Index>.
134 ---C++: return const &
135 returns Edge from BRepMesh
136 is static;
137
138
139 Vertex (me;
140 theIndex : Integer from Standard)
141 ---Purpose: Gives the vertex of <Index>.
142 ---C++: return const &
143 returns Vertex from BRepMesh
144 is static;
145
146 Pnt (me;
147 theIndex : Integer from Standard)
148 ---Purpose: Gives the location3d of the vertex of <Index>.
149 ---C++: return const &
150 returns Pnt from gp
151 is static;
152
153fields
154 myAngle : Real from Standard;
155 myWithShare : Boolean from Standard;
156 myVertices : DataMapOfVertexInteger from BRepMesh;
157 myInternaledges : DataMapOfShapePairOfPolygon from BRepMesh;
158 myNbLocat : Integer from Standard;
159 myLocation3d : DataMapOfIntegerPnt from BRepMesh;
160 myStructure : DataStructureOfDelaun from BRepMesh;
161 myListver : ListOfVertex from BRepMesh;
162 myVemap : IndexedMapOfInteger from TColStd;
163 myLocation2d : DataMapOfIntegerListOfXY from BRepMesh;
164 myAttrib : FaceAttribute from BRepMesh;
165 myInternalVerticesMode : Boolean from Standard; --mode to accounting internal vertices
166 myUParam : IndexedMapOfReal from TColStd;
167 myVParam : IndexedMapOfReal from TColStd;
168 myAllocator : BaseAllocator from BRepMesh;
169
170end FastDiscretFace;