29 lines
		
	
	
		
			561 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			561 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| export class Vec3 {
 | |
|     constructor(values = {
 | |
|         x: 0,
 | |
|         y: 0,
 | |
|         z: 0
 | |
|     }) {
 | |
|         this.x = values.x;
 | |
|         this.y = values.y;
 | |
|         this.z = values.z;
 | |
|     }
 | |
|     add(vector) {
 | |
|         this.x += vector.x;
 | |
|         this.y += vector.y;
 | |
|         this.z += vector.z;
 | |
|     }
 | |
|     multiply(vector) {
 | |
|         this.x *= vector.x;
 | |
|         this.y *= vector.y;
 | |
|         this.z *= vector.z;
 | |
|     }
 | |
|     clone() {
 | |
|         return new Vec3({
 | |
|             x: this.x,
 | |
|             y: this.y,
 | |
|             z: this.z
 | |
|         });
 | |
|     }
 | |
| }
 |