void MagicView::OnTextureMap() { TextureMapDialog dlg(this); if (dlg.DoModal() == IDOK) { MagicDoc* doc = GetDocument(); Solid* solid = doc->GetSolid(); Selection* seln = doc->GetSelection(); Selector* selector = doc->GetSelector(); Editor* editor = doc->GetEditor(); Material* mtl = 0; if (dlg.mMaterialIndex >= 0) { mtl = &solid->GetModel()->GetMaterials()[dlg.mMaterialIndex]; } editor->UseModel(solid->GetModel()); editor->ApplyMaterial(mtl, seln->GetPolys(), dlg.mMapType, 2-dlg.mAxis, (float) dlg.mScaleU, (float) dlg.mScaleV, dlg.mFlip, dlg.mMirror, dlg.mRotate); selector->Reselect(); Invalidate(); doc->SetModifiedFlag(TRUE); doc->UpdateAllViews(this); } }
void MagicView::OnUpdateTextureMap(CCmdUI* pCmdUI) { Solid* solid = GetDocument()->GetSolid(); Selection* seln = GetDocument()->GetSelection(); pCmdUI->Enable(solid && solid->GetModel() && seln && seln->GetPolys().size() > 0); }
void MagicView::CloseUVEditor() { if (IsUVEdit()) { MagicDoc* doc = GetDocument(); Editor* editor = doc->GetEditor(); Solid* solid = doc->GetSolid(); if (editor && solid) { editor->UseModel(solid->GetModel()); editor->Resegment(); } } }
void MagicView::OnSelectInverse() { Solid* solid = GetDocument()->GetSolid(); Selector* selector = GetDocument()->GetSelector(); if (IsUVEdit()) { uvmap_view->SelectInverse(); } else if (solid && selector) { selector->UseModel(solid->GetModel()); selector->SelectInverse(); } }
void MagicView::OnSelectNone() { Solid* solid = GetDocument()->GetSolid(); Selector* selector = GetDocument()->GetSelector(); if (IsUVEdit()) { uvmap_view->SelectNone(); } else if (solid && selector) { selector->UseModel(solid->GetModel()); selector->SelectAll(Selector::SELECT_REMOVE); } }
void MagicView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint) { CView::OnUpdate(pSender, lHint, pHint); Solid* solid = GetDocument()->GetSolid(); Selection* seln = GetDocument()->GetSelection(); Selector* selector = GetDocument()->GetSelector(); if (solid && scene) { scene->Graphics().clear(); scene->AddGraphic(solid); scene->AddGraphic(seln); scene->AddGraphic(selector); } if (selector) selector->UseModel(solid->GetModel()); }
void MagicView::OnEditRedo() { MagicDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); pDoc->Redo(); Solid* solid = GetDocument()->GetSolid(); Selector* selector = GetDocument()->GetSelector(); if (selector) { selector->UseModel(solid->GetModel()); selector->Reselect(); } Invalidate(); pDoc->SetModifiedFlag(TRUE); pDoc->UpdateAllViews(this); }
void MagicView::OnUpdateModifyMaterial(CCmdUI* pCmdUI) { Solid* solid = GetDocument()->GetSolid(); pCmdUI->Enable(solid && solid->GetModel()); }
void MagicView::OnUpdateSurfaceProperties(CCmdUI* pCmdUI) { Solid* solid = GetDocument()->GetSolid(); pCmdUI->Enable(solid && solid->GetModel()); }