当前位置: 首页>>代码示例>>C++>>正文


C++ VectorType::GetNorm方法代码示例

本文整理汇总了C++中VectorType::GetNorm方法的典型用法代码示例。如果您正苦于以下问题:C++ VectorType::GetNorm方法的具体用法?C++ VectorType::GetNorm怎么用?C++ VectorType::GetNorm使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在VectorType的用法示例。


在下文中一共展示了VectorType::GetNorm方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: renderScene

// refresh ui elements
//
void BSplineVisDialog::renderScene(QGraphicsScene& scene, bool isPrinter) {
    scene.clear();

    if (ui.showCheckerboard->isChecked()) {
        RGBAImageType::Pointer image = ImageContainer::CreateBitmap(m_SrcImage, ui.imageOpacity->value());
        QPixmap qPixmap = ImageContainer::CreatePixmap(image);
        scene.addPixmap(qPixmap)->setZValue(-10);
    }

    if (ui.showWarpedCheckerboard->isChecked()) {
        RGBAImageType::Pointer image = ImageContainer::CreateBitmap(m_DstImage, ui.imageOpacity->value());
        QPixmap qPixmap = ImageContainer::CreatePixmap(image);
        scene.addPixmap(qPixmap)->setZValue(-10);
    }

    if (ui.showWarpedSlice->isChecked()) {
        RGBAImageType::Pointer image = ImageContainer::CreateBitmap(m_WarpedSlice, ui.imageOpacity->value());
        QPixmap qPixmap = ImageContainer::CreatePixmap(image);
        scene.addPixmap(qPixmap)->setZValue(-10);

    }

    if (m_RefImage.IsNotNull()) {
        const int gridRes = ui.gridResolution->value();
        QPen blackPen = QPen(QColor::fromRgbF(0,0,0,0.5));
        blackPen.setWidthF(.1);
        QPen linePen(QColor::fromRgbF(.5,.5,.5,ui.imageOpacity->value() / 255.0));
        if (ui.showCoordinateGrid->isChecked()) {
            QGraphicsGridItem* originalGrid = new QGraphicsGridItem();
            if (isPrinter) {
                // can printer have alpha value?
                originalGrid->SetPen(blackPen);
            } else {
                originalGrid->SetPen(linePen);
            }
            originalGrid->SetResolution(gridRes);
            originalGrid->SetGrid(gX, gY);
            scene.addItem(originalGrid);
            ui.bspView->fitInView(originalGrid, Qt::KeepAspectRatio);
        }
        if (ui.showWarpedCoordinateGrid->isChecked()) {
            QGraphicsGridItem* warpedGrid = new QGraphicsGridItem();
            if (isPrinter) {
                // can printer have alpha value?
                if (!ui.showNoImage->isChecked()) {
                    blackPen.setColor(QColor::fromRgbF(1, 1, 0));
                    blackPen.setWidthF(0.2);
                }
                warpedGrid->SetPen(blackPen);
            } else {
                warpedGrid->SetPen(linePen);
            }
            warpedGrid->SetResolution(gridRes);
            warpedGrid->SetGrid(tX, tY);
            scene.addItem(warpedGrid);
            ui.bspView->fitInView(warpedGrid, Qt::KeepAspectRatio);
        }
    }


    if (ui.showDetJacobian->isChecked() && m_DetJacobian.IsNotNull()) {
        RGBAImageType::Pointer image = ImageContainer::CreateBitmap(m_DetJacobian);
        QPixmap qDetPixmap = ImageContainer::CreatePixmap(image);
        scene.addPixmap(qDetPixmap);
    }


    if (m_Field.IsNotNull() && ui.showDisplacementField->isChecked()) {
        FieldIteratorType iter(m_Field, m_Field->GetBufferedRegion());
        for (iter.GoToBegin(); !iter.IsAtEnd(); ++iter) {
            DisplacementFieldType::IndexType idx = iter.GetIndex();
            DisplacementFieldType::PointType point;
            m_Field->TransformIndexToPhysicalPoint(idx, point);
            VectorType v = iter.Get();
            if (v.GetNorm() < 1) {
                continue;
            }
            DisplacementFieldType::PointType point2;
            point2[0] = point[0] + v[0];
            point2[1] = point[1] + v[1];
            scene.addLine(point[0], point[1], point2[0], point2[1], QPen(Qt::yellow));
        }

    }



    if (ui.showWarpedLandmarks->isChecked()) {
        double sz = ui.landmarkSize->value();
        for (int i = 0; i < m_WarpedLandmarks.rows(); i++) {
            double x = m_WarpedLandmarks[i][0];
            double y = m_WarpedLandmarks[i][1];
            QGraphicsItem* p = scene.addRect(x - sz, y - sz, sz*2, sz*2, QPen(Qt::yellow), QBrush(Qt::yellow, Qt::SolidPattern));
        }
    }


    // drawing order is important for correct pick up
//.........这里部分代码省略.........
开发者ID:fayhot,项目名称:gradworks,代码行数:101,代码来源:dialogBSplineVis.cpp


注:本文中的VectorType::GetNorm方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。