diff -r c21cffd36f98 -r 84719280c84d integ/js/vs/_vs.old.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/integ/js/vs/_vs.old.js Fri Apr 12 15:08:00 2013 +0200 @@ -0,0 +1,174 @@ +// .................................................................... +// Bar Chart Plug In +// .................................................................... +(function($){ + +var VisualSedimentation = function(element,options){ + + var elem = $(element); + var self = this; + + var world; + var nBodies = []; + var B2D; + var canvas; + var b2Vec2 = Box2D.Common.Math.b2Vec2 + , b2AABB = Box2D.Collision.b2AABB + , b2BodyDef = Box2D.Dynamics.b2BodyDef + , b2Body = Box2D.Dynamics.b2Body + , b2FixtureDef = Box2D.Dynamics.b2FixtureDef + , b2Fixture = Box2D.Dynamics.b2Fixture + , b2World = Box2D.Dynamics.b2World + , b2MassData = Box2D.Collision.Shapes.b2MassData + , b2PolygonShape = Box2D.Collision.Shapes.b2PolygonShape + , b2CircleShape = Box2D.Collision.Shapes.b2CircleShape + , b2DebugDraw = Box2D.Dynamics.b2DebugDraw + , b2MouseJointDef = Box2D.Dynamics.Joints.b2MouseJointDef + , b2Shape = Box2D.Collision.Shapes.b2Shape + , b2DistanceJointDef = Box2D.Dynamics.Joints.b2DistanceJointDef + , b2RevoluteJointDef = Box2D.Dynamics.Joints.b2RevoluteJointDef + , b2Joint = Box2D.Dynamics.Joints.b2Joint + , b2PrismaticJointDef= Box2D.Dynamics.Joints.b2PrismaticJointDef + , b2ContactListener = Box2D.Dynamics.b2ContactListener + , b2Settings = Box2D.Common.b2Settings; + + + // Default options + var defaultSettings = { + width:500, + height:440, + layout:'StackedAreaChart',// AxisLabelLayout, AxisLayout, CircleLayout, CollapsedStackLayout, GridLayout, StackedAreaChart + data:{initial:[{label:'Label A',value:20}, + {label:'Label B',value:10}, + {label:'Label C',value:10}], + stream:{provider:"generator", + frequency:1000/60 + }, + } + , + sedimentation:{ + token:{size:20}, // fill color, shape, + flocullate:{ + limit:5, // object size limit before floculate = 2pixels + animation:"collective", // [step,group,bySet] + action:"buffer", // [buffer,continue] + startegy:"Size", // [BufferSize, Time, AcummulationAreaHeight, Fps, Manual] + bufferSize:50, // number of token to make floculation + bufferTime:10000, // time buffer to make flocullation + bufferHeight:50, // height (pixel) to make floculation + bufferFrameRate:25 // if the computer is to slow floculate + }, + suspension:{height:null,incomming:'top'}, // pixel,pourcent,adaptative + accumulation:{height:null}, // pixel,pourcent,adaptative + agregation:{height:300}, // pixel,pourcent,adaptative + }, + options:{spacer:10, + wallColor:"rgba(230,230,230,0)", + label:true, + panel:true, + refresh:1000/1000, + panel:false + } + } + // Merge options with defaults + this.settings = $.extend(defaultSettings, options || {}); + + // Public method + this.publicMethod = function(){ + console.log('publicMethod() called!'); + }; + + // Initialisation - Private method + this.init = function(){ + console.log(this.settings) + console.log('Initialisation'); + //console.log(defaultSettings); + // Create the physical simulation + world = new b2World( + new b2Vec2(0, 10) //gravity + , true //allow sleep + ); + + // Create container and canvas for physical simulation drawing + var container = element.appendChild(document.createElement("div")); + container.id = "boxsediviz" + canvas = container.appendChild(document.createElement("canvas")); + canvas.id = "canvas"; + canvas.width = this.settings.width; // TOFIX + canvas.height = this.settings.height; + console.log(element) + + //Update the physical simulation + window.setInterval(update, 1000 / 60); + }; + + var update = function () { + world.Step(1 / 60, 10, 10); + world.DrawDebugData(); + world.ClearForces(); + } + + var drawInit = function(){ + ctx = canvas.getContext("2d"); + ctx.fillStyle = "rgb(200,0,0)"; + ctx.font = "14pt Calibri,Geneva,Arial"; + ctx.fillText("Canvas ready for Visual Sedimentation ", 10, 20); + window.setInterval( + $.fn.vs.draw.refresh(ctx,world,this.settings) + , this.settings.options.refresh); + console.log("draw Init ") + } + + this.stream = $.fn.vs.stream; + this.draw = $.fn.vs.draw; + this.tokens = $.fn.vs.tokens; + this.decay = $.fn.vs.decay; + this.flocculate = $.fn.vs.flocculate; + + + this.init(); + //drawInit(); + + this.stream.test(); + }; + +visualSedimentation.fn = VisualSedimentation.prototype = { + // API Methods + hide: function() { + this.node.style.display = 'none'; + return this; + }, + + /* gr:function(){ + console.log("test ....") + }*/ + // More methods here, each using 'return this', to enable chaining +}; + + +visualSedimentation.fn.gr= function(){ + console.log("ici VsBarChart.fn.draw") +}; + +$.fn.visualSedimentation = VisualSedimentation; + +$.fn.vs = function(f,options){ + console.log(this); + return this.each(function(){ + var element = $(this); + // Return early if this element already has a plugin instance + if (element.data('VisualSedimentation')) return; + var visualSedimentation = new VisualSedimentation(this,options); + // Store plugin object in this element's data + element.data('visualSedimentation', visualSedimentation); + //visualSedimentation.test(); + }); + }; +$.fn.visualSedimentation.vs = VisualSedimentation; + +})(jQuery); + + + + +