osg demo20 输出模型所有结点
来源:互联网 发布:网络黑白 花无涯 在线 编辑:程序博客网 时间:2024/04/30 02:48
//DEMO20//功能:输出模型所有的顶点#include <osgDB/ReadFile>#include <osgViewer/Viewer>#include <osg/NodeVisitor>#include <osg/Geometry>#include <fstream>#include <iostream>//定义一个定点访问的nodevisitor,名字自己取class VertexExtractor:public osg::NodeVisitor{public ://所有的顶点osg::ref_ptr<osg::Vec3Array>extracted_verts;//构造函数,选择向下遍历全孩子的方式VertexExtractor():osg::NodeVisitor(osg::NodeVisitor::TRAVERSE_ALL_CHILDREN){extracted_verts = new osg::Vec3Array;}//applyvoid apply(osg::Geode& geode){//看看有多少可绘制节点for(unsigned int i=0;i<geode.getNumDrawables();++i){osg::Geometry* geom = dynamic_cast<osg::Geometry*>(geode.getDrawable(i));if(!geom)continue;//得到可绘制节点的定点序列osg::Vec3Array * verts =dynamic_cast<osg::Vec3Array*>(geom->getVertexArray());if(!verts)continue;//把顶点序列插入到顶点集中以便输出extracted_verts->insert(extracted_verts->end(),verts->begin(),verts->end());}}};int main(){osgViewer::Viewer viewer;//读取模型osg::Node* rootNode = osgDB::readNodeFile("glider.osg");//申请一个对象,nodevisitor的对象VertexExtractor ivea;//acceptrootNode->accept(ivea);//设置场景数据viewer.setSceneData(rootNode);//实现viewer.realize();//输出到C盘下的test.vertexs文件中,可用写字板打开查看std::ofstream out("c:\\test.vertexs");int size_t = ivea.extracted_verts.get()->size();std::vector<osg::Vec3>::iterator iter = ivea.extracted_verts.get()->begin();for(int i=0;i<size_t;i++){out<<iter->x()<<" "<<iter->y()<<" "<<iter->z()<<std::endl;iter++;}std::cout<<"输出所有节点完毕"<<std::endl;return 0;}
0 0
- osg demo20 输出模型所有结点
- 14、osg中通过一个模型,将其中一个模型隐藏掉输出成另一个模型(osg文件)
- 从小到大输出二叉排序树(BST)所有结点的值
- 输出二叉树某一层的所有结点
- osg demo26 LOD头结点
- OSG 结点渲染状态 类图
- 输出二叉树中所有从根结点到叶子结点的路径
- 输出二叉树中所有从根结点到叶子结点的路径
- 输出二叉树中所有从根结点到叶子结点的路径
- OSG模型简单控制
- osg模型重写
- osg模型透明代码
- osg添加骨骼模型
- OSG模型控制
- osg模型发黑
- OSG-简单模型控制
- OSG结点的父子索引变化
- OSG结点的父子索引变化
- Jump Game
- 好的Kentico内容管理网站有哪些(2013年11月)(下)
- hibernate多对一关系中,JSON serializing对象时报JsonMappingException
- mysql 5.6 分区表
- iOS 实现类似安卓的 九宫格 手势锁 组件
- osg demo20 输出模型所有结点
- 科学的未来在哪里?
- Java SSL/TLS 安全通讯协议介绍
- Word Break
- Mac下编译PHP的pgsql扩展库方法
- MSSQL存储过程详解
- 如何关闭 一个 应用中的所有 Activity
- 给UIImageview 添加边框 或者设置成圆角
- Introduction to the TCP/IP Reference Model