Krita Source Code Documentation
Loading...
Searching...
No Matches
KisMagneticGraph Struct Reference

#include <KisMagneticGraph.h>

Public Types

typedef unsigned degree_size_type
 
typedef boost::undirected_tag directed_category
 
typedef std::pair< vertex_descriptor, vertex_descriptoredge_descriptor
 
typedef boost::disallow_parallel_edge_tag edge_parallel_category
 
typedef neighbour_iterator out_edge_iterator
 
typedef boost::incidence_graph_tag traversal_category
 
typedef KisMagneticGraph type
 
typedef VertexDescriptor vertex_descriptor
 

Public Member Functions

quint8 getIntensity (VertexDescriptor pt)
 
 KisMagneticGraph ()
 
 KisMagneticGraph (KisPaintDeviceSP dev)
 
 KisMagneticGraph (KisPaintDeviceSP dev, QRect graphRect)
 
unsigned outDegree (VertexDescriptor pt)
 

Public Attributes

QRect m_rect
 

Private Attributes

KisPaintDeviceSP m_dev
 
KisRandomAccessorSP m_randAccess
 

Detailed Description

Definition at line 114 of file KisMagneticGraph.h.

Member Typedef Documentation

◆ degree_size_type

Definition at line 137 of file KisMagneticGraph.h.

◆ directed_category

typedef boost::undirected_tag KisMagneticGraph::directed_category

Definition at line 133 of file KisMagneticGraph.h.

◆ edge_descriptor

◆ edge_parallel_category

typedef boost::disallow_parallel_edge_tag KisMagneticGraph::edge_parallel_category

Definition at line 134 of file KisMagneticGraph.h.

◆ out_edge_iterator

◆ traversal_category

typedef boost::incidence_graph_tag KisMagneticGraph::traversal_category

Definition at line 135 of file KisMagneticGraph.h.

◆ type

Definition at line 115 of file KisMagneticGraph.h.

◆ vertex_descriptor

Constructor & Destructor Documentation

◆ KisMagneticGraph() [1/3]

KisMagneticGraph::KisMagneticGraph ( )
inline

Definition at line 117 of file KisMagneticGraph.h.

117{ }

◆ KisMagneticGraph() [2/3]

KisMagneticGraph::KisMagneticGraph ( KisPaintDeviceSP dev)
inline

Definition at line 119 of file KisMagneticGraph.h.

119 :
120 m_dev(dev)
121 {
123 }
KisRandomAccessorSP createRandomAccessorNG()
KisPaintDeviceSP m_dev
KisRandomAccessorSP m_randAccess

References KisPaintDevice::createRandomAccessorNG(), m_dev, and m_randAccess.

◆ KisMagneticGraph() [3/3]

KisMagneticGraph::KisMagneticGraph ( KisPaintDeviceSP dev,
QRect graphRect )
inline

Definition at line 125 of file KisMagneticGraph.h.

125 :
126 m_rect(graphRect), m_dev(dev)
127 {
129 }

References KisPaintDevice::createRandomAccessorNG(), m_dev, and m_randAccess.

Member Function Documentation

◆ getIntensity()

quint8 KisMagneticGraph::getIntensity ( VertexDescriptor pt)
inline

Definition at line 140 of file KisMagneticGraph.h.

141 {
142 m_randAccess->moveTo(pt.x, pt.y);
143 quint8 val = *(m_randAccess->rawData());
144 return val;
145 }
virtual quint8 * rawData()=0
virtual void moveTo(qint32 x, qint32 y)=0

References m_randAccess, KisRandomConstAccessorNG::moveTo(), KisBaseAccessor::rawData(), VertexDescriptor::x, and VertexDescriptor::y.

◆ outDegree()

unsigned KisMagneticGraph::outDegree ( VertexDescriptor pt)
inline

Definition at line 147 of file KisMagneticGraph.h.

148 {
149 // corners
150 if (pt == m_rect.topLeft() || pt == m_rect.topRight() ||
151 pt == m_rect.bottomLeft() || pt == m_rect.bottomRight())
152 {
153 if (m_rect.width() == 1 || m_rect.height() == 1)
154 return 1;
155
156 return 3;
157 }
158
159 // edges
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())
162 {
163 if (m_rect.width() == 1 || m_rect.height() == 1)
164 return 2;
165
166 return 5;
167 }
168 return 8;
169 }

References m_rect, VertexDescriptor::x, and VertexDescriptor::y.

Member Data Documentation

◆ m_dev

KisPaintDeviceSP KisMagneticGraph::m_dev
private

Definition at line 174 of file KisMagneticGraph.h.

◆ m_randAccess

KisRandomAccessorSP KisMagneticGraph::m_randAccess
private

Definition at line 175 of file KisMagneticGraph.h.

◆ m_rect

QRect KisMagneticGraph::m_rect

Definition at line 171 of file KisMagneticGraph.h.


The documentation for this struct was generated from the following file: