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


C++ PointType::CastFrom方法代码示例

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


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

示例1: endevent

void mitk::PointSet::ExecuteOperation( Operation* operation )
{
    int timeStep = -1;

    mitkCheckOperationTypeMacro(PointOperation, operation, pointOp);

    if ( pointOp )
    {
        timeStep = this->GetTimeGeometry()->TimePointToTimeStep( pointOp->GetTimeInMS() );
    }

    if ( timeStep < 0 )
    {
        MITK_ERROR << "Time step (" << timeStep << ") outside of PointSet time bounds" << std::endl;
        return;
    }

    switch (operation->GetOperationType())
    {
    case OpNOTHING:
        break;

    case OpINSERT://inserts the point at the given position and selects it.
    {
        int position = pointOp->GetIndex();

        PointType pt;
        pt.CastFrom(pointOp->GetPoint());

        //transfer from world to index coordinates
        mitk::Geometry3D* geometry = this->GetGeometry( timeStep );
        if (geometry == NULL)
        {
            MITK_INFO<<"GetGeometry returned NULL!\n";
            return;
        }
        geometry->WorldToIndex(pt, pt);

        m_PointSetSeries[timeStep]->GetPoints()->InsertElement(position, pt);

        PointDataType pointData =
        {
            static_cast<unsigned int>(pointOp->GetIndex()),
            pointOp->GetSelected(),
            pointOp->GetPointType()
        };

        m_PointSetSeries[timeStep]->GetPointData()
        ->InsertElement(position, pointData);

        this->Modified();

        //boundingbox has to be computed
        m_CalculateBoundingBox = true;

        this->InvokeEvent( PointSetAddEvent() );
        this->OnPointSetChange();
    }
    break;

    case OpMOVE://moves the point given by index
    {
        PointType pt;
        pt.CastFrom(pointOp->GetPoint());

        //transfer from world to index coordinates
        this->GetGeometry( timeStep )->WorldToIndex(pt, pt);

        // Copy new point into container
        m_PointSetSeries[timeStep]->SetPoint(pointOp->GetIndex(), pt);

        // Insert a default point data object to keep the containers in sync
        // (if no point data object exists yet)
        PointDataType pointData;
        if ( !m_PointSetSeries[timeStep]->GetPointData( pointOp->GetIndex(), &pointData ) )
        {
            m_PointSetSeries[timeStep]->SetPointData( pointOp->GetIndex(), pointData );
        }

        this->OnPointSetChange();

        this->Modified();

        //boundingbox has to be computed anyway
        m_CalculateBoundingBox = true;

        this->InvokeEvent( PointSetMoveEvent() );
    }
    break;

    case OpREMOVE://removes the point at given by position
    {
        m_PointSetSeries[timeStep]->GetPoints()->DeleteIndex((unsigned)pointOp->GetIndex());
        m_PointSetSeries[timeStep]->GetPointData()->DeleteIndex((unsigned)pointOp->GetIndex());

        this->OnPointSetChange();

        this->Modified();
        //boundingbox has to be computed anyway
        m_CalculateBoundingBox = true;
//.........这里部分代码省略.........
开发者ID:heartvalve,项目名称:MITK,代码行数:101,代码来源:mitkPointSet.cpp


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