Krita Source Code Documentation
Loading...
Searching...
No Matches
KoColorConversionSystem::Path Struct Reference

#include <KoColorConversionSystem_p.h>

Public Types

typedef QPair< Node *, const KoColorConversionTransformationAbstractFactory * > node2factory
 

Public Member Functions

void appendVertex (Vertex *v)
 
QList< node2factorycompressedPath () const
 
bool contains (Node *n) const
 
NodeendNode ()
 
const NodeendNode () const
 
bool isEmpty () const
 
int length () const
 
bool operator== (const Path &other) const
 
 Path ()
 
NodestartNode ()
 
const NodestartNode () const
 
NodeCapabilities unsupportedCapabilities () const
 

Public Attributes

NodeCapabilities commonNodeCapabilities = None
 
int cost
 
bool isGood
 
int referenceDepth
 
QList< Vertex * > vertexes
 

Detailed Description

Definition at line 192 of file KoColorConversionSystem_p.h.

Member Typedef Documentation

◆ node2factory

Constructor & Destructor Documentation

◆ Path()

KoColorConversionSystem::Path::Path ( )
inline

Member Function Documentation

◆ appendVertex()

void KoColorConversionSystem::Path::appendVertex ( Vertex * v)
inline

Definition at line 232 of file KoColorConversionSystem_p.h.

232 {
233 if (vertexes.empty()) {
234 referenceDepth = v->srcNode->referenceDepth;
235 commonNodeCapabilities = v->srcNode->capabilities();
236 }
237
238 commonNodeCapabilities &= v->dstNode->capabilities();
239
240 vertexes.append(v);
241
242 referenceDepth = qMin(referenceDepth, v->dstNode->referenceDepth);
243 cost += v->dstNode->crossingCost;
244 }
qreal v

References commonNodeCapabilities, cost, referenceDepth, v, and vertexes.

◆ compressedPath()

QList< node2factory > KoColorConversionSystem::Path::compressedPath ( ) const
inline

Definition at line 258 of file KoColorConversionSystem_p.h.

258 {
260 nodes.push_back(node2factory(vertexes.first()->srcNode , vertexes.first()->factory()));
261 const KoColorConversionTransformationAbstractFactory* previousFactory = 0;
262 Q_FOREACH (Vertex* vertex, vertexes) { // Unless the node is the icc node, add it to the path
263 Node* n = vertex->dstNode;
264 if (n->isEngine) {
265 previousFactory = n->engine;
266 } else {
267 nodes.push_back(
268 node2factory(n,
269 previousFactory ? previousFactory : vertex->factory()));
270 previousFactory = 0;
271 }
272 }
273 return nodes;
274 }
Definition Node.h:24
QPair< Node *, const KoColorConversionTransformationAbstractFactory * > node2factory

References KoColorConversionSystem::Vertex::dstNode, KoColorConversionSystem::Node::engine, KoColorConversionSystem::Vertex::factory(), KoColorConversionSystem::Node::isEngine, and vertexes.

◆ contains()

bool KoColorConversionSystem::Path::contains ( Node * n) const
inline

Definition at line 280 of file KoColorConversionSystem_p.h.

280 {
281 Q_FOREACH (Vertex* v, vertexes) {
282 if (v->srcNode == n || v->dstNode == n) {
283 return true;
284 }
285 }
286 return false;
287 }

References v, and vertexes.

◆ endNode() [1/2]

Node * KoColorConversionSystem::Path::endNode ( )
inline

Definition at line 216 of file KoColorConversionSystem_p.h.

216 {
217 return vertexes.size() > 0 ?
218 (vertexes.last())->dstNode
219 : 0;
220 }

References vertexes.

◆ endNode() [2/2]

const Node * KoColorConversionSystem::Path::endNode ( ) const
inline

Definition at line 222 of file KoColorConversionSystem_p.h.

222 {
223 return vertexes.size() > 0 ?
224 (vertexes.last())->dstNode
225 : 0;
226 }

References vertexes.

◆ isEmpty()

bool KoColorConversionSystem::Path::isEmpty ( ) const
inline

Definition at line 228 of file KoColorConversionSystem_p.h.

228 {
229 return vertexes.isEmpty();
230 }

References vertexes.

◆ length()

int KoColorConversionSystem::Path::length ( ) const
inline

Definition at line 276 of file KoColorConversionSystem_p.h.

276 {
277 return vertexes.size();
278 }

References vertexes.

◆ operator==()

bool KoColorConversionSystem::Path::operator== ( const Path & other) const
inline

Definition at line 205 of file KoColorConversionSystem_p.h.

205 {
206 return other.vertexes == vertexes;
207 }

References vertexes.

◆ startNode() [1/2]

Node * KoColorConversionSystem::Path::startNode ( )
inline

Definition at line 199 of file KoColorConversionSystem_p.h.

199 {
200 return vertexes.size() > 0 ?
201 (vertexes.first())->srcNode
202 : 0;
203 }

References vertexes.

◆ startNode() [2/2]

const Node * KoColorConversionSystem::Path::startNode ( ) const
inline

Definition at line 210 of file KoColorConversionSystem_p.h.

210 {
211 return vertexes.size() > 0 ?
212 (vertexes.first())->srcNode
213 : 0;
214 }

References vertexes.

◆ unsupportedCapabilities()

NodeCapabilities KoColorConversionSystem::Path::unsupportedCapabilities ( ) const
inline

Definition at line 246 of file KoColorConversionSystem_p.h.

246 {
247 NodeCapabilities minimalCaps =
248 !vertexes.isEmpty() ?
249 vertexes.first()->srcNode->capabilities() &
250 vertexes.last()->dstNode->capabilities() :
251 None;
252
253 return (minimalCaps & commonNodeCapabilities) ^ minimalCaps;
254 }

References commonNodeCapabilities, None, and vertexes.

Member Data Documentation

◆ commonNodeCapabilities

NodeCapabilities KoColorConversionSystem::Path::commonNodeCapabilities = None

Definition at line 293 of file KoColorConversionSystem_p.h.

◆ cost

int KoColorConversionSystem::Path::cost

Definition at line 292 of file KoColorConversionSystem_p.h.

◆ isGood

bool KoColorConversionSystem::Path::isGood

Definition at line 291 of file KoColorConversionSystem_p.h.

◆ referenceDepth

int KoColorConversionSystem::Path::referenceDepth

Definition at line 290 of file KoColorConversionSystem_p.h.

◆ vertexes

QList<Vertex*> KoColorConversionSystem::Path::vertexes

Definition at line 289 of file KoColorConversionSystem_p.h.


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