Example #1
0
 public ILDXAxis (AxisNames name, ILClippingData clippingView, 
                 ILLayoutData layoutData,ILDXPanel panel) 
     : base (name,clippingView, layoutData) {
     m_dxPanel = panel; 
     m_dxPanel.GraphicsDeviceReset += new ILGraphicsDeviceResetEvent(recreateVertexBuffer);
     m_dxPanel.GraphicsDeviceCreated += new ILGraphicsDeviceCreatedEvent(initialize);
 }
Example #2
0
        private void configureAxis(AxisNames axis
                                   , ICollection <string> values)
        {
            ILTickCollection labels = m_panel.Axes[axis].LabeledTicks;

            if (values != null)
            {
                labels.Mode = TickMode.Manual;
                labels.Clear();
                int pos     = 1;
                int axisIdx = (axis == AxisNames.XAxis) ?
                              1 : (axis == AxisNames.YAxis) ?
                              0 : 1;
                foreach (string labelString in values)
                {
                    if (pos > m_data.Dimensions[axisIdx])
                    {
                        break;
                    }
                    labels.Add(pos++, labelString);
                }
            }
            else
            {
                labels.Mode = TickMode.Auto;
            }
        }
Example #3
0
 /// <summary>
 /// construct ILAxis object. This contructor is not to be called directly.
 /// </summary>
 /// <param name="name">type of the axis: XAxis,YAxis,ZAxis</param>
 /// <param name="clippingView">Clipping data to be registered into the axis.</param>
 /// <param name="layoutData">additional layout data, does currently only contain the camera [depricated]</param>
 /// <param name="panel">panel hosting the scene</param>
 /// <remarks>ILAxis objects are created GL-device dependend by use of a device dependend ILPanel instance's
 /// member ILPanel.CreateAxis(). This acts like a factory pattern. The specific axis derivate will be
 /// created by the derived ILPanel object (ILDXPanel or ILOGLPanel).</remarks>
 public ILAxis(AxisNames name, ILClippingData clippingView,
               ILLayoutData layoutData, ILPanel panel)
 {
     m_panel                 = panel;
     m_axisName              = name;
     m_labeledTicks          = new ILTickCollection(panel, m_axisName);
     m_layoutData            = layoutData;
     m_labelProvider         = null;
     m_labeledTicks.Changed += new AxisChangedEventHandler(m_labeledTicks_Changed);
     m_unLabeledTicks        = new List <UnlabeledTick>(10);
     m_grid                   = new ILLineProperties();
     m_grid.Style             = LineStyle.Dashed;
     m_grid.Changed          += new EventHandler(m_grid_Changed);
     m_clipping               = clippingView;
     m_axisType               = AxisType.Linear;
     m_nearLines              = new ILLineProperties();
     m_nearLines.Color        = Color.DarkBlue;
     m_nearLines.Width        = 1;
     m_nearLines.Antialiasing = true;
     m_nearLines.Changed     += new EventHandler(m_grid_Changed);
     m_farLines               = new ILLineProperties();
     m_farLines.Color         = Color.DarkBlue;
     m_farLines.Width         = 1;
     m_farLines.Antialiasing  = true;
     m_farLines.Changed      += new EventHandler(m_grid_Changed);
     m_label                  = new ILLabel(panel);
     m_label.Changed         += new EventHandler(m_label_Changed);
     m_clipping.Changed      += new ILClippingDataChangedEvent(m_clipping_Changed);
     m_invalidated            = true;
 }
 internal void OnChanged(ILAxis sender, AxisNames axis)
 {
     if (Changed != null)
     {
         Changed(sender, new ILAxisChangedEventArgs(axis));
     }
 }
        /// <summary>
        /// Get / set ILAxis by name enum
        /// </summary>
        /// <param name="name">one of the enum values: XAxis, YAxis, ZAxis</param>
        /// <returns>ILAxis specified by name</returns>
        /// <value>new ILAxis to be stored into the collection</value>
        public ILAxis this[AxisNames name] {
            get {
                switch (name)
                {
                case AxisNames.XAxis:
                    return(m_axes[0]);

                    break;

                case AxisNames.YAxis:
                    return(m_axes[1]);

                    break;

                default:
                    return(m_axes[2]);

                    break;
                }
            }
            set {
                m_axes [(int)name] = value;
                Invalidate();
            }
        }
Example #6
0
 public ILDXAxis(AxisNames name, ILClippingData clippingView,
                 ILLayoutData layoutData, ILDXPanel panel)
     : base(name, clippingView, layoutData)
 {
     m_dxPanel = panel;
     m_dxPanel.GraphicsDeviceReset   += new ILGraphicsDeviceResetEvent(recreateVertexBuffer);
     m_dxPanel.GraphicsDeviceCreated += new ILGraphicsDeviceCreatedEvent(initialize);
 }
Example #7
0
 internal ILOGLAxis (AxisNames name, ILClippingData clippingView,
                     ILLayoutData layoutData,
                     ILOGLPanel panel)
     : base (name,clippingView,layoutData,panel) {
     m_invalidated = true;
     panel.GraphicsDeviceCreated += new ILGraphicsDeviceCreatedEvent(initialize);
     panel.GraphicsDeviceReset += new ILGraphicsDeviceResetEvent(configure);
 }
Example #8
0
 internal ILOGLAxis(AxisNames name, ILClippingData clippingView,
                    ILLayoutData layoutData,
                    ILOGLPanel panel)
     : base(name, clippingView, layoutData, panel)
 {
     m_invalidated = true;
     panel.GraphicsDeviceCreated += new ILGraphicsDeviceCreatedEvent(initialize);
     panel.GraphicsDeviceReset   += new ILGraphicsDeviceResetEvent(configure);
 }
Example #9
0
 /// <summary>
 /// creates new ILTickCollection
 /// </summary>
 /// <param name="axisName"></param>
 public ILTickCollection(ILPanel panel, AxisNames axisName)
     : base(panel, new Font(FontFamily.GenericMonospace, 10.0f), Color.Black)
 {
     m_panel         = panel;
     m_ticks         = new List <LabeledTick>();
     m_axisName      = axisName;
     m_precision     = 4;
     m_padding       = 5;
     m_tickColorFar  = Color.Black;
     m_tickColorNear = Color.Black;
     m_tickDisplay   = TickDisplay.LabelSide;
     m_tickMode      = TickMode.Auto;
     m_tickFraction  = 0.015f;
     m_renderingHint = TickLabelRenderingHint.Auto;
 }
Example #10
0
 /// <summary>
 /// Get / set ILAxis by name enum
 /// </summary>
 /// <param name="name">one of the enum values: XAxis, YAxis, ZAxis</param>
 /// <returns>ILAxis specified by name</returns>
 /// <value>new ILAxis to be stored into the collection</value>
 public ILAxis this[AxisNames name] {
     get {
         switch (name) {
             case AxisNames.XAxis:
                 return m_axes[0];
                 break;
             case AxisNames.YAxis:
                 return m_axes[1];
                 break;
             default:
                 return m_axes[2];
                 break;
         }
     } 
     set {
         m_axes [(int)name] = value; 
         Invalidate(); 
     }
 }
Example #11
0
        /// <summary>
        /// Create Axis (device dependent)
        /// </summary>
        /// <param name="name">specfies axis name (X,Y,ZAxis)</param>
        /// <param name="clippingView">the global clipping view object for the axis</param>
        /// <param name="parameters">user defined parameters (implementation dependent)</param>
        /// <returns>ILAXis object</returns>
        public ILAxis CreateAxis(AxisNames name, ILClippingData clippingView, params object[] parameters)
        {
            switch (name)
            {
            case AxisNames.XAxis:
                return(new ILOGLXAxis(clippingView, m_layoutData, this));

                break;

            case AxisNames.YAxis:
                return(new ILOGLYAxis(clippingView, m_layoutData, this));

                break;

            default:
                return(new ILOGLZAxis(clippingView, m_layoutData, this));

                break;
            }
        }
Example #12
0
 /// <summary>
 /// construct a new instance
 /// </summary>
 /// <param name="name"></param>
 public ILAxisChangedEventArgs(AxisNames name)
 {
     AxisName = name;
 }
Example #13
0
 private void configureAxis(AxisNames axis
                             , ICollection<string> values) {
     ILTickCollection labels = m_panel.Axes[axis].LabeledTicks;
     if (values != null) {
         labels.Mode = TickMode.Manual;
         labels.Clear();
         int pos = 1;
         int axisIdx = (axis == AxisNames.XAxis) ?
             1 : (axis == AxisNames.YAxis) ?
             0 : 1; 
         foreach (string labelString in values) {
             if (pos > m_data.Dimensions[axisIdx])
                 break;
             labels.Add(pos++, labelString); 
         }
     } else {
         labels.Mode = TickMode.Auto; 
     }
 }
Example #14
0
 /// <summary>
 /// create device dependent axis object (Direct3D)
 /// </summary>
 /// <param name="name">axis type: XAxis,YAxis,ZAxis</param>
 /// <param name="parameters">not used</param>
 /// <returns>ILDXAxis object for use with ILDXPanel (Direct3D)</returns>
 public override ILAxis CreateAxis(AxisNames name, ILClippingData clippingView, params object[] parameters) {
     return new ILDXAxis(name,clippingView,m_layoutData,this); 
 }
Example #15
0
        public bool LoadBindingsFile()
        {
            devices = new Dictionary <string, Device>();     // clear
            values  = new Dictionary <string, string>();

            string path = System.IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), @"Frontier Developments\Elite Dangerous\Options\Bindings");

            string optsel = System.IO.Path.Combine(path, "StartPreset.start");

            try
            {
                string sel = System.IO.File.ReadAllText(optsel);
                System.Diagnostics.Debug.WriteLine("Bindings file " + sel);

                FileInfo[] allFiles = Directory.EnumerateFiles(path, sel + "*.binds", SearchOption.TopDirectoryOnly).Select(f => new System.IO.FileInfo(f)).OrderByDescending(p => p.LastWriteTime).ToArray();

                if (allFiles.Length >= 1)
                {
                    XElement bindings = XElement.Load(allFiles[0].FullName);

                    foreach (XElement x in bindings.Elements())
                    {
                        //System.Diagnostics.Debug.WriteLine("Reader " + x.NodeType + " " + x.Name);

                        if (x.HasElements)
                        {
                            foreach (XElement y in x.Descendants())
                            {
                                if (y.Name == "Binding")
                                {
                                    AxisNames.Add(x.Name.LocalName);
                                    AssignToDevice(x, y);
                                }
                                else if (y.Name == "Primary" || y.Name == "Secondary")
                                {
                                    //System.Diagnostics.Debug.WriteLine("Binding Point " + x.NodeType + " " + x.Name + " Element " + y.Name);
                                    KeyNames.Add(x.Name.LocalName);
                                    AssignToDevice(x, y);
                                }
                                else
                                {
                                    foreach (XAttribute z in y.Attributes())
                                    {
                                        values[x.Name + "." + y.Name + ChkValue(z.Name.ToString())] = z.Value;
                                    }
                                }
                            }
                        }

                        if (x.HasAttributes)
                        {
                            foreach (XAttribute y in x.Attributes())
                            {
                                values[x.Name + ChkValue(y.Name.ToString())] = y.Value;
                            }
                        }
                    }
                    return(true);
                }
            }
            catch
            {
            }

            return(false);
        }
Example #16
0
 /// <summary>
 /// Create Axis (device dependent)
 /// </summary>
 /// <param name="name">specfies axis name (X,Y,ZAxis)</param>
 /// <param name="clippingView">the global clipping view object for the axis</param>
 /// <param name="parameters">user defined parameters (implementation dependent)</param>
 /// <returns>ILAXis object</returns>
 public ILAxis CreateAxis(AxisNames name, ILClippingData clippingView, params object[] parameters) {
     switch (name) {
         case AxisNames.XAxis:
             return new ILOGLXAxis(clippingView, m_layoutData, this);
             break;
         case AxisNames.YAxis:
             return new ILOGLYAxis(clippingView, m_layoutData, this);
             break;
         default:
             return new ILOGLZAxis(clippingView, m_layoutData, this);
             break;
     } 
 }
Example #17
0
 internal void OnChanged(ILAxis sender, AxisNames axis) {
     if (Changed != null) 
         Changed(sender ,new ILAxisChangedEventArgs(axis));
 }
Example #18
0
 /// <summary>
 /// construct a new instance 
 /// </summary>
 /// <param name="name"></param>
 public ILAxisChangedEventArgs (AxisNames name) {
     AxisName = name; 
 }
Example #19
0
 /// <summary>
 /// create device dependent axis object (Direct3D)
 /// </summary>
 /// <param name="name">axis type: XAxis,YAxis,ZAxis</param>
 /// <param name="parameters">not used</param>
 /// <returns>ILDXAxis object for use with ILDXPanel (Direct3D)</returns>
 public override ILAxis CreateAxis(AxisNames name, ILClippingData clippingView, params object[] parameters)
 {
     return(new ILDXAxis(name, clippingView, m_layoutData, this));
 }