//------------------------------------------------------------------------------ // drawModeInc private void drawModeInc() { switch (_drawMode) { case Scene.eDrawMode.eDM_BRANCH_PTS: _drawMode = Scene.eDrawMode.eDM_BRANCH_BB; break; case Scene.eDrawMode.eDM_BRANCH_BB: _drawMode = Scene.eDrawMode.eDM_BRANCH_BBPTS; break; case Scene.eDrawMode.eDM_BRANCH_BBPTS: _drawMode = Scene.eDrawMode.eDM_CENTERS; break; case Scene.eDrawMode.eDM_CENTERS: _drawMode = Scene.eDrawMode.eDM_LEAFCENTERS; break; case Scene.eDrawMode.eDM_LEAFCENTERS: _drawMode = Scene.eDrawMode.eDM_LEAFSIGMA; break; case Scene.eDrawMode.eDM_LEAFSIGMA: _drawMode = Scene.eDrawMode.eDM_LEAFSURFACE; break; case Scene.eDrawMode.eDM_LEAFSURFACE: _drawMode = Scene.eDrawMode.eDM_BRANCH_PTS; break; } }
//------------------------------------------------------------------------------ private void Update_Drawmode(Scene.eDrawMode newMode) { ResetDrawToolStripMenuItem(); switch (newMode) { case (Scene.eDrawMode.eDM_BRANCH_BB): { octreeToolStripMenuItem.Checked = true; } break; case (Scene.eDrawMode.eDM_BRANCH_BBPTS): { pointsOctToolStripMenuItem.Checked = true; } break; case (Scene.eDrawMode.eDM_CENTERS): { branchCtrToolStripMenuItem.Checked = true; } break; case (Scene.eDrawMode.eDM_LEAFCENTERS): { leafCtrToolStripMenuItem.Checked = true; } break; case (Scene.eDrawMode.eDM_LEAFSIGMA): { leafCntdToolStripMenuItem.Checked = true; } break; case (Scene.eDrawMode.eDM_LEAFSURFACE): { surfToolStripMenuItem.Checked = true; } break; case (Scene.eDrawMode.eDM_BRANCH_PTS): { pointsToolStripMenuItem.Checked = true; } break; case (Scene.eDrawMode.eDM_MODELALL): { modelToolStripMenuItem.Checked = true; } break; case (Scene.eDrawMode.eDM_MODELNUMS): { modelToolStripMenuItem.Checked = true; } break; } }
//------------------------------------------------------------------------------ public Scene() { _Ot = new Octree(); _Sc = new SurfaceController(); _ray = new Ray(); _c = new Vectors(); _Offeset = new Vectors(); _OffesetOrtho = new Vectors(0.0, 0.0, 0.0); _modelMatrix = new double[16]; _drawMode = Scene.eDrawMode.eDM_CENTERS; _dataSrc = ""; }
//------------------------------------------------------------------------------ // public int drawIDDec(Scene.eDrawMode dm) { if (_drawID > 0) { _drawID--; } else { _drawID = _Count; } ReSetDrawList(dm); return(_drawID); }
//------------------------------------------------------------------------------ private void SetNewDrawMode(Scene.eDrawMode dm) { if (_state != 0) { if (_Scene.drawMode != dm) { Update_Drawmode(dm); Refresh();// update the contol boxes _Scene.drawMode = dm; Display(); simpleOpenGlControl1.Refresh(); } } }
//------------------------------------------------------------------------------ // public int drawIDInc(Scene.eDrawMode dm) { if (_drawID < _Count) { _drawID++; } else { _drawID = 0; } ReSetDrawList(dm); return(_drawID); }
//------------------------------------------------------------------------------ public void ReSetDrawList(Scene.eDrawMode dm) { removeDisplayLists(); if (Scene.eDrawMode.eDM_LEAFSURFACE <= dm) { switch (dm) { case Scene.eDrawMode.eDM_LEAFSURFACE: { if (_SurfSel == -1) { createdisplaylistAll(); } else { Surface s = getSurfaceID(_SurfSel); if (s != null) { s.CreateDisplaylist(ref _displaylist, _NodeSufDict); } } } break; case Scene.eDrawMode.eDM_MODELALL: break; case Scene.eDrawMode.eDM_MODELPLANES: break; case Scene.eDrawMode.eDM_MODELSPHERE: break; case Scene.eDrawMode.eDM_MODELCYLINDER: break; case Scene.eDrawMode.eDM_MODELCONE: break; case Scene.eDrawMode.eDM_MODELNUMS: break; } } }
//------------------------------------------------------------------------------ public void ReSetDrawList(Scene.eDrawMode dm) { _displaylist = new List <int>(); if (dm < Scene.eDrawMode.eDM_LEAFSURFACE) { if (_drawID == 0) { _Tree.CreateDraw((int)dm, ref _displaylist); } else { OctreeNode o = null; _Tree.getOctNode(_drawID, ref o); if (o != null) { o.CreateDraw((int)dm, ref _displaylist); } } } }
//------------------------------------------------------------------------------ // public void drawID(ref int i, Scene.eDrawMode dm) { if ((i >= 0) && (_Count > i)) { _drawID = i; } else { if (i > _Count) { _drawID = _Count; } else { if (i < 0) { _drawID = 0; } } } i = _drawID; ReSetDrawList(dm); }
//------------------------------------------------------------------------------ // public void drawID(ref int i, Scene.eDrawMode dm) { if ((i >= -1) && (SurfCOUNT > i)) { _SurfSel = i; } else { if (i > SurfCOUNT) { _SurfSel = -1; } else { if (i < -1) { _SurfSel = (SurfCOUNT - 1); } } } i = _SurfSel; ReSetDrawList(dm); }
//------------------------------------------------------------------------------ public void SurfacedrawColour(double R, double G, double B) { _Sc.SurfacedrawColour(R, G, B); this.drawMode = (Scene.eDrawMode.eDM_LEAFSURFACE); }