From 1dbbf207f4f2c16057d35856026a7a06d63e2c6d Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Tue, 10 Jan 2017 10:58:08 -0800 Subject: [PATCH] Updated doc of JS decoder in README --- README.md | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 0a0de7d..7c5c774 100644 --- a/README.md +++ b/README.md @@ -250,21 +250,28 @@ Javascript Decoder ------------------ The Javascript decoder is located in `javascript/draco_decoder.js`. The -Javascript decoder can currently only decode mesh geometry. In order to use the -decoder you must create `DecoderBuffer` and `WebIDLWrapper` objects. Set the -encoded data in the `DecoderBuffer`. Then call `DecodeMeshFromBuffer()`, which -will return a Mesh object. E.g. +Javascript decoder can decode mesh and point cloud. In order to use the +decoder you must first create `DecoderBuffer` and `WebIDLWrapper` objects. Set the +encoded data in the `DecoderBuffer`. Then call `GetEncodedGeometryType()` to identify +the type of geometry, e.g. mesh or point cloud. Then call either `DecodeMeshFromBuffer()` or +`DecodePointCloudFromBuffer()` which will return a Mesh object or a point cloud. E.g. ~~~~~ js var buffer = new Module.DecoderBuffer(); buffer.Init(encFileData, encFileData.length); var wrapper = new WebIDLWrapper(); -var outputMesh = wrapper.DecodeMeshFromBuffer(buffer); +const geometryType = wrapper.GetEncodedGeometryType(buffer); +let outputGeometry; +if (geometryType == DracoModule.TRIANGULAR_MESH) { + var outputGeometry = wrapper.DecodeMeshFromBuffer(buffer); +} else { + var outputGeometry = wrapper.DecodePointCloudFromBuffer(buffer); +} -destroy(outputMesh); -destroy(wrapper); -destroy(buffer); +DracoModule.destroy(outputGeometry); +DracoModule.destroy(wrapper); +DracoModule.destroy(buffer); ~~~~~ Please see `javascript/emscripten/draco_web.idl` for the full API.