void __fastcall TFormSceneInspectorForm::Image1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { if (!imageSet || !marchingCubesScene) return; if (!marchingCubesScene->getSelectedObject()) return; if (Shift.Contains(ssLeft)) { marchingCubesScene->getSelectedObject()->setThresholdIntensity(imageSet->getSlice(TrackBar1->Position)->getVoxelGray(X,Y)); displaySlice(); } }
FSplashScreen::FSplashScreen(const QPixmap & pixmap, Qt::WindowFlags f ) : QSplashScreen(pixmap, f) { QFile file(":/resources/images/splash/splash.xml"); if (!file.open(QFile::ReadOnly | QFile::Text)) { DebugDialog::debug("unable to load splash.xml: " + file.errorString()); return; } QString errorStr; int errorLine; int errorColumn; QDomDocument domDocument; if (!domDocument.setContent(&file, true, &errorStr, &errorLine, &errorColumn)) { DebugDialog::debug(QString("unable to parse splash.xml: %1 %2 %3").arg(errorStr).arg(errorLine).arg(errorColumn)); return; } QDomElement root = domDocument.documentElement(); int sliceDelay = root.attribute("sliceDelaySeconds", "0").toInt(); if (sliceDelay > 0) { QTimer::singleShot(sliceDelay * 1000, this, SLOT(displaySlice())); } QDomElement item = root.firstChildElement("item"); while (!item.isNull()) { QString id = item.attribute("id"); if (!id.isEmpty()) { int x = item.attribute("x", "0").toInt(); int y = item.attribute("y", "0").toInt(); int width = item.attribute("width", "0").toInt(); int height = item.attribute("height", "0").toInt(); QString colorName = item.attribute("color"); MessageThing * messageThing = new MessageThing(); messageThing->rect.setCoords(x, y, x + width, y + height); if (colorName.isEmpty()) { messageThing->color = QColor(0, 0, 0); } else { messageThing->color.setNamedColor(colorName); } m_items.insert(id, messageThing); } item = item.nextSiblingElement("item"); } }
//--------------------------------------------------------------------------- void __fastcall TFormSceneInspectorForm::CheckListBox1Click( TObject *Sender) { bool wasVisible=FormObjectPropertiesForm->Visible; FormObjectPropertiesForm->Visible=false; marchingCubesScene->setSelectedObjectAtIndex(CheckListBox1->ItemIndex); if (CheckListBox1->Checked[CheckListBox1->ItemIndex]) marchingCubesScene->getObjectAtIndex(CheckListBox1->ItemIndex)->setVisible(true); else marchingCubesScene->getObjectAtIndex(CheckListBox1->ItemIndex)->setVisible(false); marchingCubesScene->updateScene(); displaySlice(); FormObjectPropertiesForm->Visible=wasVisible; }
//--------------------------------------------------------------------------- void __fastcall TFormSceneInspectorForm::TrackBar1Change(TObject *Sender) { TrackBar1->Hint="Slice "+AnsiString(TrackBar1->Position + 1); displaySlice(); }
//--------------------------------------------------------------------------- void __fastcall TFormSceneInspectorForm::Button7Click(TObject *Sender) { OpenDialog1->Execute(); if (OpenDialog1->FileName!="") if (imageSet->loadImage(OpenDialog1->FileName.c_str())) imageSetLoaded=true; if (imageSetLoaded==true) { TrackBar1->Max=imageSet->getSliceCount()-1; TrackBar1->Position=imageSet->getSliceCount() / 2; Image1->Width=imageSet->getWidth(); Image1->Height=imageSet->getHeight(); Panel7->Top=Panel6->Top+Panel6->Height+2; Panel7->Height=Image1->Top+Image1->Height+4; Memo1->Left=2; Memo1->Top=Panel7->Top+Panel7->Height+2; ClientWidth=Panel1->Width+4; ClientHeight=Memo1->Top+Memo1->Height+2; Image1->Left=(Panel7->Width-Image1->Width)/2; Image1->Picture->Bitmap->Width=imageSet->getWidth(); Image1->Picture->Bitmap->Height=imageSet->getHeight(); SpeedButton1->Down=true; SpeedButton1->Visible=true; SpeedButton2->Visible=true; // SpeedButton3->Visible=true; SpeedButton4->Visible=true; Button1->Visible=true; Button2->Visible=true; Button8->Visible=true; oldPanel->Visible=false; Panel2->Visible=true; oldPanel=Panel2; CheckListBox1->Clear(); ListBox1->Clear(); CheckListBox3->Clear(); FormClippingVolumePropertiesForm->CheckListBox1->Clear(); displaySlice(); if (marchingCubesScene==NULL) { marchingCubesScene=new MarchingCubesScene(); marchingCubesScene->setImageSet(imageSet); FormObjectPropertiesForm->setMarchingCubesScene(marchingCubesScene); FormClippingVolumePropertiesForm->setMarchingCubesScene(marchingCubesScene); FormTexturedSurfacePropertiesForm->setMarchingCubesScene(marchingCubesScene); marchingCubesScene->initializeMarchingCubesScene(); } else { marchingCubesScene->setImageSet(imageSet); marchingCubesScene->reshapeForNewImageSet(); FormObjectPropertiesForm->Visible=false; FormClippingVolumePropertiesForm->Visible=false; FormTexturedSurfacePropertiesForm->Visible=false; marchingCubesScene->updateScene(); } displaySlice(); } }