Select Git revision
partitionVertex.h
Forked from
gmsh / gmsh
Source project has a limited visibility.
-
Jean-François Remacle authoredJean-François Remacle authored
partitionVertex.h 1.19 KiB
// Gmsh - Copyright (C) 1997-2009 C. Geuzaine, J.-F. Remacle
//
// See the LICENSE.txt file for license information. Please report all
// bugs and problems to <gmsh@geuz.org>.
#ifndef _PARTITION_VERTEX_H_
#define _PARTITION_VERTEX_H_
#include "GModel.h"
#include "discreteVertex.h"
class partitionVertex : public discreteVertex {
public:
std::vector<int> _partitions;
public:
partitionVertex(GModel *model, int num, std::vector<int> &partitions)
: discreteVertex(model,num),_partitions(partitions)
{
std::sort(_partitions.begin(),_partitions.end());
}
virtual ~partitionVertex() {}
virtual GeomType geomType() const { return PartitionVertex; }
};
struct Less_partitionVertex :
public std::binary_function<partitionVertex*, partitionVertex*, bool> {
bool operator()(const partitionVertex* e1, const partitionVertex* e2) const{
if (e1->_partitions.size() < e2->_partitions.size())return true;
if (e1->_partitions.size() > e2->_partitions.size())return false;
for (int i=0;i<e1->_partitions.size();i++){
if (e1->_partitions[i] < e2->_partitions[i])return true;
if (e1->_partitions[i] > e2->_partitions[i])return false;
}
return false;
}
};
#endif