zoukankan      html  css  js  c++  java
  • map管理存储模型节点

    class InfoVisitor : public osg::NodeVisitor
    {
    
    public:
        InfoVisitor():osg::NodeVisitor(TRAVERSE_ALL_CHILDREN)
        { 
            count = 0;
        }
    
        virtual void apply(osg::Node& node)
        {
            std::string str=node.className();
            if (count == 0)
            {
                QTreeWidgetItem* item=new QTreeWidgetItem;
                item->setText(0,QString(str.data()));
                map[count].push_back(item);
                rootList.append(item);
            }
            else
            {
               QVector<QTreeWidgetItem *> parent=map[count-1];
               QTreeWidgetItem* item=new QTreeWidgetItem(parent[parent.size()-1],QStringList(QString(str.data()))); 
               parent[parent.size()-1]->addChild(item);
               map[count].push_back(item);
            }
            count ++;
            traverse(node);
            count --;
        }
        /*virtual void apply(osg::Geometry& geometry)
        {
            traverse(geometry);
        }*/
    
    public:
        int count;
        QList<QTreeWidgetItem *> rootList;
        QMap<int,QVector<QTreeWidgetItem *>>  map;
    };
  • 相关阅读:
    docker使用
    window版docker安装及配置
    mysql命令
    xshell
    git 命令
    分页器原理
    PCL-Kinfu编译手册
    cmake-add_definitions
    cmake-include_directories
    cmake-source_group
  • 原文地址:https://www.cnblogs.com/linxuemufeng/p/14022554.html
Copyright © 2011-2022 走看看