    package flare.vis.operator.layout
    {
        import flare.vis.data.Data;
        import flare.vis.data.DataSprite;

        import flash.geom.Rectangle;

        /**
         * Layout that places nodes randomly within the layout bounds.
         */
        public class RandomLayout extends Layout
        {
            /** The data group to layout. */
            public var group:String;

            /**
             * Creates a new RandomLayout instance.
             * @param group the data group to layout
             */
            public function RandomLayout(group:String=Data.NODES) {
                this.group = group;
            }

            /** @inheritDoc */
            protected override function layout():void
            {
                var r:Rectangle = layoutBounds;
                visualization.data.visit(function(d:DataSprite):void
                {
                    var o:Object = _t.$(d);
                    o.x = r.x + r.width * Math.random();
                    o.y = r.y + r.height * Math.random();
                }, group);
            }

        } // end of class RandomLayout
    }