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)); } }
/// <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);