<commit_before>/* <NAME> Copyright @2014
 * Shape class for the CAD models
 */
"use strict";


import Shell from './shell';
import Annotation from './annotation';

/********************************* Shape Class ********************************/
export default class Shape extends THREE.EventDispatcher {
    constructor(shapeJSON,manager,id) {
        super();
        this._manager=manager;
        this.id = id;
        this._shells = [];
        this._annotations = [];
        this._geoms = new THREE.Group();
        this._geoms.userData.id = id;
        this._bbox = [0,0,0,0,0,0];
        this._transform = new THREE.Matrix4();
        this._inScene = false;
        this._isVisible = false;
        _.each(shapeJSON,(geom)=>{
           switch(geom.type){
               case 'mesh':
                   let shell = new Shell(geom.geom);
                   this._geoms.add(shell.getGeometry());
                   this._shells.push(shell);
                   break;
               case 'annotation':
                   let anno = new Annotation(geom.geom);
                   this._geoms.add(ann.getGeometry());
                   this._annotations.push();
                   break;
               case 'default':<commit_msg>HOW DO I SWITCH STATEMENT?<commit_after>/* <NAME> Copyright @2014
 * Shape class for the CAD models
 */
"use strict";


import Shell from './shell';
import Annotation from './annotation';

/********************************* Shape Class ********************************/
export default class Shape extends THREE.EventDispatcher {
    constructor(shapeJSON,manager,id) {
        super();
        this._manager=manager;
        this.id = id;
        this._shells = [];
        this._annotations = [];
        this._geoms = new THREE.Group();
        this._geoms.userData.id = id;
        this._bbox = [0,0,0,0,0,0];
        this._transform = new THREE.Matrix4();
        this._inScene = false;
        this._isVisible = false;
        _.each(shapeJSON,(geom)=>{
           switch(geom.type){
               case 'mesh':
                   let shell = new Shell(geom.geom);
                   this._geoms.add(shell.getGeometry());
                   this._shells.push(shell);
                   break;
               case 'annotation':
                   let anno = new Annotation(geom.geom);
                   this._geoms.add(ann.getGeometry());
                   this._annotations.push();
                   break;
               default:
{'fraction_non_alphanumeric': 0.16882591093117408, 'fraction_numerical': 0.008906882591093117, 'mean_word_length': 1.8015873015873016, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '90931', 'n_tokens_mistral': 682, 'n_tokens_neox': 633, 'n_words': 144}