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