Go to the documentation of this file.
61 #ifndef vtkStaticEdgeLocatorTemplate_h
62 #define vtkStaticEdgeLocatorTemplate_h
73 template<
typename TId,
typename TED>
88 if ( this->V0 > this->V1 )
97 {
return ( (this->V0 == et.
V0 && this->V1 == et.
V1) ?
true :
false ); }
103 return ( (this->V0 == v0 && this->V1 == v1) ?
true :
false );
107 return ( (this->V0 == v1 && this->V1 == v0) ?
true :
false );
113 if ( this->V0 < tup.
V0 )
return true;
114 if ( tup.
V0 < this->V0 )
return false;
115 if ( this->V1 < tup.
V1 )
return true;
127 template<
typename TId,
typename TED>
143 if ( this->V0 > this->V1 )
152 {
return ( (this->V0 == et.
V0 && this->V1 == et.
V1) ?
true :
false ); }
155 {
return ( (this->V0 != et.
V0 || this->V1 != et.
V1) ?
true :
false ); }
160 if ( this->V0 < tup.
V0 )
return true;
161 if ( tup.
V0 < this->V0 )
return false;
162 if ( this->V1 < tup.
V1 )
return true;
172 template <
typename IDType,
typename EdgeData>
256 IDType curBin = this->
HashBin(V0);
260 for ( IDType i=0; i < num; ++i )
316 {
return ( (v - this->MinV0) / this->NumEdgesPerBin ); }
319 {
return (this->EdgeOffsets[bin+1] - this->EdgeOffsets[bin]); }
332 #include "vtkStaticEdgeLocatorTemplate.txx"
Definition of an edge tuple.
Templated on types of ids defining an edge, and any data associated with the edge.
bool operator==(const EdgeTuple &et) const
EdgeTuple< IDType, EdgeData > EdgeTupleType
Some convenient typedefs.
vtkStaticEdgeLocatorTemplate()
Construct an empty edge locator.
const IDType * MergeEdges(vtkIdType numEdges, MergeTupleType *edgeArray, vtkIdType &numUniqueEdges)
This method sorts (in place) an array of MergeTupleType (of length numEdges) into separate groups,...
EdgeTuple(TId v0, TId v1, TED data)
EdgeTupleType * EdgeArray
bool operator!=(const MergeTuple &et) const
IDType IsInsertedEdge(IDType v0, IDType v1) const
Return the id of the edge indicated.
IDType GetNumberOfEdgesInBin(IDType bin) const
std::vector< IDType > MergeOffsets
bool IsEdge(TId v0, TId v1) const
MergeTupleType * MergeArray
MergeTuple(TId v0, TId v1, TId eid, TED data)
~vtkStaticEdgeLocatorTemplate()
Delete internal offset array.
bool operator<(const EdgeTuple &tup) const
const EdgeTupleType & GetEdge(IDType i) const
Return the ith edge in the edge array.
MergeTuple< IDType, EdgeData > MergeTupleType
vtkIdType BuildLocator(vtkIdType numEdges, EdgeTupleType *edgeArray)
This method contructs the edge locator to be used when searching for edges.
bool operator<(const MergeTuple &tup) const
IDType GetNumberOfEdges()
Return the number of edges in the edge array.
bool operator==(const MergeTuple &et) const
Definition of an edge tuple using for creating an edge merge table.
IDType HashBin(IDType v) const