本文整理汇总了C++中Hexagon::y方法的典型用法代码示例。如果您正苦于以下问题:C++ Hexagon::y方法的具体用法?C++ Hexagon::y怎么用?C++ Hexagon::y使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Hexagon
的用法示例。
在下文中一共展示了Hexagon::y方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addDenseHexagon
// A debugging function that can be used to make a particular hexagon
// dense.
void HexGrid::addDenseHexagon(int x, int y)
{
Hexagon *h = getHexagon(x, y);
if (!h->dense())
{
h->setCount(m_dense_limit);
h->setDense();
m_miny = std::min(m_miny, h->y() - 1);
if (h->possibleRoot())
m_pos_roots.insert(h);
markNeighborBelow(h);
}
}
示例2: addPoint
void HexGrid::addPoint(Point p)
{
Hexagon *h = findHexagon(p);
if (!h->dense())
{
h->increment();
if (dense(h))
{
h->setDense();
m_miny = std::min(m_miny, h->y() - 1);
if (h->possibleRoot())
{
m_pos_roots.insert(h);
}
markNeighborBelow(h);
}
}
}
示例3: findParentPath
void HexGrid::findParentPath(Path *p)
{
Segment s = p->rootSegment();
Hexagon *h = s.hex();
int y = h->y();
while (y >= m_miny)
{
HexPathMap::iterator it = m_hex_paths.find(h);
if (it != m_hex_paths.end())
{
Path *parentPath = it->second;
if (parentPath == p->parent())
{
p->setParent(NULL);
}
else if (!p->parent() && parentPath != p)
{
p->setParent(parentPath);
}
}
h = getHexagon(h->x(), --y);
}
}
示例4: addPoint
void HexGrid::addPoint(Point p)
{
if (m_width < 0)
{
m_sample.push_back(p);
if (m_sample.size() >= m_maxSample)
processSample();
return;
}
Hexagon *h = findHexagon(p);
h->increment();
if (!h->dense())
{
if (dense(h))
{
h->setDense();
m_miny = std::min(m_miny, h->y() - 1);
if (h->possibleRoot())
m_pos_roots.insert(h);
markNeighborBelow(h);
}
}
}
示例5: Distance
float Hexagon::Distance (const Hexagon& h) const
{
return max (max (abs (q - h.q), abs (r - h.r)), abs (y() - h.y()));
}