Skip to content

Commit 9987fd8

Browse files
committed
New EntitySet type
1 parent d3877cc commit 9987fd8

File tree

4 files changed

+32
-29
lines changed

4 files changed

+32
-29
lines changed

src/Core/Geom/GeomEntity.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ getRepresentation(Utils::DisplayRepresentation& dr, bool checkDestroyed) const
9999
template<typename T>
100100
void GeomEntity::
101101
buildSerializedRepresentation(Utils::SerializedRepresentation& description, const std::string& title,
102-
const std::set<T*, decltype(&Utils::Entity::compareEntity)> elements) const
102+
const Utils::EntitySet<T*> elements) const
103103
{
104104
if (!elements.empty()){
105105
Utils::SerializedRepresentation sr (title,TkUtil::NumericConversions::toStr(elements.size()));

src/Core/protected/Geom/GeomEntity.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ class GeomEntity : public Internal::InternalEntity{
169169
#ifndef SWIG
170170
template<typename T>
171171
void buildSerializedRepresentation(Utils::SerializedRepresentation& description, const std::string& title,
172-
const std::set<T*, decltype(&Utils::Entity::compareEntity)> elements) const;
172+
const Utils::EntitySet<T*> elements) const;
173173
#endif
174174

175175
private:

src/Core/protected/Geom/IncidentGeomEntitiesVisitor.h

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,10 @@ class GetDownIncidentGeomEntitiesVisitor : public ConstGeomEntityVisitor
5555
}
5656
}
5757

58-
const std::set<GeomEntity*, decltype(&Utils::Entity::compareEntity)>& get() {return m_down_incident_entities;}
59-
const std::set<Surface*, decltype(&Utils::Entity::compareEntity)>& getSurfaces() {return m_down_incident_surfaces;}
60-
const std::set<Curve*, decltype(&Utils::Entity::compareEntity)>& getCurves() {return m_down_incident_curves;}
61-
const std::set<Vertex*, decltype(&Utils::Entity::compareEntity)>& getVertices() {return m_down_incident_vertices;}
58+
const Utils::EntitySet<GeomEntity*>& get() {return m_down_incident_entities;}
59+
const Utils::EntitySet<Surface*>& getSurfaces() {return m_down_incident_surfaces;}
60+
const Utils::EntitySet<Curve*>& getCurves() {return m_down_incident_curves;}
61+
const Utils::EntitySet<Vertex*>& getVertices() {return m_down_incident_vertices;}
6262

6363
GetDownIncidentGeomEntitiesVisitor()
6464
: m_down_incident_entities(&Utils::Entity::compareEntity)
@@ -69,10 +69,10 @@ class GetDownIncidentGeomEntitiesVisitor : public ConstGeomEntityVisitor
6969
virtual ~GetDownIncidentGeomEntitiesVisitor() = default;
7070

7171
private:
72-
std::set<GeomEntity*, decltype(&Utils::Entity::compareEntity)> m_down_incident_entities;
73-
std::set<Surface*, decltype(&Utils::Entity::compareEntity)> m_down_incident_surfaces;
74-
std::set<Curve*, decltype(&Utils::Entity::compareEntity)> m_down_incident_curves;
75-
std::set<Vertex*, decltype(&Utils::Entity::compareEntity)> m_down_incident_vertices;
72+
Utils::EntitySet<GeomEntity*> m_down_incident_entities;
73+
Utils::EntitySet<Surface*> m_down_incident_surfaces;
74+
Utils::EntitySet<Curve*> m_down_incident_curves;
75+
Utils::EntitySet<Vertex*> m_down_incident_vertices;
7676
};
7777

7878
class GetUpIncidentGeomEntitiesVisitor : public ConstGeomEntityVisitor
@@ -116,10 +116,10 @@ class GetUpIncidentGeomEntitiesVisitor : public ConstGeomEntityVisitor
116116
}
117117
virtual void visit(const Volume*) {}
118118

119-
const std::set<GeomEntity*, decltype(&Utils::Entity::compareEntity)>& get() {return m_up_incident_entities;}
120-
const std::set<Volume*, decltype(&Utils::Entity::compareEntity)>& getVolumes() {return m_up_incident_volumes;}
121-
const std::set<Surface*, decltype(&Utils::Entity::compareEntity)>& getSurfaces() {return m_up_incident_surfaces;}
122-
const std::set<Curve*, decltype(&Utils::Entity::compareEntity)>& getCurves() {return m_up_incident_curves;}
119+
const Utils::EntitySet<GeomEntity*>& get() {return m_up_incident_entities;}
120+
const Utils::EntitySet<Volume*>& getVolumes() {return m_up_incident_volumes;}
121+
const Utils::EntitySet<Surface*>& getSurfaces() {return m_up_incident_surfaces;}
122+
const Utils::EntitySet<Curve*>& getCurves() {return m_up_incident_curves;}
123123

124124
GetUpIncidentGeomEntitiesVisitor()
125125
: m_up_incident_entities(&Utils::Entity::compareEntity)
@@ -130,10 +130,10 @@ class GetUpIncidentGeomEntitiesVisitor : public ConstGeomEntityVisitor
130130
virtual ~GetUpIncidentGeomEntitiesVisitor() = default;
131131

132132
private:
133-
std::set<GeomEntity*, decltype(&Utils::Entity::compareEntity)> m_up_incident_entities;
134-
std::set<Volume*, decltype(&Utils::Entity::compareEntity)> m_up_incident_volumes;
135-
std::set<Surface*, decltype(&Utils::Entity::compareEntity)> m_up_incident_surfaces;
136-
std::set<Curve*, decltype(&Utils::Entity::compareEntity)> m_up_incident_curves;
133+
Utils::EntitySet<GeomEntity*> m_up_incident_entities;
134+
Utils::EntitySet<Volume*> m_up_incident_volumes;
135+
Utils::EntitySet<Surface*> m_up_incident_surfaces;
136+
Utils::EntitySet<Curve*> m_up_incident_curves;
137137
};
138138

139139
class GetAdjacentGeomEntitiesVisitor : public ConstGeomEntityVisitor
@@ -176,11 +176,11 @@ class GetAdjacentGeomEntitiesVisitor : public ConstGeomEntityVisitor
176176
m_adjacent_entities.insert(m_adjacent_volumes.begin(), m_adjacent_volumes.end());
177177
}
178178

179-
const std::set<GeomEntity*, decltype(&Utils::Entity::compareEntity)>& get() {return m_adjacent_entities;}
180-
const std::set<Volume*, decltype(&Utils::Entity::compareEntity)>& getVolumes() {return m_adjacent_volumes;}
181-
const std::set<Surface*, decltype(&Utils::Entity::compareEntity)>& getSurfaces() {return m_adjacent_surfaces;}
182-
const std::set<Curve*, decltype(&Utils::Entity::compareEntity)>& getCurves() {return m_adjacent_curves;}
183-
const std::set<Vertex*, decltype(&Utils::Entity::compareEntity)>& getVertices() {return m_adjacent_vertices;}
179+
const Utils::EntitySet<GeomEntity*>& get() {return m_adjacent_entities;}
180+
const Utils::EntitySet<Volume*>& getVolumes() {return m_adjacent_volumes;}
181+
const Utils::EntitySet<Surface*>& getSurfaces() {return m_adjacent_surfaces;}
182+
const Utils::EntitySet<Curve*>& getCurves() {return m_adjacent_curves;}
183+
const Utils::EntitySet<Vertex*>& getVertices() {return m_adjacent_vertices;}
184184

185185
GetAdjacentGeomEntitiesVisitor()
186186
: m_adjacent_entities(&Utils::Entity::compareEntity)
@@ -192,11 +192,11 @@ class GetAdjacentGeomEntitiesVisitor : public ConstGeomEntityVisitor
192192
virtual ~GetAdjacentGeomEntitiesVisitor() = default;
193193

194194
private:
195-
std::set<GeomEntity*, decltype(&Utils::Entity::compareEntity)> m_adjacent_entities;
196-
std::set<Volume*, decltype(&Utils::Entity::compareEntity)> m_adjacent_volumes;
197-
std::set<Surface*, decltype(&Utils::Entity::compareEntity)> m_adjacent_surfaces;
198-
std::set<Curve*, decltype(&Utils::Entity::compareEntity)> m_adjacent_curves;
199-
std::set<Vertex*, decltype(&Utils::Entity::compareEntity)> m_adjacent_vertices;
195+
Utils::EntitySet<GeomEntity*> m_adjacent_entities;
196+
Utils::EntitySet<Volume*> m_adjacent_volumes;
197+
Utils::EntitySet<Surface*> m_adjacent_surfaces;
198+
Utils::EntitySet<Curve*> m_adjacent_curves;
199+
Utils::EntitySet<Vertex*> m_adjacent_vertices;
200200
};
201201
/*----------------------------------------------------------------------------*/
202202
} // end namespace Geom

src/Utils/protected/Utils/Entity.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
#include "Utils/SerializedRepresentation.h"
1414
#include <vector>
1515
#include <map>
16+
#include <set>
1617
/*----------------------------------------------------------------------------*/
1718
namespace TkUtil {
1819
class Log;
@@ -380,7 +381,9 @@ private :
380381

381382
Entity::objectType typesToType (FilterEntity::objectType types);
382383
FilterEntity::objectType typeToTypes (Entity::objectType type);
383-
384+
#ifndef SWIG
385+
template<typename T> using EntitySet = std::set<T, decltype(&Utils::Entity::compareEntity)>;
386+
#endif
384387
/*----------------------------------------------------------------------------*/
385388
} // end namespace Utils
386389
/*----------------------------------------------------------------------------*/

0 commit comments

Comments
 (0)