コード例 #1
0
ファイル: OGLControl.cs プロジェクト: whigg/PointClouds
        public OGLControl() : base()
        {
            try
            {
                if (!GLSettings.IsInitializedFromSettings)
                {
                    GLSettings.InitFromSettings();
                }



                BackColor = GLSettings.BackColor;
                CreateMenu();
                GLrender = new OpenGLContext(this);
                System.Diagnostics.Debug.WriteLine("====> ThreadID OpenControl : " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString());
                timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer_Tick);


                this.ModelViewMode = ModelViewMode.Camera;
            }
            catch (Exception err)
            {
                System.Windows.Forms.MessageBox.Show("Error in OGLControl constructur : " + err.Message);
            }
        }
コード例 #2
0
    /// <summary>
    /// 删除models表信息时 添加删除索引请求至队列
    /// </summary>
    /// <param TITLE="bID"></param>
    public void Del(int bID)
    {
        ModelViewMode mvm = new ModelViewMode();

        mvm.ID = bID;
        mvm.IT = IndexType.Delete;
        bookQueue.Enqueue(mvm);
    }
コード例 #3
0
    /// <summary>
    /// 修改models表信息时 添加修改索引(实质上是先删除原有索引 再新增修改后索引)请求至队列
    /// </summary>
    /// <param TITLE="models"></param>
    public void Mod(SUC_NEWS news)
    {
        ModelViewMode mvm = new ModelViewMode();

        mvm.ID      = news.ID;
        mvm.TITLE   = news.TITLE;
        mvm.IT      = IndexType.Modify;
        mvm.CONTENT = news.CONTENT;
        mvm.URL     = news.pandaWebUrl;
        bookQueue.Enqueue(mvm);
    }
コード例 #4
0
        public OGLControl()
            : base()
        {
            if (!GLSettings.IsInitializedFromSettings)
            {
                GLSettings.InitFromSettings();
            }

            BackColor = GLSettings.BackColor;
            CreateMenu();
            GLrender = new OpenGLContext(this);
            System.Diagnostics.Debug.WriteLine("====> ThreadID OpenControl : " + System.Threading.Thread.CurrentThread.ManagedThreadId.ToString());
            timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer_Tick);


            this.ModelViewMode = ModelViewMode.Camera;
        }
コード例 #5
0
    /// <summary>
    /// 更新索引库操作
    /// </summary>
    private void CRUDIndex()
    {
        FSDirectory directory = FSDirectory.Open(new DirectoryInfo(indexPath), new NativeFSLockFactory());
        bool        isExist   = IndexReader.IndexExists(directory);

        if (isExist)
        {
            if (IndexWriter.IsLocked(directory))
            {
                IndexWriter.Unlock(directory);
            }
        }
        IndexWriter writer = new IndexWriter(directory, new PanGuAnalyzer(), !isExist, IndexWriter.MaxFieldLength.UNLIMITED);

        while (bookQueue.Count > 0)
        {
            Document      document = new Document();
            ModelViewMode model    = bookQueue.Dequeue();
            if (model.IT == IndexType.Insert)
            {
                document.Add(new Field("ID", model.ID.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED));
                document.Add(new Field("TITLE", model.TITLE, Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS));
                document.Add(new Field("CONTENT", model.CONTENT, Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS));
                document.Add(new Field("URL", model.URL, Field.Store.YES, Field.Index.NOT_ANALYZED));
                writer.AddDocument(document);
            }
            else if (model.IT == IndexType.Delete)
            {
                writer.DeleteDocuments(new Term("ID", model.ID.ToString()));
            }
            else if (model.IT == IndexType.Modify)
            {
                //先删除 再新增
                writer.DeleteDocuments(new Term("ID", model.ID.ToString()));
                document.Add(new Field("ID", model.ID.ToString(), Field.Store.YES, Field.Index.NOT_ANALYZED));
                document.Add(new Field("TITLE", model.TITLE, Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS));
                document.Add(new Field("CONTENT", model.CONTENT, Field.Store.YES, Field.Index.ANALYZED, Field.TermVector.WITH_POSITIONS_OFFSETS));
                document.Add(new Field("URL", model.URL, Field.Store.YES, Field.Index.NOT_ANALYZED));
                writer.AddDocument(document);
            }
        }
        writer.Close();
        directory.Close();
    }
コード例 #6
0
ファイル: OGLControl.cs プロジェクト: whigg/PointClouds
 protected override void OnKeyUp(KeyEventArgs e)
 {
     if (e.KeyCode == Keys.M)
     {
         ModelViewMode = ModelViewMode.ReadOnly;
     }
     if (e.KeyCode == Keys.C)
     {
         ModelViewMode = ModelViewMode.ReadOnly;
     }
     if (e.KeyCode == Keys.F)
     {
         ModelViewMode = ModelViewMode.ReadOnly;
     }
     if (e.KeyCode == Keys.Y)
     {
         this.GLrender.CutUndo();
         this.Invalidate();
         this.Refresh();
     }
 }
コード例 #7
0
ファイル: OGLControl.cs プロジェクト: whigg/PointClouds
        protected override void OnKeyDown(KeyEventArgs e)
        {
            if (e.KeyCode == Keys.ControlKey)
            {
                if (this.mouseClicked)
                {
                    menu.Left = this.GLrender.Camera.XTrans;
                    menu.Top  = this.GLrender.Camera.YTrans;

                    menu.Show();
                }
            }
            if (e.KeyCode == Keys.M)
            {
                ModelViewMode = ModelViewMode.ModelMove;
            }
            if (e.KeyCode == Keys.C)
            {
                ModelViewMode = ModelViewMode.Cut;
            }
            if (e.KeyCode == Keys.F)
            {
                ModelViewMode = ModelViewMode.ChangeFieldOfView;
            }

            //if (e.KeyCode == Keys.S)
            //{
            //    this.GLrender.Camera.CenterOfInterest += (float)this.GLrender.Camera.zFar * 0.002f * this.GLrender.Camera.X;
            //    this.GLrender.Camera.Position += (float)this.GLrender.Camera.zFar * 0.002f * this.GLrender.Camera.X;
            //    flag = true;
            //}
            //if (e.KeyCode == Keys.A)
            //{
            //    this.GLrender.Camera.CenterOfInterest -= (float)this.GLrender.Camera.zFar * 0.001f * this.GLrender.Camera.Z;
            //    this.GLrender.Camera.Position -= (float)this.GLrender.Camera.zFar * 0.001f * this.GLrender.Camera.Z;
            //    flag = true;
            //}
            //if (e.KeyCode == Keys.D)
            //{
            //    this.GLrender.Camera.CenterOfInterest += (float)this.GLrender.Camera.zFar * 0.001f * this.GLrender.Camera.Z;
            //    this.GLrender.Camera.Position += (float)this.GLrender.Camera.zFar * 0.001f * this.GLrender.Camera.Z;
            //    flag = true;
            //}
            //float num1 = Convert.ToSingle(Math.Cos(0.01f));
            //float num2 = Convert.ToSingle(Math.Sin(0.01f));
            //if (e.KeyCode == Keys.NumPad4)
            //{
            //    Vector3 vector1 = new Vector3(this.GLrender.Camera.X);
            //    Vector3 vector2 = new Vector3(this.GLrender.Camera.Z);
            //    this.GLrender.Camera.X = num1 * vector1 + num2 * vector2;
            //    this.GLrender.Camera.Z = -num2 * vector1 + num1 * vector2;
            //    this.GLrender.Camera.CenterOfInterest = this.GLrender.Camera.Position - this.GLrender.Camera.X * this.GLrender.Camera.distEye;
            //    flag = true;
            //}
            //if (e.KeyCode == Keys.NumPad6)
            //{
            //    Vector3 vector1 = new Vector3(this.GLrender.Camera.X);
            //    Vector3 vector2 = new Vector3(this.GLrender.Camera.Z);
            //    this.GLrender.Camera.X = num1 * vector1 - num2 * vector2;
            //    this.GLrender.Camera.Z = num2 * vector1 + num1 * vector2;
            //    this.GLrender.Camera.CenterOfInterest = this.GLrender.Camera.Position - this.GLrender.Camera.X * this.GLrender.Camera.distEye;
            //    flag = true;
            //}
            //if (e.KeyCode == Keys.NumPad2)
            //{
            //    Vector3 vector1 = new Vector3(this.GLrender.Camera.X);
            //    Vector3 vector2 = new Vector3(this.GLrender.Camera.Y);
            //    this.GLrender.Camera.X = num1 * vector1 + num2 * vector2;
            //    this.GLrender.Camera.Y = -num2 * vector1 + num1 * vector2;
            //    this.GLrender.Camera.CenterOfInterest = this.GLrender.Camera.Position - this.GLrender.Camera.X * this.GLrender.Camera.distEye;
            //    flag = true;
            //}
            //if (e.KeyCode == Keys.NumPad8)
            //{
            //    Vector3 vector1 = new Vector3(this.GLrender.Camera.X);
            //    Vector3 vector2 = new Vector3(this.GLrender.Camera.Y);
            //    this.GLrender.Camera.X = num1 * vector1 - num2 * vector2;
            //    this.GLrender.Camera.Y = num2 * vector1 + num1 * vector2;
            //    this.GLrender.Camera.CenterOfInterest = this.GLrender.Camera.Position - this.GLrender.Camera.X * this.GLrender.Camera.distEye;
            //    flag = true;
            //}
            //if (!flag)
            //    return;
            //this.Invalidate();
            base.OnKeyDown(e);
        }