1 Star 0 Fork 0

todayjm / draco

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
draco_web_encoder.idl 7.96 KB
一键复制 编辑 原始数据 按行查看 历史
Tom Finegan 提交于 2020-12-01 13:01 . Draco v1.4.0
// Interface exposed to emscripten's WebIDL Binder.
// http://kripken.github.io/emscripten-site/docs/porting/connecting_cpp_and_javascript/WebIDL-Binder.html
enum draco_GeometryAttribute_Type {
"draco_GeometryAttribute::INVALID",
"draco_GeometryAttribute::POSITION",
"draco_GeometryAttribute::NORMAL",
"draco_GeometryAttribute::COLOR",
"draco_GeometryAttribute::TEX_COORD",
"draco_GeometryAttribute::GENERIC"
};
[Prefix="draco::"]
interface GeometryAttribute {
void GeometryAttribute();
};
enum draco_EncodedGeometryType {
"draco::INVALID_GEOMETRY_TYPE",
"draco::POINT_CLOUD",
"draco::TRIANGULAR_MESH"
};
enum draco_MeshEncoderMethod {
"draco::MESH_SEQUENTIAL_ENCODING",
"draco::MESH_EDGEBREAKER_ENCODING"
};
[Prefix="draco::"]
interface PointAttribute {
void PointAttribute();
long size();
// From GeometryAttribute
long attribute_type();
long data_type();
byte num_components();
boolean normalized();
long byte_stride();
long byte_offset();
long unique_id();
};
[Prefix="draco::"]
interface PointCloud {
void PointCloud();
long num_attributes();
long num_points();
};
[Prefix="draco::"]
interface Mesh : PointCloud {
void Mesh();
long num_faces();
// From PointCloud
long num_attributes();
long num_points();
void set_num_points(long num_points);
};
[Prefix="draco::"]
interface Metadata {
void Metadata();
};
interface DracoInt8Array {
void DracoInt8Array();
long GetValue(long index);
long size();
};
interface MetadataBuilder {
void MetadataBuilder();
boolean AddStringEntry(Metadata metadata,
[Const] DOMString entry_name,
[Const] DOMString entry_value);
boolean AddIntEntry(Metadata metadata,
[Const] DOMString entry_name,
long entry_value);
boolean AddIntEntryArray(Metadata metadata,
[Const] DOMString entry_name,
[Const] long[] att_values,
long num_values);
boolean AddDoubleEntry(Metadata metadata,
[Const] DOMString entry_name,
double entry_value);
};
interface PointCloudBuilder {
void PointCloudBuilder();
long AddFloatAttribute(PointCloud pc, draco_GeometryAttribute_Type type,
long num_vertices, long num_components,
[Const] float[] att_values);
long AddInt8Attribute(PointCloud pc, draco_GeometryAttribute_Type type,
long num_vertices, long num_components,
[Const] byte[] att_values);
long AddUInt8Attribute(PointCloud pc, draco_GeometryAttribute_Type type,
long num_vertices, long num_components,
[Const] octet[] att_values);
long AddInt16Attribute(PointCloud pc, draco_GeometryAttribute_Type type,
long num_vertices, long num_components,
[Const] short[] att_values);
long AddUInt16Attribute(PointCloud pc, draco_GeometryAttribute_Type type,
long num_vertices, long num_components,
[Const] unsigned short[] att_values);
long AddInt32Attribute(PointCloud pc, draco_GeometryAttribute_Type type,
long num_vertices, long num_components,
[Const] long[] att_values);
long AddUInt32Attribute(PointCloud pc, draco_GeometryAttribute_Type type,
long num_vertices, long num_components,
[Const] unsigned long[] att_values);
boolean AddMetadata(PointCloud pc, [Const] Metadata metadata);
boolean SetMetadataForAttribute(PointCloud pc, long attribute_id,
[Const] Metadata metadata);
};
interface MeshBuilder : PointCloudBuilder {
void MeshBuilder();
boolean AddFacesToMesh(Mesh mesh, long num_faces, [Const] long[] faces);
// Deprecated.
long AddFloatAttributeToMesh(Mesh mesh, draco_GeometryAttribute_Type type,
long num_vertices, long num_components,
[Const] float[] att_values);
// Deprecated.
long AddInt32AttributeToMesh(Mesh mesh, draco_GeometryAttribute_Type type,
long num_vertices, long num_components,
[Const] long[] att_values);
// Deprecated.
boolean AddMetadataToMesh(Mesh mesh, [Const] Metadata metadata);
// From PointCloudBuilder
long AddFloatAttribute(PointCloud pc, draco_GeometryAttribute_Type type,
long num_vertices, long num_components,
[Const] float[] att_values);
long AddInt8Attribute(PointCloud pc, draco_GeometryAttribute_Type type,
long num_vertices, long num_components,
[Const] byte[] att_values);
long AddUInt8Attribute(PointCloud pc, draco_GeometryAttribute_Type type,
long num_vertices, long num_components,
[Const] octet[] att_values);
long AddInt16Attribute(PointCloud pc, draco_GeometryAttribute_Type type,
long num_vertices, long num_components,
[Const] short[] att_values);
long AddUInt16Attribute(PointCloud pc, draco_GeometryAttribute_Type type,
long num_vertices, long num_components,
[Const] unsigned short[] att_values);
long AddInt32Attribute(PointCloud pc, draco_GeometryAttribute_Type type,
long num_vertices, long num_components,
[Const] long[] att_values);
long AddUInt32Attribute(PointCloud pc, draco_GeometryAttribute_Type type,
long num_vertices, long num_components,
[Const] unsigned long[] att_values);
boolean AddMetadata(PointCloud pc, [Const] Metadata metadata);
boolean SetMetadataForAttribute(PointCloud pc, long attribute_id,
[Const] Metadata metadata);
};
interface Encoder {
void Encoder();
void SetEncodingMethod(long method);
void SetAttributeQuantization(draco_GeometryAttribute_Type type,
long quantization_bits);
void SetAttributeExplicitQuantization(draco_GeometryAttribute_Type type,
long quantization_bits,
long num_components,
[Const] float[] origin,
float range);
void SetSpeedOptions(long encoding_speed, long decoding_speed);
void SetTrackEncodedProperties(boolean flag);
long EncodeMeshToDracoBuffer(Mesh mesh,
DracoInt8Array encoded_data);
long EncodePointCloudToDracoBuffer(PointCloud pc, boolean deduplicate_values,
DracoInt8Array encoded_data);
// Returns the number of encoded points or faces from the last Encode
// operation. Returns 0 if SetTrackEncodedProperties was not set to true.
long GetNumberOfEncodedPoints();
long GetNumberOfEncodedFaces();
};
interface ExpertEncoder {
void ExpertEncoder(PointCloud pc);
void SetEncodingMethod(long method);
void SetAttributeQuantization(long att_id,
long quantization_bits);
void SetAttributeExplicitQuantization(long att_id,
long quantization_bits,
long num_components,
[Const] float[] origin,
float range);
void SetSpeedOptions(long encoding_speed, long decoding_speed);
void SetTrackEncodedProperties(boolean flag);
long EncodeToDracoBuffer(boolean deduplicate_values,
DracoInt8Array encoded_data);
// Returns the number of encoded points or faces from the last Encode
// operation. Returns 0 if SetTrackEncodedProperties was not set to true.
long GetNumberOfEncodedPoints();
long GetNumberOfEncodedFaces();
};
1
https://gitee.com/pcjm/draco.git
git@gitee.com:pcjm/draco.git
pcjm
draco
draco
master

搜索帮助