Skip to content

Commit 5069d47

Browse files
authored
Examples: Convert exporters to ES6. (#21605)
1 parent 85a366c commit 5069d47

File tree

14 files changed

+3560
-3590
lines changed

14 files changed

+3560
-3590
lines changed

examples/js/exporters/ColladaExporter.js

Lines changed: 82 additions & 84 deletions
Large diffs are not rendered by default.

examples/js/exporters/DRACOExporter.js

Lines changed: 35 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,17 @@
1515
*/
1616

1717
/* global DracoEncoderModule */
18-
var DRACOExporter = function () {};
19-
20-
DRACOExporter.prototype = {
21-
constructor: DRACOExporter,
22-
parse: function ( object, options ) {
18+
class DRACOExporter {
19+
20+
parse( object, options = {
21+
decodeSpeed: 5,
22+
encodeSpeed: 5,
23+
encoderMethod: DRACOExporter.MESH_EDGEBREAKER_ENCODING,
24+
quantization: [ 16, 8, 8, 8, 8 ],
25+
exportUvs: true,
26+
exportNormals: true,
27+
exportColor: false
28+
} ) {
2329

2430
if ( object.isBufferGeometry === true ) {
2531

@@ -33,25 +39,11 @@
3339

3440
}
3541

36-
if ( options === undefined ) {
37-
38-
options = {
39-
decodeSpeed: 5,
40-
encodeSpeed: 5,
41-
encoderMethod: DRACOExporter.MESH_EDGEBREAKER_ENCODING,
42-
quantization: [ 16, 8, 8, 8, 8 ],
43-
exportUvs: true,
44-
exportNormals: true,
45-
exportColor: false
46-
};
47-
48-
}
49-
50-
var geometry = object.geometry;
51-
var dracoEncoder = DracoEncoderModule();
52-
var encoder = new dracoEncoder.Encoder();
53-
var builder;
54-
var dracoObject;
42+
const geometry = object.geometry;
43+
const dracoEncoder = DracoEncoderModule();
44+
const encoder = new dracoEncoder.Encoder();
45+
let builder;
46+
let dracoObject;
5547

5648
if ( geometry.isBufferGeometry !== true ) {
5749

@@ -63,19 +55,19 @@
6355

6456
builder = new dracoEncoder.MeshBuilder();
6557
dracoObject = new dracoEncoder.Mesh();
66-
var vertices = geometry.getAttribute( 'position' );
58+
const vertices = geometry.getAttribute( 'position' );
6759
builder.AddFloatAttributeToMesh( dracoObject, dracoEncoder.POSITION, vertices.count, vertices.itemSize, vertices.array );
68-
var faces = geometry.getIndex();
60+
const faces = geometry.getIndex();
6961

7062
if ( faces !== null ) {
7163

7264
builder.AddFacesToMesh( dracoObject, faces.count / 3, faces.array );
7365

7466
} else {
7567

76-
var faces = new ( vertices.count > 65535 ? Uint32Array : Uint16Array )( vertices.count );
68+
const faces = new ( vertices.count > 65535 ? Uint32Array : Uint16Array )( vertices.count );
7769

78-
for ( var i = 0; i < faces.length; i ++ ) {
70+
for ( let i = 0; i < faces.length; i ++ ) {
7971

8072
faces[ i ] = i;
8173

@@ -87,7 +79,7 @@
8779

8880
if ( options.exportNormals === true ) {
8981

90-
var normals = geometry.getAttribute( 'normal' );
82+
const normals = geometry.getAttribute( 'normal' );
9183

9284
if ( normals !== undefined ) {
9385

@@ -99,7 +91,7 @@
9991

10092
if ( options.exportUvs === true ) {
10193

102-
var uvs = geometry.getAttribute( 'uv' );
94+
const uvs = geometry.getAttribute( 'uv' );
10395

10496
if ( uvs !== undefined ) {
10597

@@ -111,7 +103,7 @@
111103

112104
if ( options.exportColor === true ) {
113105

114-
var colors = geometry.getAttribute( 'color' );
106+
const colors = geometry.getAttribute( 'color' );
115107

116108
if ( colors !== undefined ) {
117109

@@ -125,12 +117,12 @@
125117

126118
builder = new dracoEncoder.PointCloudBuilder();
127119
dracoObject = new dracoEncoder.PointCloud();
128-
var vertices = geometry.getAttribute( 'position' );
120+
const vertices = geometry.getAttribute( 'position' );
129121
builder.AddFloatAttribute( dracoObject, dracoEncoder.POSITION, vertices.count, vertices.itemSize, vertices.array );
130122

131123
if ( options.exportColor === true ) {
132124

133-
var colors = geometry.getAttribute( 'color' );
125+
const colors = geometry.getAttribute( 'color' );
134126

135127
if ( colors !== undefined ) {
136128

@@ -147,10 +139,10 @@
147139
} //Compress using draco encoder
148140

149141

150-
var encodedData = new dracoEncoder.DracoInt8Array(); //Sets the desired encoding and decoding speed for the given options from 0 (slowest speed, but the best compression) to 10 (fastest, but the worst compression).
142+
const encodedData = new dracoEncoder.DracoInt8Array(); //Sets the desired encoding and decoding speed for the given options from 0 (slowest speed, but the best compression) to 10 (fastest, but the worst compression).
151143

152-
var encodeSpeed = options.encodeSpeed !== undefined ? options.encodeSpeed : 5;
153-
var decodeSpeed = options.decodeSpeed !== undefined ? options.decodeSpeed : 5;
144+
const encodeSpeed = options.encodeSpeed !== undefined ? options.encodeSpeed : 5;
145+
const decodeSpeed = options.decodeSpeed !== undefined ? options.decodeSpeed : 5;
154146
encoder.SetSpeedOptions( encodeSpeed, decodeSpeed ); // Sets the desired encoding method for a given geometry.
155147

156148
if ( options.encoderMethod !== undefined ) {
@@ -163,7 +155,7 @@
163155

164156
if ( options.quantization !== undefined ) {
165157

166-
for ( var i = 0; i < 5; i ++ ) {
158+
for ( let i = 0; i < 5; i ++ ) {
167159

168160
if ( options.quantization[ i ] !== undefined ) {
169161

@@ -175,7 +167,7 @@
175167

176168
}
177169

178-
var length;
170+
let length;
179171

180172
if ( object.isMesh === true ) {
181173

@@ -196,9 +188,9 @@
196188
} //Copy encoded data to buffer.
197189

198190

199-
var outputData = new Int8Array( new ArrayBuffer( length ) );
191+
const outputData = new Int8Array( new ArrayBuffer( length ) );
200192

201-
for ( var i = 0; i < length; i ++ ) {
193+
for ( let i = 0; i < length; i ++ ) {
202194

203195
outputData[ i ] = encodedData.GetValue( i );
204196

@@ -210,7 +202,9 @@
210202
return outputData;
211203

212204
}
213-
}; // Encoder methods
205+
206+
} // Encoder methods
207+
214208

215209
DRACOExporter.MESH_EDGEBREAKER_ENCODING = 1;
216210
DRACOExporter.MESH_SEQUENTIAL_ENCODING = 0; // Geometry type

0 commit comments

Comments
 (0)