/** * 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; } } }
/** * 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; } } }
/** * @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; } } }
/** * @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; } } }
/** * 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; } } }
/** * @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; } } }
/** * @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; } } }
/** * 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; } } }
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); }
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); }
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; } }
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; } }
public static ref readonly Vector3Int GetMask(this AxisMask mask) { return(ref Masks[(int)mask]);