首页 > 其他分享 >PLY文件格式及cpp解析

PLY文件格式及cpp解析

时间:2024-05-12 10:09:03浏览次数:22  
标签:std tinyply PLY element 文件格式 file cpp

PLY (Polygon File Format, 多边形文件格式)文件用于存储Geometry Object Data(包括vertices, face and other element顶点/面片/其它属性)

文件格式:

Header
Vertex List
Face List
(lists of other elements)
  • ply开始,以end_header结束
  • 第二行format 指定是文本格式(ASCII),还是二进制格式(大端/小端之分)
  • 注释comment
  • element: 指定元素类型及其num
  • property: 指定元素的属性(数据类型及属性名)

tinyply解析库

  1. 解析文件头
PlyFile file;
file.parse_header(*file_stream);
  1. 获取元素(element)的具体属性(properties)
std::shared_ptr<PlyData> vertices;

try { vertices = file.request_properties_from_element("vertex", { "x", "y", "z" }); }
catch (const std::exception & e) { std::cerr << "tinyply exception: " << e.what() << std::endl; }

参考链接

标签:std,tinyply,PLY,element,文件格式,file,cpp
From: https://www.cnblogs.com/Todd-Qi/p/18122412

相关文章

  • BMP文件格式及相应结构体
    //文件信息结构体typedefstructtag_bitmap_file_header{unsignedshortfile_type;//文件标识,为字母ASCII码“BM”unsignedintfile_size;//位图文件大小,以字节为单位unsignedshortreserved1;//位图文件保留字,必须为0unsignedshortreserved......
  • failed to register layer: ApplyLayer exit status 1 stdout: stderr: archive/tar:
    系统:麒麟V10处理器:飞腾2000,aarch64原因:安装算能,TPU-mlir环境产生 官方教程地址:2.开发环境配置—TPU-MLIR0.7文档(sophgo.com)从DockerHub https://hub.docker.com/r/sophgo/tpuc_dev 下载所需的镜像:dockerpullsophgo/tpuc_dev:latest 产生错误 sia......
  • 在UEC++中的FReply
    在UnrealEngine中,FReply是一个核心类,用于在UI事件处理中返回和控制事件的传播。它主要用于SlateUI框架,是处理输入事件(如点击、拖拽、鼠标移动等)时的回应类型。FReply用于告诉Slate事件系统一个特定的事件是否被处理,以及是否应该将事件继续传递给其他控件。例如,当一个按钮被点......
  • cpp的lambda表达式
    在C++中,lambda表达式提供了一种方便的方式来定义匿名函数。Lambda可以用来创建简单的函数对象,常用于算法库中的函数参数,特别是在STL(StandardTemplateLibrary)中。Lambda表达式的语法是这样的:[capture](parameters)->return-type{function-body}其中:capture:捕......
  • A* 算法、PathFinding问题中的 allow diagonal 和 don't cross corners,以及 .map文件
    地址:https://webdocs.cs.ualberta.ca/~nathanst/papers/benchmarks.pdf关于地图文件:.map文件的格式参考:https://movingai.com/benchmarks/formats.html......
  • cpp字符串相关
    字符串相关文章参考:[详解-字符串]C++必知必会字符串-string常用各种操作解析-知乎(zhihu.com)C++字符串(string)常用操作总结-知乎(zhihu.com)c++读取字符串和字符的6种函数_c++获取字符串的每个字符-CSDN博客头文件#include<string>定义字符串stringstr;初始......
  • 19.3 ADG备库,数据文件SCN不更新(Bug: 29056767),导致备库异常重启后,需要重新apply很久
    故障现象:一套19.3ADG备库,备库安装完集群补丁重启后,发现需要重新apply很久以前的归档日志。分析过程:1、备库安装完补丁后,启动备库的日志恢复功能,在启动过程中报错,详细的日志如下所示。2024-04-16T18:34:40.895637+08:00BeginningStandbyCrashRecovery. Startedlogm......
  • [989] How to Use the Apply Method in Pandas
    References:Tutorial:HowtoUsetheApplyMethodinPandaspandas.Series.applypandas.DataFrame.apply1.pandas.Series.applyApplyafunctiontoeachelementofaSeries. importpandasaspd#CreateaSeriess=pd.Series([1,2,3,4,5])#Define......
  • HEX文件格式相关
    Hex文件是可以烧录到MCU中,被MCU执行的一种文件格式。如果用记事本打开可发现,整个文件以行为单位,每行以冒号开头,内容全部为16进制码(以ASCII码形式显示)。Hex文件可以按照如下的方式进行拆分来分析其中的内容:例如“:1000080080318B1E0828092820280B1D0C280D2854”可以被看作“0x10......
  • window下使用vscode和cmake开发编译cpp代码
    window下使用vscode和cmake开发编译cpp代码1.先准备cpp编译环境还是要先使用vscode和mingw搭建好cpp开发环境,因为cmake不是一个编译工具,它只不过是根据CMakeLists.txt文件生成Makefile文件,Makefile文件再通过make规则使用gcc、g++等工具去实践编译代码。使用vscode和mingw......