ViewDesignEngine  3.1.0
高性能 CAD 计算几何引擎
vde::foundation::BinarySerializer类 参考

二进制序列化器 更多...

#include <serializer.h>

静态 Public 成员函数

static std::vector< uint8_t > serialize (const mesh::HalfedgeMesh &mesh)
 序列化网格到二进制缓冲区 更多...
 
static mesh::HalfedgeMesh deserialize (const std::vector< uint8_t > &data)
 从二进制缓冲区反序列化网格 更多...
 
static bool write_file (const std::string &path, const mesh::HalfedgeMesh &mesh)
 序列化并写入文件 更多...
 
static mesh::HalfedgeMesh read_file (const std::string &path)
 从文件读取并反序列化 更多...
 

详细描述

二进制序列化器

提供网格的快速二进制序列化/反序列化,用于 VDE 本地格式(VDE 二进制格式)。

文件格式:

  • 8 字节魔数 "VDEGEOM\0" (0x56444547454F4D00)
  • 4 字节格式版本号
  • 4 字节标志位
  • 序列化的网格数据
注解
该格式专为 VDE 内部快速读写设计,不适用于跨平台数据交换
使用 glTF/OBJ/STL 进行外部交换,此格式用于本地缓存

在文件 serializer.h46 行定义.

成员函数说明

◆ deserialize()

static mesh::HalfedgeMesh vde::foundation::BinarySerializer::deserialize ( const std::vector< uint8_t > &  data)
static

从二进制缓冲区反序列化网格

参数
data之前由 serialize() 生成的二进制数据
返回
恢复的半边网格
异常
std::runtime_error若数据校验失败(魔数/版本不匹配)
static mesh::HalfedgeMesh deserialize(const std::vector< uint8_t > &data)
从二进制缓冲区反序列化网格

◆ read_file()

static mesh::HalfedgeMesh vde::foundation::BinarySerializer::read_file ( const std::string &  path)
static

从文件读取并反序列化

等价于文件读取 + deserialize(),一步完成。

参数
pathVDE 二进制格式文件路径
返回
恢复的半边网格
异常
std::runtime_error若文件无法打开或格式无效
参见
write_file

◆ serialize()

static std::vector<uint8_t> vde::foundation::BinarySerializer::serialize ( const mesh::HalfedgeMesh mesh)
static

序列化网格到二进制缓冲区

参数
mesh要序列化的半边网格
返回
压缩后的二进制数据(含文件头)
auto data = BinarySerializer::serialize(mesh);
// data 可直接写入文件或通过网络传输
static std::vector< uint8_t > serialize(const mesh::HalfedgeMesh &mesh)
序列化网格到二进制缓冲区

◆ write_file()

static bool vde::foundation::BinarySerializer::write_file ( const std::string &  path,
const mesh::HalfedgeMesh mesh 
)
static

序列化并写入文件

等价于 serialize() + 文件写入,一步完成。

参数
path输出文件路径
mesh要保存的半边网格
返回
true 写入成功
false 文件创建失败
参见
read_file

该类的文档由以下文件生成: