1 -- Created on: 2011-06-02
2 -- Created by: Oleg AGASHIN
3 -- Copyright (c) 2011-2012 OPEN CASCADE SAS
5 -- The content of this file is subject to the Open CASCADE Technology Public
6 -- License Version 6.5 (the "License"). You may not use the content of this file
7 -- except in compliance with the License. Please obtain a copy of the License
8 -- at http://www.opencascade.org and read it completely before using this file.
10 -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11 -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13 -- The Original Code and all software distributed under the License is
14 -- distributed on an "AS IS" basis, without warranty of any kind, and the
15 -- Initial Developer hereby disclaims all such warranties, including without
16 -- limitation, any warranties of merchantability, fitness for a particular
17 -- purpose or non-infringement. Please see the License for the specific terms
18 -- and conditions governing the rights and limitations under the License.
22 class VertexTool from BRepMesh
24 ---Purpose: Describes the data structure necessary for the
25 -- mesh algorithm and contains the vertices in UV space.
27 uses Boolean from Standard,
28 Integer from Standard,
31 ListOfInteger from BRepMesh,
32 VertexCellFilter from BRepMesh,
33 VertexInspector from BRepMesh,
34 BaseAllocator from BRepMesh,
36 DataMapOfIntegerListOfInteger from BRepMesh,
37 Array1OfReal from TColStd
39 is Create (theAlloc : in BaseAllocator from BRepMesh)
40 returns VertexTool from BRepMesh;
43 Create (nbComp : in Integer from Standard;
44 theAlloc : in BaseAllocator from BRepMesh)
45 ---Purpose: Constructs a VertexTool with an evaluation of the
46 -- number of vertices.
47 returns VertexTool from BRepMesh;
49 SetCellSize(me : in out;
50 theSize : in Real from Standard)
51 ---Purpose: Sets new size for cellfilter.
54 SetCellSize(me : in out;
55 theXSize : in Real from Standard;
56 theYSize : in Real from Standard)
57 ---Purpose: Sets new size for cellfilter.
60 SetTolerance(me : in out;
61 theTol : in Real from Standard)
62 ---Purpose: Sets new size for cellfilter.
65 SetTolerance(me : in out;
66 theTolX : in Real from Standard;
67 theTolY : in Real from Standard)
68 ---Purpose: Sets new size for cellfilter.
72 theVertex: in Vertex from BRepMesh;
73 theParams: in ListOfInteger from BRepMesh)
74 ---Purpose: Adds a vertex to the tool.
75 returns Integer from Standard is static;
78 theVertex: in Vertex from BRepMesh)
79 ---Purpose: Adds a vertex to the tool.
80 returns Integer from Standard is static;
82 Delete (me : in out; theIndex : Integer from Standard)
83 ---Purpose: Deletes a vertex from the tool.
86 FindFromIndex (me; theIndex : Integer from Standard)
87 ---Purpose: Returns data assigned to theIndex.
88 ---C++: alias operator()
90 returns ListOfInteger from BRepMesh is static;
92 FindKey (me: out; theIndex: Integer from Standard)
93 ---Purpose: Selects the vertex by theIndex.
94 ---C++: return const &
95 returns Vertex from BRepMesh is static;
98 theVertex: Vertex from BRepMesh)
99 ---Purpose: Returns an index of theVertex.
100 returns Integer from Standard is static;
103 ---Purpose: Returns a number of vertices.
104 returns Integer from Standard is static;
107 ---Purpose: Returns True when the map contains no keys.
108 returns Boolean from Standard is static;
110 Substitute(me: in out; Index: Integer from Standard;
111 theVertex: Vertex from BRepMesh;
112 theData : ListOfInteger from BRepMesh)
113 ---Purpose: Substitutes vertex with Index on
114 -- theVertex with attributes theData.
118 ---Purpose: Remove last node from the structure.
121 GetListOfDelNodes(me)
122 ---Purpose: Returns the list with indexes of
123 -- vertices that have Movability attribute
124 -- equal to BRepMesh_Deleted and can be
125 -- replaced with another node.
126 ---C++: return const &
127 returns ListOfInteger from BRepMesh
130 ExpandPoint(me: in out;
131 thePnt: in XY from gp;
132 theMinPnt: out XY from gp;
133 theMaxPnt: out XY from gp)
136 Statistics(me; S: in out OStream from Standard)
137 ---Purpose: Prints statistics.
140 fields myAllocator : BaseAllocator from BRepMesh;
141 myCellFilter : VertexCellFilter from BRepMesh;
142 mySelector : VertexInspector from BRepMesh;
143 myLinksMap : DataMapOfIntegerListOfInteger from BRepMesh;
144 myTol : Array1OfReal from TColStd;