本文整理汇总了C++中GraphAttributes::labelNode方法的典型用法代码示例。如果您正苦于以下问题:C++ GraphAttributes::labelNode方法的具体用法?C++ GraphAttributes::labelNode怎么用?C++ GraphAttributes::labelNode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GraphAttributes
的用法示例。
在下文中一共展示了GraphAttributes::labelNode方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: getBasicGraphAttributes
//*************************************************************
// returns GraphAttributes associated with basic graph i
//
void SimDraw::getBasicGraphAttributes(int i, GraphAttributes &GA, Graph &G)
{
G = m_G;
GA.init(G,m_GA.attributes());
List<edge> LE;
m_G.allEdges(LE);
forall_listiterators(edge,it,LE)
if(m_GA.inSubGraph(*it,i))
{
node v;
forall_nodes(v,G)
{
if(compare(GA,v,m_GA,(*it)->source()))
{
if(m_GA.attributes() & GraphAttributes::nodeGraphics)
{
GA.x(v) = m_GA.x((*it)->source());
GA.y(v) = m_GA.y((*it)->source());
GA.height(v) = m_GA.height((*it)->source());
GA.width(v) = m_GA.width((*it)->source());
}
if(m_GA.attributes() & GraphAttributes::nodeId)
GA.idNode(v) = m_GA.idNode((*it)->source());
if(m_GA.attributes() & GraphAttributes::nodeLabel)
GA.labelNode(v) = m_GA.labelNode((*it)->source());
}
if(compare(GA,v,m_GA,(*it)->target()))
{
if(m_GA.attributes() & GraphAttributes::nodeGraphics)
{
GA.x(v) = m_GA.x((*it)->target());
GA.y(v) = m_GA.y((*it)->target());
GA.height(v) = m_GA.height((*it)->target());
GA.width(v) = m_GA.width((*it)->target());
}
if(m_GA.attributes() & GraphAttributes::nodeId)
GA.idNode(v) = m_GA.idNode((*it)->target());
if(m_GA.attributes() & GraphAttributes::nodeLabel)
GA.labelNode(v) = m_GA.labelNode((*it)->target());
}
}
edge e;
forall_edges(e,G)
{
if(compare(GA,e->source(),m_GA,(*it)->source())
&& compare(GA,e->target(),m_GA,(*it)->target()))
{
if(m_GA.attributes() & GraphAttributes::edgeIntWeight)
GA.intWeight(e) = m_GA.intWeight(*it);
if(m_GA.attributes() & GraphAttributes::edgeLabel)
GA.labelEdge(e) = m_GA.labelEdge(*it);
if(m_GA.attributes() & GraphAttributes::edgeColor)
GA.colorEdge(e) = m_GA.colorEdge(*it);
if(m_GA.attributes() & GraphAttributes::edgeGraphics)
GA.bends(e) = m_GA.bends(*it);
}
}
}
示例2: read
//.........这里部分代码省略.........
case labelPredefKey:
if (nodeSon->m_valueType != gmlStringValue) break;
label = nodeSon->m_stringValue;
break;
}
}
// check if everything required is defined correctly
if (vId == notDefined) {
setError("node id not defined");
return false;
}
// create new node if necessary and assign attributes
if (m_mapToNode[vId] == 0) m_mapToNode[vId] = G.newNode();
if (AG.attributes() & GraphAttributes::nodeGraphics)
{
AG.x(m_mapToNode[vId]) = x;
AG.y(m_mapToNode[vId]) = y;
AG.width (m_mapToNode[vId]) = w;
AG.height(m_mapToNode[vId]) = h;
if (shape == "oval")
AG.shapeNode(m_mapToNode[vId]) = GraphAttributes::oval;
else AG.shapeNode(m_mapToNode[vId]) = GraphAttributes::rectangle;
}
if ( (AG.attributes() & GraphAttributes::nodeColor) &&
(AG.attributes() & GraphAttributes::nodeGraphics) )
{
AG.colorNode(m_mapToNode[vId]) = fill;
AG.nodeLine(m_mapToNode[vId]) = line;
}
if (AG.attributes() & GraphAttributes::nodeLabel)
AG.labelNode(m_mapToNode[vId]) = label;
if (AG.attributes() & GraphAttributes::nodeTemplate)
AG.templateNode(m_mapToNode[vId]) = templ;
if (AG.attributes() & GraphAttributes::nodeId)
AG.idNode(m_mapToNode[vId]) = vId;
if (AG.attributes() & GraphAttributes::nodeStyle)
{
AG.nodePattern(m_mapToNode[vId]) =
GraphAttributes::intToPattern(pattern);
AG.styleNode(m_mapToNode[vId]) =
GraphAttributes::intToStyle(stipple);
AG.lineWidthNode(m_mapToNode[vId]) =
lineWidth;
}
}//node
//Todo: line style set stipple value
break;
case edgePredefKey: {
String arrow; // the arrow type attribute
String fill; //the color fill attribute
int stipple = 1; //the line style
double lineWidth = 1.0;
double edgeWeight = 1.0;
int subGraph = 0; //edgeSubGraph attribute
String label; // label attribute
if (son->m_valueType != gmlListBegin) break;
// set attributes to default values
int sourceId = notDefined, targetId = notDefined;
Graph::EdgeType umlType = Graph::association;