本文整理汇总了C++中Way::area方法的典型用法代码示例。如果您正苦于以下问题:C++ Way::area方法的具体用法?C++ Way::area怎么用?C++ Way::area使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Way
的用法示例。
在下文中一共展示了Way::area方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: isChildOfArea
static bool isChildOfArea(Feature *mapFeature)
{
Way* R = Way::GetSingleParentRoadInner(mapFeature);
if (R)
return (R->area() > 0.0);
return false;
}
示例2: render
void MapRenderer::render(
QPainter* P,
QMap<RenderPriority, QSet <Feature*> > theFeatures,
const RendererOptions& options,
MapView* aView
)
{
#ifndef NDEBUG
QTime Start(QTime::currentTime());
#endif
theView = aView;
theOptions = options;
QMap<RenderPriority, QSet<Feature*> >::const_iterator itm;
QSet<Feature*>::const_iterator it;
bool bgLayerVisible = TEST_RFLAGS(RendererOptions::BackgroundVisible);
bool fgLayerVisible = TEST_RFLAGS(RendererOptions::ForegroundVisible);
bool tchpLayerVisible = TEST_RFLAGS(RendererOptions::TouchupVisible);
bool lblLayerVisible = TEST_RFLAGS(RendererOptions::NamesVisible);
Way * R = NULL;
Node * Pt = NULL;
Relation * RR = NULL;
QPixmap pix(theView->size());
thePainter = new QPainter();
itm = theFeatures.constBegin();
while (itm != theFeatures.constEnd())
{
pix.fill(Qt::transparent);
thePainter->begin(&pix);
if (M_PREFS->getUseAntiAlias())
thePainter->setRenderHint(QPainter::Antialiasing);
int curLayer = (itm.key()).layer();
while (itm != theFeatures.constEnd() && (itm.key()).layer() == curLayer)
{
for (it = itm.value().constBegin(); it != itm.value().constEnd(); ++it)
{
qreal alpha = (*it)->getAlpha();
thePainter->setOpacity(alpha);
R = NULL;
Pt = NULL;
RR = NULL;
if (!(R = CAST_WAY(*it)))
if (!(Pt = CAST_NODE(*it)))
RR = CAST_RELATION(*it);
if (R) {
// If there is painter at the relation level, don't paint at the way level
bool draw = true;
for (int i=0; i<R->sizeParents(); ++i) {
if (!R->getParent(i)->isDeleted() && R->getParent(i)->hasPainter(PixelPerM))
draw = false;
}
if (!draw)
continue;
}
if (!Pt) {
if (bgLayerVisible)
{
thePainter->save();
if (R && R->area() == 0)
thePainter->setCompositionMode(QPainter::CompositionMode_DestinationOver);
if (R)
bglayer.draw(R);
else if (Pt)
bglayer.draw(Pt);
else if (RR)
bglayer.draw(RR);
thePainter->restore();
}
if (fgLayerVisible)
{
thePainter->save();
if (R)
fglayer.draw(R);
else if (Pt)
fglayer.draw(Pt);
else if (RR)
fglayer.draw(RR);
thePainter->restore();
}
}
if (tchpLayerVisible)
{
thePainter->save();
if (R)
tchuplayer.draw(R);
else if (Pt)
//.........这里部分代码省略.........