zoukankan      html  css  js  c++  java
  • osg fbx 绘制坐标轴、控制模型影藏与显示

    int main()
    {
        osg::ref_ptr<osgViewer::Viewer> viewer1 = new osgViewer::Viewer;
        osg::ref_ptr<osg::Group> group1 = new osg::Group;
        osg::ref_ptr<osg::Group> group2 = new osg::Group;
        //osg::ref_ptr<osg::Node> node1 = osgDB::readNodeFile("I:\BIM\fbx\jiaoxuelou20190304.fbx");
        //osg::ref_ptr<osg::Node> node1 = osgDB::readNodeFile("I:\BIM\fbx\Worker201907.fbx");
        //osg::ref_ptr<osg::Node> node1 = osgDB::readNodeFile("I:\BIM\fbx\buildings6.fbx");
        //osg::ref_ptr<osg::Node> node1 = osgDB::readNodeFile("I:\BIM\fbx\wdq.fbx");
        osg::ref_ptr<osg::Node> node1 = osgDB::readNodeFile("I:\BIM\fbx\wall20190707.fbx");
        
        group1->addChild(node1.get());
        group2->addChild(makeCoordinate(10.0, 10.0, 10.0, 4));
        group2->addChild(group1.get());
    
        //viewer1->setSceneData(group1.get());
        viewer1->setSceneData(group2.get());
        viewer1->setUpViewInWindow(200, 200, 800, 600, 0);
    
        //遍历节点
        std::cout << "--------------------------------" << std::endl;
        printOsgGroup(group1);
    
        //BoundVisitor boundVisitor1;
        //group1->accept(boundVisitor1);
    
        //int nodeChildCount = node1->getNumChildrenRequiringEventTraversal();
        //std::cout << "----count:" <<nodeChildCount<< std::endl;
    
        viewer1->addEventHandler(new CPickHandler(viewer1));
        return viewer1->run();
    }

     模型节点控制隐藏于显示,只需要调用  节点的  setNodeMask(1);即可,0:隐藏    1:显示

    node->setNodeMask(0);
    //node->setNodeMask(1);

    export root node
    Node : RootNode
    Node : 三维视图: {三维}
    eCamera : 涓夌淮瑙嗗浘: {涓夌淮}
    Node : 基本墙 wall_240 [361750]
    eMesh : 基本墙 wall_240 [361750] Geometry
    Node : 基本墙 wall_240 [361813]
    eMesh : 基本墙 wall_240 [361813] Geometry
    Node : 基本墙 wall_240 [361889]
    eMesh : 基本墙 wall_240 [361889] Geometry
    Node : 基本墙 wall_240 [361993]
    eMesh : 基本墙 wall_240 [361993] Geometry
    Node : 基本墙 wall_240 [362170]
    eMesh : 基本墙 wall_240 [362170] Geometry
    Node : 基本墙 wall_240 [362246]
    eMesh : 基本墙 wall_240 [362246] Geometry
    Node : 基本墙 wall_240 [362332]
    eMesh : 基本墙 wall_240 [362332] Geometry
    Node : 基本墙 wall_240 [362620]
    eMesh : 基本墙 wall_240 [362620] Geometry
    Node : 基本墙 wall_240 [362719]
    eMesh : 基本墙 wall_240 [362719] Geometry
    Node : 基本墙 wall_240 [362785]
    eMesh : 基本墙 wall_240 [362785] Geometry
    Node : 基本墙 wall_240 [362853]
    eMesh : 基本墙 wall_240 [362853] Geometry
    Node : 基本墙 wall_240 [362938]
    eMesh : 基本墙 wall_240 [362938] Geometry
    Node : 基本墙 wall_240 [363048]
    eMesh : 基本墙 wall_240 [363048] Geometry
    Node : 基本墙 wall_240 [363150]
    eMesh : 基本墙 wall_240 [363150] Geometry
    Node : 基本墙 wall_240 [363257]
    eMesh : 基本墙 wall_240 [363257] Geometry
    Node : 基本墙 wall_240 [363370]
    eMesh : 基本墙 wall_240 [363370] Geometry
    export root node done
    done
    --------------------------------
    0=三维视图: {三维}
    1=基本墙 wall_240 [361750]
    2=基本墙 wall_240 [361813]
    3=基本墙 wall_240 [361889]
    4=基本墙 wall_240 [361993]
    5=基本墙 wall_240 [362170]
    6=基本墙 wall_240 [362246]
    7=基本墙 wall_240 [362332]
    8=基本墙 wall_240 [362620]
    9=基本墙 wall_240 [362719]
    10=基本墙 wall_240 [362785]
    11=基本墙 wall_240 [362853]
    12=基本墙 wall_240 [362938]
    13=基本墙 wall_240 [363048]
    14=基本墙 wall_240 [363150]
    15=基本墙 wall_240 [363257]
    16=基本墙 wall_240 [363370]
    0=RootNode

  • 相关阅读:
    SQL Server 附加数据库,报只读文件,无权修改其中某些文件
    NLog.config 配置
    系统架构设计师论文可靠性设计
    二、软件设计原则
    JavaScript 判断数组是否含有重复值
    mysql 添加索引 mysql 如何创建和删除索引
    利用pandas,BytesIO,zipfile打包csv文件,生成压缩文件
    不良人mysql索引
    转mysql数据库允许空值索引问题
    多线程中ThreadPoolExecutor.map()中传递多个参数
  • 原文地址:https://www.cnblogs.com/herd/p/11155657.html
Copyright © 2011-2022 走看看