summaryrefslogtreecommitdiff
path: root/inc/BRepMesh_VertexTool.hxx
blob: 85f6e4a9de226b016aaf0a19848d938ea9cf5ff8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _BRepMesh_VertexTool_HeaderFile
#define _BRepMesh_VertexTool_HeaderFile

#ifndef _Standard_HeaderFile
#include <Standard.hxx>
#endif
#ifndef _Standard_Macro_HeaderFile
#include <Standard_Macro.hxx>
#endif

#ifndef _BRepMesh_BaseAllocator_HeaderFile
#include <BRepMesh_BaseAllocator.hxx>
#endif
#ifndef _BRepMesh_VertexCellFilter_HeaderFile
#include <BRepMesh_VertexCellFilter.hxx>
#endif
#ifndef _BRepMesh_VertexInspector_HeaderFile
#include <BRepMesh_VertexInspector.hxx>
#endif
#ifndef _BRepMesh_DataMapOfIntegerListOfInteger_HeaderFile
#include <BRepMesh_DataMapOfIntegerListOfInteger.hxx>
#endif
#ifndef _TColStd_Array1OfReal_HeaderFile
#include <TColStd_Array1OfReal.hxx>
#endif
#ifndef _Standard_Integer_HeaderFile
#include <Standard_Integer.hxx>
#endif
#ifndef _Standard_Real_HeaderFile
#include <Standard_Real.hxx>
#endif
#ifndef _BRepMesh_ListOfInteger_HeaderFile
#include <BRepMesh_ListOfInteger.hxx>
#endif
#ifndef _Standard_Boolean_HeaderFile
#include <Standard_Boolean.hxx>
#endif
#ifndef _Standard_OStream_HeaderFile
#include <Standard_OStream.hxx>
#endif
class BRepMesh_Vertex;
class gp_XY;


//! Describes the data structure necessary for the <br>
//!          mesh algorithm and contains the vertices in UV space. <br>
class BRepMesh_VertexTool  {
public:

  void* operator new(size_t,void* anAddress) 
  {
    return anAddress;
  }
  void* operator new(size_t size) 
  {
    return Standard::Allocate(size); 
  }
  void  operator delete(void *anAddress) 
  {
    if (anAddress) Standard::Free((Standard_Address&)anAddress); 
  }

  
  Standard_EXPORT   BRepMesh_VertexTool(const BRepMesh_BaseAllocator& theAlloc);
  //! Constructs a VertexTool with an  evaluation of the <br>
//!          number of vertices. <br>
  Standard_EXPORT   BRepMesh_VertexTool(const Standard_Integer nbComp,const BRepMesh_BaseAllocator& theAlloc);
  //! Sets new size for cellfilter. <br>
  Standard_EXPORT     void SetCellSize(const Standard_Real theSize) ;
  //! Sets new size for cellfilter. <br>
  Standard_EXPORT     void SetCellSize(const Standard_Real theXSize,const Standard_Real theYSize) ;
  //! Sets new size for cellfilter. <br>
  Standard_EXPORT     void SetTolerance(const Standard_Real theTol) ;
  //! Sets new size for cellfilter. <br>
  Standard_EXPORT     void SetTolerance(const Standard_Real theTolX,const Standard_Real theTolY) ;
  //! Adds a vertex to the tool. <br>
  Standard_EXPORT     Standard_Integer Add(const BRepMesh_Vertex& theVertex,const BRepMesh_ListOfInteger& theParams) ;
  //! Adds a vertex to the tool. <br>
  Standard_EXPORT     Standard_Integer Add(const BRepMesh_Vertex& theVertex) ;
  //! Deletes a vertex from the tool. <br>
  Standard_EXPORT     void Delete(const Standard_Integer theIndex) ;
  //! Returns data assigned to theIndex. <br>
  Standard_EXPORT     BRepMesh_ListOfInteger& FindFromIndex(const Standard_Integer theIndex) const;
    BRepMesh_ListOfInteger& operator()(const Standard_Integer theIndex) const
{
  return FindFromIndex(theIndex);
}
  //! Selects the vertex by theIndex. <br>
  Standard_EXPORT    const BRepMesh_Vertex& FindKey(const Standard_Integer theIndex) ;
  //! Returns an index of theVertex. <br>
  Standard_EXPORT     Standard_Integer FindIndex(const BRepMesh_Vertex& theVertex) ;
  //! Returns a number of vertices. <br>
  Standard_EXPORT     Standard_Integer Extent() const;
  //! Returns True when the map contains no keys. <br>
  Standard_EXPORT     Standard_Boolean IsEmpty() const;
  //! Substitutes vertex with Index on <br>
//!          theVertex with attributes theData. <br>
  Standard_EXPORT     void Substitute(const Standard_Integer Index,const BRepMesh_Vertex& theVertex,const BRepMesh_ListOfInteger& theData) ;
  //! Remove last node from the structure. <br>
  Standard_EXPORT     void RemoveLast() ;
  //! Returns the list with indexes of <br>
//!          vertices that have Movability attribute <br>
//!          equal to BRepMesh_Deleted and can be <br>
//!          replaced with another node. <br>
  Standard_EXPORT    const BRepMesh_ListOfInteger& GetListOfDelNodes() const;
  //! Prints statistics. <br>
  Standard_EXPORT     void Statistics(Standard_OStream& S) const;





protected:





private:

  
  Standard_EXPORT     void ExpandPoint(const gp_XY& thePnt,gp_XY& theMinPnt,gp_XY& theMaxPnt) ;


BRepMesh_BaseAllocator myAllocator;
BRepMesh_VertexCellFilter myCellFilter;
BRepMesh_VertexInspector mySelector;
BRepMesh_DataMapOfIntegerListOfInteger myLinksMap;
TColStd_Array1OfReal myTol;


};





// other Inline functions and methods (like "C++: function call" methods)


#endif