Exemplo n.º 1
0
 /**
  * Set value range for given axis. Default range is [0,0] which
  * means automatic range.
  */
 public void set_range(Range r, AxisMask a)
 {
     for (int i = 0; i < _axes_bits.Length; i++)
     {
         if (((int)a & _axes_bits[i]) != 0)
         {
             _axes[i]._range = r;
         }
     }
 }
Exemplo n.º 2
0
 /**
  * This set axis label
  */
 public void set_label(string label, AxisMask a)
 {
     for (int i = 0; i < _axes_bits.Length; i++)
     {
         if (((int)a & _axes_bits[i]) != 0)
         {
             _axes[i]._label = label;
         }
     }
 }
Exemplo n.º 3
0
 /**
  * @This sets axes visibility.
  */
 public void set_show_axes(bool show, AxisMask a)
 {
     for (int i = 0; i < _axes_bits.Length; i++)
     {
         if (((int)a & _axes_bits[i]) != 0)
         {
             _axes[i]._axis = show;
         }
     }
 }
Exemplo n.º 4
0
 /**
  * @This sets tics count. @see {set_tics_step, set_tics_base}
  */
 public void set_tics_count(int count, AxisMask a)
 {
     for (int i = 0; i < _axes_bits.Length; i++)
     {
         if (((int)a & _axes_bits[i]) != 0)
         {
             _axes[i]._count     = count;
             _axes[i]._step_mode = step_mode_e.step_count;
         }
     }
 }
Exemplo n.º 5
0
 /**
  * This sets distance between axis tics to specified value.
  * see set_tics_count, set_tics_base
  */
 void set_tics_step(double step, AxisMask a)
 {
     for (int i = 0; i < _axes_bits.Length; i++)
     {
         if (((int)a & _axes_bits[i]) != 0)
         {
             _axes[i]._step_base = step;
             _axes[i]._step_mode = step_mode_e.step_interval;
         }
     }
 }
Exemplo n.º 6
0
 /**
  * @This sets tics value visibility. When frame is visible,
  * tics value is located on frame tics instead of axes tics.
  * @see {set_show_axes, set_show_frame}
  */
 void set_show_values(bool show, AxisMask a)
 {
     for (int i = 0; i < _axes_bits.Length; i++)
     {
         if (((int)a & _axes_bits[i]) != 0)
         {
             _axes[i]._values = show;
             _axes[i]._tics  |= show;
             _axes[i]._axis  |= show;
         }
     }
 }
Exemplo n.º 7
0
 /**
  * @This sets distance between axis tics to best fit power of
  * specified base divided by sufficient factor of 2 and 5 to
  * have at least @tt min_count tics. @see {set_tics_step,
  * set_tics_count}
  */
 void set_tics_base(int min_count, double base_, AxisMask a)
 {
     for (int i = 0; i < _axes_bits.Length; i++)
     {
         if (((int)a & _axes_bits[i]) != 0)
         {
             _axes[i]._count     = min_count;
             _axes[i]._step_base = base_;
             _axes[i]._step_mode = step_mode_e.step_base;
         }
     }
 }
Exemplo n.º 8
0
 /**
  * This sets axis unit.
  * <p>
  * When @tt pow10_scale is set, value will be scaled to shorten
  * their length and appropriate power of 10 factor will be
  * displayed in axis label.
  * <p>
  * If @tt si_prefix is set, SI letter decimal prefix is used
  * and the @tt pow10 parameter can be used to scale base unit
  * by power of ten (useful when input data use scaled SI base unit).
  */
 public void set_unit(string unit, bool pow10_scale,
                      bool si_prefix, int pow10, AxisMask a)
 {
     for (int i = 0; i < _axes_bits.Length; i++)
     {
         if (((int)a & _axes_bits[i]) != 0)
         {
             _axes[i]._si_prefix   = si_prefix;
             _axes[i]._unit        = unit;
             _axes[i]._pow10_scale = pow10_scale;
             _axes[i]._pow10       = pow10;
         }
     }
 }
Exemplo n.º 9
0
 public static Vector3 Mask(this AxisMask mask, Vector3 src)
 {
     if (!mask.HasFlag(AxisMask.X))
     {
         src.x = 0;
     }
     if (!mask.HasFlag(AxisMask.Y))
     {
         src.y = 0;
     }
     if (!mask.HasFlag(AxisMask.Z))
     {
         src.z = 0;
     }
     return(src);
 }
Exemplo n.º 10
0
        protected float DrawVerticalAxis(SerializedProperty element, int axis, AxisMask mask)
        {
            //EditorGUILayout.BeginHorizontal();

            bool  use    = ((int)mask & (1 << axis)) != 0;
            float oldval = element.vector3Value[axis];

            EditorGUI.BeginDisabledGroup(!use);
            //EditorGUILayout.LabelField(" ?", GUILayout.MaxWidth(AXIS_LAB_WID));
            float newval = EditorGUILayout.DelayedFloatField(oldval, GUILayout.MinWidth(FLOAT_WIDTH));

            newval = (use) ? newval : 0;
            EditorGUI.EndDisabledGroup();

            //EditorGUILayout.EndHorizontal();

            return(newval);
        }
Exemplo n.º 11
0
        protected void DrawAxes(SerializedProperty v3, AxisMask axis)
        {
            const float FLOAT_WIDTH = 10f;
            var         oldval      = v3.vector3Value;

            float x, y, z;

            bool usex = (axis & AxisMask.X) != 0;
            bool usey = (axis & AxisMask.Y) != 0;
            bool usez = (axis & AxisMask.Z) != 0;

            /// X
            EditorGUI.BeginDisabledGroup(!usex);
            EditorGUILayout.LabelField(" x", GUILayout.MaxWidth(AXIS_LAB_WID));
            float newx = EditorGUILayout.DelayedFloatField(oldval.x, GUILayout.MinWidth(FLOAT_WIDTH));

            x = (usex) ? newx : 0;
            EditorGUI.EndDisabledGroup();

            /// Y
            EditorGUI.BeginDisabledGroup(!usey);
            EditorGUILayout.LabelField(" y", GUILayout.MaxWidth(AXIS_LAB_WID));
            float newy = EditorGUILayout.DelayedFloatField(oldval.y, GUILayout.MinWidth(FLOAT_WIDTH));

            y = (usey) ? newy : 0;
            EditorGUI.EndDisabledGroup();


            /// Z
            EditorGUI.BeginDisabledGroup(!usez);
            EditorGUILayout.LabelField(" z", GUILayout.MaxWidth(AXIS_LAB_WID));
            float newz = EditorGUILayout.DelayedFloatField(oldval.z, GUILayout.MinWidth(FLOAT_WIDTH));

            z = (usez) ? newz : 0;
            EditorGUI.EndDisabledGroup();

            var newval = new Vector3(x, y, z);

            if (v3.vector3Value != newval)
            {
                v3.vector3Value = newval;
            }
        }
Exemplo n.º 12
0
        protected void DrawAxes(SerializedProperty v3, AxisMask axis)
        {
            var oldval = v3.vector3Value;

            float x, y, z;

            bool usex = (axis & AxisMask.X) != 0;
            bool usey = (axis & AxisMask.Y) != 0;
            bool usez = (axis & AxisMask.Z) != 0;

            x = DrawAxis(" x", !usex, oldval.x);
            y = DrawAxis(" y", !usey, oldval.y);
            z = DrawAxis(" z", !usez, oldval.z);

            var newval = new Vector3(x, y, z);

            if (v3.vector3Value != newval)
            {
                v3.vector3Value = newval;
            }
        }
Exemplo n.º 13
0
 public static ref readonly Vector3Int GetMask(this AxisMask mask)
 {
     return(ref Masks[(int)mask]);