浏览代码

Moved to buffer geometry added rotation to match threejs coords

Tentone 7 年之前
父节点
当前提交
49ad9513b6
共有 1 个文件被更改,包括 14 次插入6 次删除
  1. 14 6
      examples/js/loaders/GCodeLoader.js

+ 14 - 6
examples/js/loaders/GCodeLoader.js

@@ -68,7 +68,7 @@ THREE.GCodeLoader.prototype.parse = function ( data ) {
 				type: grouptype,
 				type: grouptype,
 				feed: line.e,
 				feed: line.e,
 				extruding: line.extruding,
 				extruding: line.extruding,
-				geometry: new THREE.Geometry(),
+				vertex: [],
 				material: line.extruding ? extrudingMaterial : pathMaterial,
 				material: line.extruding ? extrudingMaterial : pathMaterial,
 				segmentCount: 0
 				segmentCount: 0
 				
 				
@@ -83,11 +83,14 @@ THREE.GCodeLoader.prototype.parse = function ( data ) {
 	function addSegment( p1, p2 ) {
 	function addSegment( p1, p2 ) {
 
 
 		var group = getLineGroup( p2 );
 		var group = getLineGroup( p2 );
-		var geometry = group.geometry;
-		
+
 		group.segmentCount ++;
 		group.segmentCount ++;
-		geometry.vertices.push( new THREE.Vector3( p1.x, p1.y, p1.z ) );
-		geometry.vertices.push( new THREE.Vector3( p2.x, p2.y, p2.z ) );
+		group.vertex.push(p1.x);
+		group.vertex.push(p1.y);
+		group.vertex.push(p1.z);
+		group.vertex.push(p2.x);
+		group.vertex.push(p2.y);
+		group.vertex.push(p2.z);
 
 
 		if ( p2.extruding ) {
 		if ( p2.extruding ) {
 
 
@@ -206,7 +209,10 @@ THREE.GCodeLoader.prototype.parse = function ( data ) {
 
 
 			if ( line !== undefined ) {
 			if ( line !== undefined ) {
 
 
-				var segments = new THREE.LineSegments( line.geometry, line.material );
+				var geometry = new THREE.BufferGeometry();
+				geometry.addAttribute( 'position', new THREE.BufferAttribute( new Float32Array( line.vertex ), 3 ) );
+
+				var segments = new THREE.LineSegments( geometry, line.material );
 				segments.name = 'layer' + i;
 				segments.name = 'layer' + i;
 				object.add( segments );
 				object.add( segments );
 
 
@@ -216,5 +222,7 @@ THREE.GCodeLoader.prototype.parse = function ( data ) {
 
 
 	}
 	}
 
 
+	object.rotation.set( -Math.PI / 2, 0, 0 );
+
 	return object;
 	return object;
 };
 };