public override AETV SpanMetaVisFor(AxisPair axes, int dataSetID, out MetaVisType type)
        {
            var o = new GameObject("Dummy MetaVis");

            type = MetaVisType.FLEXIBLE_LINKED_AXES;
            return(o.AddComponent <NullETV>());
        }
        public override AETV SpanMetaVisFor(AxisPair axes, int dataSetID, out MetaVisType type)
        {
            // calculate distance between their origins
            var originDist = Vector3.Distance(axes.A.GetAxisBaseGlobal(), axes.B.GetAxisBaseGlobal());
            // use existing axes (if origins are very close to each other), or create duplicates?
            var createDuplicates = (originDist > .2f);

            // Which metavisualization will do?
            switch (type = WhichMetaVis(axes, dataSetID))
            {
            case MetaVisType.SCATTERPLOT_2D:
                return(SpanMetaVisScatterplot2D(axes, dataSetID, createDuplicates));

            case MetaVisType.HEATMAP:
                return(SpanMetaVisHeatmap3D(axes, dataSetID, createDuplicates));

            default:
                return(SpanMetaVisImmersiveAxis(axes, dataSetID));
            }
        }
Example #3
0
        /// <summary>
        /// Removes the given axis from the list of permanently observed axes.
        /// Use this, when destroying or disabling a visualization.
        /// </summary>
        /// <param name="axis"></param>

        /// <summary>
        /// Generate a metavisualization between the given axes.
        /// </summary>
        /// <param name="axisA"></param>
        /// <param name="axisB"></param>
        /// <returns>A new metavisualization</returns>
        public abstract AETV SpanMetaVisFor(AxisPair pair, int dataSetID, out MetaVisType type);