integ/js/vs/_vs.token2.js
author veltr
Mon, 29 Apr 2013 15:02:35 +0200
changeset 53 88666afffe6b
parent 28 84719280c84d
permissions -rwxr-xr-x
Cinebuzz with strata
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
53
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
     1
(function ($) {
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
     2
$.fn._vs.token = {
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
     3
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
     4
    // alias for d3 color scale D3
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
     5
    colorRange:function(){},
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
     6
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
     7
    init:function(_this){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
     8
      // Color scale import form d3 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
     9
      // todo shape management
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    10
      this.colorRange = _this.settings.chart.colorRange
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    11
    },
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    12
    ID:function(_this){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    13
      _this.settings.data.tokenPast+=1
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    14
      return _this.settings.data.tokenPast
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    15
    },
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    16
    selectAll:function(_this,key,value){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    17
      // DRAFT VERSION writing select All ...... 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    18
      var result = []
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    19
      var all    = false
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    20
      result.flocculate  = function(){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    21
        var r=[]
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    22
        result.forEach(function(i){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    23
          q = i.flocculate()
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    24
          r.push(q)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    25
        })
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    26
        return r
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    27
      }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    28
      result.attr  = function(key,value,param){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    29
        var r=[]
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    30
        result.forEach(function(i){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    31
          //console.log(key,value,param)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    32
          q = i.attr(key,value,param)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    33
          //console.log("q",q)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    34
          r.push(q)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    35
        })
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    36
        return r
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    37
      }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    38
      
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    39
      result.b2dObj  = function(key,value,param){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    40
        var r=[]
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    41
        result.forEach(function(i){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    42
          //console.log(key,value,param)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    43
          q = i.myobj
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    44
          //console.log("q",q)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    45
          r.push(q)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    46
        })
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    47
        return r
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    48
      }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    49
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    50
      if(typeof(value) == "undefined" && typeof(key) == "undefined"){ 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    51
        all =true
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    52
      }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    53
      
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    54
      for (var i = _this.tokens.length - 1; i >= 0; i--) {
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    55
        if(_this.tokens[i].attr(key) == value || all==true){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    56
          result.push(_this.tokens[i])
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    57
       }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    58
      }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    59
        return result;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    60
    },
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    61
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    62
    select:function(_this,key,value){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    63
      result = []
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    64
      if(typeof(value) == "undefined" && typeof(key) == "undefined"){ 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    65
        return _this.tokens 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    66
      }else{
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    67
        for (var i = _this.tokens.length - 1; i >= 0; i--) {
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    68
          if(_this.tokens[i].attr(key) == value){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    69
            result.push(_this.tokens[i])
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    70
            break;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    71
          }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    72
        }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    73
      }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    74
      if(typeof(result[0])=="undefined"){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    75
        return false
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    76
      }else{
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    77
        return result[0];
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    78
      }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    79
    },
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    80
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    81
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    82
    addToken:function (_this,element){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    83
     //default token setting  
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    84
     var defaultTokenSetting ={
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    85
        x:50,y:50, // positions
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    86
        t:null,    // time 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    87
        category:1,// data category 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    88
        state:0,   // state 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    89
        /*
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    90
         0 = Not Enter in the stage,
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    91
         1 = suspension,
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    92
         2 = floculation,
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    93
         2 + n = _this.strata.list[n]
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    94
        */
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    95
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    96
        // Graphic Parameter
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    97
        size:10,   fillStyle:'###',  strokeStyle:'rgba(0,0,0,0)', lineWidth:0, texture:undefined,
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    98
        shape:{type:'round'}, // vertice, box, round, ?? svg path with json serialisation {}        
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
    99
        userdata:{},
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   100
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   101
        // Interactions callbacks 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   102
        callback:{}, 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   103
        
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   104
        // Physical parameters
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   105
        phy:{ density:10,friction:0,restitution:0},
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   106
        targets:[/*{x:null,y:null}*/],
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   107
        elbow:{/*x:null,y:null*/}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   108
     }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   109
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   110
     var result = null;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   111
     var myobj = null
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   112
     var token = {}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   113
     
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   114
     token.toString = function() {
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   115
         return "Token ID="+this.setting.ID;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   116
     }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   117
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   118
     //console.log(element)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   119
     if(typeof(element)=='undefined'){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   120
        token.setting = defaultTokenSetting
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   121
        token.setting.ID = this.ID(_this)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   122
     } else {
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   123
        token.setting   = element
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   124
        if(typeof(token.setting.phy)    =='undefined') {token.setting.phy    = defaultTokenSetting.phy}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   125
        if(typeof(token.setting.t)      =='undefined') {token.setting.t      = _this.settings.stream.now}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   126
        if(typeof(token.setting.x)      =='undefined') {token.setting.x      = _this.settings.sedimentation.incoming.point[element.category].x+(Math.random()*2)}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   127
        if(typeof(token.setting.y)      =='undefined') {token.setting.y      = _this.settings.sedimentation.incoming.point[element.category].y+(Math.random()*2)}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   128
        if(typeof(token.setting.size)   =='undefined') {token.setting.size   = _this.settings.sedimentation.token.size.original}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   129
        if(typeof(token.setting.targets)=='undefined') {token.setting.targets=[]}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   130
        token.setting.ID = token.setting.ID = this.ID(_this)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   131
        if(typeof(token.setting.state)  =='undefined') {token.setting.state  = 0}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   132
        if(typeof(token.setting.shape)  =='undefined') {token.setting.shape  = defaultTokenSetting.shape }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   133
      }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   134
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   135
      token.myobj =  this.create(_this,token.setting)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   136
      //console.log("token.myobj",token.myobj)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   137
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   138
          token.flocculate = function(){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   139
            _this.tokens.indexOf(this)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   140
            _this.flocculate.destroyIt(_this,this)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   141
           return this
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   142
          }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   143
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   144
          token.attr = function(key,value,param){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   145
            //console.log("attr",this.myobj)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   146
            if(typeof(value) == "undefined"){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   147
              if(typeof(this[key])!="undefined"){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   148
               return this[key]()
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   149
              }else{
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   150
               return this.myobj.m_userData[key]
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   151
              }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   152
            }else{
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   153
             if(typeof(this[key])!="undefined"){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   154
              this[key](value,param)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   155
             }else{
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   156
              this.myobj.m_userData[key]=value
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   157
            }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   158
           }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   159
           return this
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   160
          }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   161
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   162
          token.callback = function(value,param){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   163
            if (!arguments.length){return this.myobj.m_userData.callback}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   164
            if (typeof(this.myobj.m_userData.callback[value])=="function"){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   165
              return this.myobj.m_userData.callback[value](param)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   166
            } else {
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   167
              return function(param){console.log("callback undefined")}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   168
            }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   169
          }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   170
          
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   171
          token.size = function(value){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   172
            //console.log(this.attr('state'))
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   173
            if(this.myobj!=null && this.attr('state')<2){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   174
              if (!arguments.length){return this.myobj.m_shape.m_radius*this.myobj.m_userData.scale;}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   175
                this.myobj.m_shape.m_radius = value/this.myobj.m_userData.scale
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   176
            }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   177
          }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   178
          token.b2dObj = function(){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   179
              if(this.myobj!=null && this.attr('state')<2){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   180
                return this.myobj
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   181
              }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   182
          }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   183
      
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   184
          token.texture = function(value){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   185
            if (!arguments.length){return this.myobj.m_userData.texture.img.src;}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   186
             console.log("texture",value)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   187
             this.myobj.m_userData.texture={}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   188
             this.myobj.m_userData.texture.img = new Image();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   189
             this.myobj.m_userData.texture.img.src = value
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   190
          }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   191
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   192
      //console.log("token",token)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   193
      _this.tokens.push(token)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   194
      _this.decay.tokens.push(token)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   195
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   196
      // Execute suspension callback 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   197
      if(typeof(this.myobj.m_userData.callback)!="undefined"){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   198
        if(typeof(this.myobj.m_userData.callback.suspension)=="function"){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   199
           var t = _this.select('ID',token.setting.ID)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   200
           this.myobj.m_userData.callback.suspension(t)         
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   201
        }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   202
      }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   203
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   204
     return token
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   205
    },
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   206
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   207
    // CREATE IS A TRY TO UNIFY TOKEN PRODUCTION
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   208
    create:function(_this,token) {
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   209
      //targetX,targetY, x, y,size,family
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   210
      //console.log("create",token)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   211
      token.scale = scale = _this.settings.options.scale
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   212
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   213
      //console.log("DBT")
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   214
      var xPos              = token.x/scale+(Math.random()*0.1);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   215
      var yPos              = token.y/scale+(Math.random()*0.1);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   216
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   217
      // CREATE BALL
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   218
      var fixDef            = new Box2D.Dynamics.b2FixtureDef;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   219
        fixDef.density      = 0.1;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   220
        fixDef.friction     = 0.0;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   221
        fixDef.restitution  = 0.0;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   222
        //console.log(token)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   223
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   224
        // round
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   225
        if(token.shape.type == "round"){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   226
          fixDef.shape      = new Box2D.Collision.Shapes.b2CircleShape(token.size/scale);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   227
        // or polygon
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   228
        }else if(token.shape.type == "polygons"){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   229
          //fixDef.shape      = new Box2D.Collision.Shapes.b2PolygonShape;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   230
          fixDef            = this.setPolygons(_this,token,fixDef)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   231
        }else if(token.shape.type == "box"){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   232
          fixDef.shape      = new Box2D.Collision.Shapes.b2PolygonShape;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   233
          //console.log(fixDef)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   234
          fixDef.shape.SetAsBox(token.shape.width/scale,token.shape.height/scale)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   235
        }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   236
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   237
      var bodyDef           = new Box2D.Dynamics.b2BodyDef;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   238
        bodyDef.type        = Box2D.Dynamics.b2Body.b2_dynamicBody;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   239
        bodyDef.position.x  = token.x/scale;//+(Math.random())
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   240
        bodyDef.position.y  = token.y/scale;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   241
      
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   242
      this.myobj = _this.world.CreateBody(bodyDef).CreateFixture(fixDef)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   243
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   244
      if(typeof(token.texture)!="undefined"){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   245
        token.texture.img = new Image();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   246
        token.texture.img.src = token.texture.src
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   247
      }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   248
      
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   249
      if(typeof(token.impulse)!="undefined"){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   250
        this.applyImpulse(this.myobj,token.impulse.angle,token.impulse.power);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   251
      }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   252
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   253
      if(typeof(token.fillStyle) =="undefined"){   token.fillStyle  = this.colorRange(token.category) }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   254
      //if(typeof(token.stokeStyle)=="undefined"){   token.stokeStyle = "#000"}//"rgba(0,0,0,0.5)" }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   255
      if(typeof(token.lineWidth) =="undefined"){   token.lineWidth  = 0 }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   256
      if(typeof(token.type)  =="undefined"){       token.type="token"   }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   257
      if(typeof(token.callback)  =="undefined"){   
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   258
        token.callback = {}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   259
                   // {
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   260
                   //      suspension:undefined,
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   261
                   //      flocculation:undefined,
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   262
                   //      draw:undefined,
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   263
                   //      mouseover:undefined,
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   264
                   //      mouseout:undefined,
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   265
                   //      click:undefined
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   266
                   //    }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   267
      }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   268
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   269
      this.myobj.m_userData       = token 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   270
      this.myobj.attr             = this.attr// function (){console.log(this)} 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   271
      this.myobj.m_userData.mouse = {}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   272
      this.myobj.m_userData.mouse.over        = false;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   273
      this.myobj.m_userData.mouse.down        = false;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   274
      this.myobj.m_userData.mouse.dragging    = false;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   275
      this.myobj.m_userData.mouse.statebefore = false;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   276
      this.myobj.m_userData.state = 1;  // now in the world
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   277
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   278
      if(token.targets.length==0 && _this.settings.chart.type=="CircleLayout"){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   279
        token.targets[0]={
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   280
                         x: _this.settings.sedimentation.incoming.target[token.category].x,
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   281
                         y: _this.settings.sedimentation.incoming.target[token.category].y
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   282
                  }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   283
      }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   284
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   285
      if(token.targets.length>0){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   286
        //console.log()
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   287
        //CREATE JOIN MOUVEMENT TO TARGET
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   288
        var md              = new _this.phy.b2MouseJointDef();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   289
        md.bodyA            = _this.world.GetGroundBody();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   290
        md.bodyB            = this.myobj.GetBody();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   291
        md.target.Set(xPos,yPos);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   292
        md.collideConnected = true;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   293
        md.maxForce         = 50 * this.myobj.GetBody().GetMass();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   294
        mouseJoint          = _this.world.CreateJoint(md);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   295
        mouseJoint.SetTarget(new _this.phy.b2Vec2(token.targets[0].x/scale, token.targets[0].y/scale));
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   296
      }
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   297
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   298
      // ADD INFO IN OBJECT
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   299
      //categorys[family].value+=1;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   300
      //setTimeout(function(){mouseJoint.SetTarget(chart.position.x/scale, chart.position.y/scale)},1000);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   301
      //categorys[family].joins.push(mouseJoint); 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   302
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   303
      return this.myobj;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   304
    },
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   305
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   306
    applyImpulse:function(bodyId, degrees, power) {
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   307
    var body = bodyId.GetBody();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   308
    body.ApplyImpulse(new Box2D.Common.Math.b2Vec2(Math.cos(degrees * (Math.PI / 180)) * power,
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   309
                                 Math.sin(degrees * (Math.PI / 180)) * power),
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   310
                                 body.GetWorldCenter());
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   311
    },
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   312
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   313
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   314
    setPolygons:function (_this,token,fixDef){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   315
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   316
      fixDef.shape    = new Box2D.Collision.Shapes.b2PolygonShape;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   317
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   318
      if(token.shape.points==null){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   319
         token.shape.points = [{x: -1, y: -1}, {x: 1, y: -1}, {x: -1, y:-1},{x: 1, y:-1}]
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   320
      };
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   321
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   322
      for (var i = 0; i < token.shape.points.length; i++) {
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   323
          var vec = new Box2D.Common.Math.b2Vec2();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   324
          vec.Set(token.shape.points[i].x/scale, token.shape.points[i].y/scale);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   325
          token.shape.points[i] = vec;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   326
      }  
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   327
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   328
      fixDef.shape.SetAsArray(token.shape.points, token.shape.points.length);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   329
      return fixDef;    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   330
    },
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   331
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   332
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   333
    createDataBarBall:function (_this, x, y,size,family) { 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   334
      //console.log(Math.round(family)) ;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   335
      var fixDef = new Box2D.Dynamics.b2FixtureDef;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   336
        fixDef.density = 10.0;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   337
        fixDef.friction = 0.5;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   338
        fixDef.restitution = 0.2;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   339
        fixDef.shape = new Box2D.Collision.Shapes.b2CircleShape(size/_this.settings.options.scale);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   340
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   341
      var bodyDef = new Box2D.Dynamics.b2BodyDef;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   342
        bodyDef.type = Box2D.Dynamics.b2Body.b2_dynamicBody;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   343
        bodyDef.position.x = x/_this.settings.options.scale;//+(Math.random())
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   344
        bodyDef.position.y = y/_this.settings.options.scale;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   345
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   346
      var myobj = _this.world.CreateBody(bodyDef).CreateFixture(fixDef)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   347
      myobj.m_userData={type:"BarChartBall",
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   348
                familyID:'family',
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   349
                fillColor:this.colorRange(family)} //dynamiq
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   350
      //console.log(myobj);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   351
      return myobj;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   352
    },
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   353
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   354
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   355
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   356
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   357
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   358
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   359
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   360
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   361
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   362
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   363
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   364
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   365
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   366
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   367
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   368
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   369
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   370
    // ....................................................................
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   371
    // OLD OLD OLD  Physicals elements 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   372
    // !!!!!!!!!!!!!!!!!!   Have to clean 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   373
    // ....................................................................
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   374
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   375
    // !!!!!!!!!! To mix withe the one in piechart and bar chart ::: createBox
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   376
    createBox:function (world, x, y, width, height, angle, fillColor, fixed) {
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   377
      if (typeof(fixed) == 'undefined') fixed = true;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   378
       var fixDef       = new b2FixtureDef;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   379
      if (!fixed) fixDef.density = 100.0;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   380
       fixDef.friction    = 0.6;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   381
       fixDef.restitution   = 0.3;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   382
       
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   383
       var bodyDef      = new b2BodyDef;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   384
       bodyDef.type     = b2Body.b2_staticBody;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   385
       bodyDef.angle    = angle ;//* b2Settings.b2_pi; 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   386
       fixDef.shape     = new b2PolygonShape;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   387
       fixDef.shape.SetAsBox(width/scale, height/scale);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   388
       bodyDef.position.Set(x/scale, y/scale);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   389
       var myobj        = world.CreateBody(bodyDef).CreateFixture(fixDef)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   390
       myobj.m_userData   = {type:"Wall",fillColor:fillColor}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   391
       console.log(myobj.m_userData)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   392
       return myobj;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   393
       
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   394
    },
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   395
    createBoxPie:function (world,axis, x, y, width, height, angle, fillColor) {
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   396
      var bodyDef     = new b2BodyDef;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   397
        bodyDef.type    = Box2D.Dynamics.b2Body.b2_dynamicBody;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   398
      var fixDef      = new Box2D.Dynamics.b2FixtureDef;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   399
      fixDef.shape    = new b2PolygonShape;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   400
      fixDef.shape.SetAsBox(width/scale, height/scale);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   401
        fixDef.density      = 1000000.0;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   402
        fixDef.friction     = 0.5;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   403
        fixDef.restitution  = 0.2;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   404
        bodyDef.position.Set(x/scale, y/scale);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   405
      bodyDef.angle     = 0;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   406
      var myobj       = world.CreateBody(bodyDef).CreateFixture(fixDef);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   407
      myobj.m_userData  = {type:"Wall",fillColor:fillColor}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   408
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   409
       return myobj;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   410
       
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   411
    },
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   412
    createBox0D:function (world, x, y, width, height, fixed) {
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   413
      if (typeof(fixed) == 'undefined') fixed = true;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   414
      var boxSd = new b2BoxDef();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   415
      boxSd.restitution = -0.6;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   416
      boxSd.friction = .3;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   417
      if (!fixed) boxSd.density = 0.01;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   418
      boxSd.extents.Set(width, height);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   419
      var boxBd = new b2BodyDef();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   420
      boxBd.AddShape(boxSd);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   421
      boxBd.position.Set(x,y);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   422
      return world.CreateBody(boxBd)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   423
    },
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   424
    createHiddenBox:function (world, x, y, width, height, fixed) {
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   425
      if (typeof(fixed) == 'undefined') fixed = true;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   426
      var boxSd = new b2BoxDef();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   427
      boxSd.restitution = 0.6;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   428
      boxSd.friction = .3;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   429
      if (!fixed) boxSd.density = 1.0;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   430
      boxSd.extents.Set(width, height);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   431
      var boxBd = new b2BodyDef();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   432
      boxBd.AddShape(boxSd);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   433
      boxBd.position.Set(x,y);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   434
      var myObject = world.CreateBody(boxBd)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   435
      myObject.m_shapeList.visibility = 'hidden'; 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   436
      console.log(myObject);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   437
      return myObject
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   438
      
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   439
    },
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   440
    createBigBall:function (world, x, y) { 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   441
      var fixDef           = new Box2D.Dynamics.b2FixtureDef;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   442
        fixDef.density     = 1000000.0;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   443
        fixDef.friction    = 0.5;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   444
        fixDef.restitution = 0.2;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   445
        fixDef.shape       = new Box2D.Collision.Shapes.b2CircleShape(20/30);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   446
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   447
        var bodyDef      = new Box2D.Dynamics.b2BodyDef;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   448
      bodyDef.type     = Box2D.Dynamics.b2Body.b2_dynamicBody;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   449
        bodyDef.position.x = x;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   450
        bodyDef.position.y = y;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   451
      var myobj = world.CreateBody(bodyDef).CreateFixture(fixDef)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   452
      //console.log(myobj)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   453
      return myobj;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   454
    },
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   455
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   456
    /*
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   457
    286
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   458
        Create standard boxes of given height , width at x,y
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   459
    287
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   460
    */
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   461
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   462
    createPieBox:function (world, x, y, width, height,rotation,color, options){
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   463
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   464
      //default setting
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   465
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   466
     options = $.extend(true, {
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   467
         'density':10000000.0 ,
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   468
         'friction':1.0 ,
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   469
         'restitution':0.2 ,
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   470
         'linearDamping':0.0 ,
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   471
         'angularDamping':0.0 ,
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   472
         'gravityScale':0.0 ,
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   473
         'type':b2Body.b2_dynamicBody
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   474
     }, options);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   475
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   476
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   477
     var body_def       = new b2BodyDef();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   478
     var fix_def      = new b2FixtureDef;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   479
     fix_def.density    = options.density;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   480
     fix_def.friction     = options.friction;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   481
     fix_def.restitution  = options.restitution;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   482
     fix_def.shape      = new b2PolygonShape();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   483
     fix_def.shape.SetAsBox( width/scale , height/scale );
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   484
     body_def.position.Set(x/scale , y/scale);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   485
     body_def.linearDamping = options.linearDamping;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   486
     body_def.angularDamping = options.angularDamping;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   487
     body_def.angle     = rotation;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   488
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   489
     body_def.type      = options.type;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   490
     var b          = world.CreateBody( body_def );
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   491
     var f          = b.CreateFixture(fix_def);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   492
     f.m_userData     = {type:"box",familyID:null,fillColor:color}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   493
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   494
     return b;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   495
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   496
    },
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   497
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   498
    createDataBallTarget:function (world,targetX,targetY, x, y,size,family) {
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   499
      //console.log("DBT")
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   500
      var xPos              = x/scale+(Math.random()*0.1);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   501
      var yPos              = y/scale+(Math.random()*0.1);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   502
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   503
      // CREATE BALL
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   504
      var fixDef            = new Box2D.Dynamics.b2FixtureDef;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   505
        fixDef.density      = 0.1;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   506
        fixDef.friction     = 0.0;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   507
        fixDef.restitution  = 0.0;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   508
        fixDef.shape        = new Box2D.Collision.Shapes.b2CircleShape(size/scale);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   509
        var bodyDef         = new Box2D.Dynamics.b2BodyDef;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   510
      bodyDef.type          = Box2D.Dynamics.b2Body.b2_dynamicBody;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   511
        bodyDef.position.x  = xPos;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   512
        bodyDef.position.y  = yPos;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   513
        var myobj           = world.CreateBody(bodyDef).CreateFixture(fixDef);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   514
      
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   515
      //CREATE JOIN MOUVEMENT TO TARGET
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   516
      var md                = new b2MouseJointDef();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   517
        md.bodyA            = world.GetGroundBody();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   518
        md.bodyB            = myobj.GetBody();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   519
        md.target.Set(xPos,yPos);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   520
        md.collideConnected = true;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   521
        md.maxForce         = 50* myobj.GetBody().GetMass();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   522
        mouseJoint          = world.CreateJoint(md);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   523
      mouseJoint.SetTarget(new b2Vec2(targetX/scale, targetY/scale));
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   524
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   525
      // ADD INFO IN OBJECT
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   526
      myobj.m_userData  = {type:"PieBall",familyID:family,fillColor:colorScale(family)}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   527
      categorys[family].value+=1;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   528
      //setTimeout(function(){mouseJoint.SetTarget(chart.position.x/scale, chart.position.y/scale)},1000);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   529
      categorys[family].joins.push(mouseJoint); 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   530
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   531
      return myobj;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   532
    },
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   533
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   534
    createDataBallPie:function (world,target, x, y,size,family) {
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   535
      console.log(target)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   536
      var xPos = categorys[family].incomingPoint.x/scale+(Math.random()*2/scale);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   537
      var yPos = categorys[family].incomingPoint.y/scale;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   538
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   539
      // CREATE BALL
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   540
      var fixDef           = new Box2D.Dynamics.b2FixtureDef;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   541
        fixDef.density     = 0.1;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   542
        fixDef.friction    = 0.0;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   543
        fixDef.restitution = 0.0;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   544
        fixDef.shape       = new Box2D.Collision.Shapes.b2CircleShape(size/scale);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   545
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   546
        var bodyDef = new Box2D.Dynamics.b2BodyDef;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   547
      bodyDef.type = Box2D.Dynamics.b2Body.b2_dynamicBody;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   548
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   549
        bodyDef.position.x = xPos;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   550
        bodyDef.position.y = yPos;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   551
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   552
      // I need a distinct list with bodies (and not fixtures)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   553
      var myo = world.CreateBody(bodyDef);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   554
        myo.m_userData={type:"PieBall",familyID:family,fillColor:categorys[family].color}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   555
        
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   556
        listBodies.push(myo);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   557
      var myobj = myo.CreateFixture(fixDef);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   558
      
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   559
      //CREATE JOIN MOUVEMENT TO TARGET
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   560
      var md = new b2MouseJointDef();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   561
        md.bodyA = world.GetGroundBody();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   562
        md.bodyB = myobj.GetBody();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   563
        md.target.Set(xPos,yPos);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   564
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   565
        md.collideConnected = true;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   566
        md.maxForce = 100* myobj.GetBody().GetMass();
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   567
        mouseJoint = world.CreateJoint(md);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   568
      mouseJoint.SetTarget(new b2Vec2(target.position.x/scale, target.position.y/scale));
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   569
      
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   570
      // ADD INFO IN OBJECT
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   571
      myobj.m_userData={type:"PieBall",familyID:family,fillColor:colorScale(family)}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   572
      categorys[family].value+=1;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   573
      //setTimeout(function(){mouseJoint.SetTarget(chart.position.x/scale, chart.position.y/scale)},1000);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   574
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   575
      return myobj;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   576
    },
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   577
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   578
    createDataBall:function (_this, x, y,size) { 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   579
      var fixDef      = new Box2D.Dynamics.b2FixtureDef;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   580
        fixDef.density    = 1.0;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   581
        fixDef.friction   = 0.5;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   582
        fixDef.restitution  = 0.2;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   583
        fixDef.shape    = new Box2D.Collision.Shapes.b2CircleShape(size/_this.settings.options.scale);
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   584
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   585
      var bodyDef = new Box2D.Dynamics.b2BodyDef;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   586
      bodyDef.type = Box2D.Dynamics.b2Body.b2_dynamicBody;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   587
        bodyDef.position.x = x;//+(Math.random())
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   588
        bodyDef.position.y = y;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   589
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   590
      var myobj = _this.world.CreateBody(bodyDef).CreateFixture(fixDef)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   591
      myobj.m_userData={type:"PieBall",
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   592
                familyID:'family',// add family ///
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   593
                fillColor:"rgb(200,0,0)"}// add color 
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   594
    
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   595
      //console.log(myobj)
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   596
      return myobj;
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   597
    },
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   598
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   599
}
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   600
88666afffe6b Cinebuzz with strata
veltr
parents: 28
diff changeset
   601
})(jQuery);