7#ifndef KISMAGNETICGRAPH_H
8#define KISMAGNETICGRAPH_H
10#include <boost/operators.hpp>
11#include <boost/graph/graph_traits.hpp>
41 return rhs.
x ==
x && rhs.
y ==
y;
46 return rhs.x() ==
x && rhs.y() ==
y;
51 return rhs.
x !=
x || rhs.
y !=
y;
56 return x < rhs.
x || (
x == rhs.
x &&
y < rhs.
y);
108 dbg.nospace() <<
"(" <<
v.
x <<
", " <<
v.y <<
")";
150 if (pt ==
m_rect.topLeft() || pt ==
m_rect.topRight() ||
151 pt ==
m_rect.bottomLeft() || pt ==
m_rect.bottomRight())
160 if (pt.
x ==
m_rect.topLeft().x() || pt.
y ==
m_rect.topLeft().y() ||
161 pt.
x ==
m_rect.bottomRight().x() || pt.
y ==
m_rect.bottomRight().y())
179 , std::pair<VertexDescriptor, VertexDescriptor>
180 , boost::forward_traversal_tag
181 , std::pair<VertexDescriptor, VertexDescriptor> > {
189 std::pair<VertexDescriptor, VertexDescriptor>
operator * ()
const
263std::pair<KisMagneticGraph::out_edge_iterator, KisMagneticGraph::out_edge_iterator>
out_edges(
266 return std::make_pair(
std::pair< KisMagneticGraph::out_edge_iterator, KisMagneticGraph::out_edge_iterator > out_edges(typename KisMagneticGraph::vertex_descriptor v, KisMagneticGraph g)
QDebug operator<<(QDebug dbg, const VertexDescriptor &v)
KisMagneticGraph::degree_size_type out_degree(typename KisMagneticGraph::vertex_descriptor v, KisMagneticGraph g)
KisMagneticGraph::vertex_descriptor target(typename KisMagneticGraph::edge_descriptor e, KisMagneticGraph g)
KisMagneticGraph::vertex_descriptor source(typename KisMagneticGraph::edge_descriptor e, KisMagneticGraph g)
virtual quint8 * rawData()=0
KisRandomAccessorSP createRandomAccessorNG()
virtual void moveTo(qint32 x, qint32 y)=0
neighbour_iterator out_edge_iterator
KisMagneticGraph(KisPaintDeviceSP dev, QRect graphRect)
boost::incidence_graph_tag traversal_category
boost::undirected_tag directed_category
unsigned outDegree(VertexDescriptor pt)
std::pair< vertex_descriptor, vertex_descriptor > edge_descriptor
unsigned degree_size_type
boost::disallow_parallel_edge_tag edge_parallel_category
quint8 getIntensity(VertexDescriptor pt)
KisRandomAccessorSP m_randAccess
VertexDescriptor vertex_descriptor
KisMagneticGraph(KisPaintDeviceSP dev)
VertexDescriptor(long _x, long _y)
bool operator<(VertexDescriptor const &rhs) const
VertexDescriptor(QPoint pt)
VertexDescriptor neighbor(Direction direction) const
bool operator==(VertexDescriptor const &rhs) const
bool operator!=(VertexDescriptor const &rhs) const
KisMagneticGraph::traversal_category traversal_category
KisMagneticGraph::degree_size_type degree_size_type
KisMagneticGraph::out_edge_iterator out_edge_iterator
KisMagneticGraph::directed_category directed_category
KisMagneticGraph::edge_descriptor edge_descriptor
KisMagneticGraph::edge_parallel_category edge_parallel_category
KisMagneticGraph::vertex_descriptor vertex_descriptor
std::pair< VertexDescriptor, VertexDescriptor > operator*() const
VertexDescriptor::Direction m_direction
neighbour_iterator(VertexDescriptor v, KisMagneticGraph g, VertexDescriptor::Direction d)
bool equal(neighbour_iterator const &that) const
bool operator==(neighbour_iterator const &that) const