MainFrame::MainFrame(void):QMainWindow(0) { setupUi(this); displayMode = AIS_DisplayMode::AIS_WireFrame; this->setWindowIconText("AsmPlan"); myViewer = new Viewer(this); myViewer->setFocus(); setCentralWidget(myViewer); connect(actionEXIT, SIGNAL(triggered()),this,SLOT(Exit())); connect(actionSTEP, SIGNAL(triggered()),this,SLOT(ImportStep())); connect(actionABOUT, SIGNAL(triggered()),this,SLOT(about())); connect(actionSTEPBack, SIGNAL(triggered()),this,SLOT(StepBack())); connect(actionPlayBack, SIGNAL(triggered()),this,SLOT(PlayBack())); connect(actionStop, SIGNAL(triggered()),this,SLOT(Stop())); connect(actionNextStep, SIGNAL(triggered()),this,SLOT(NextStep())); connect(actionPlayFoward, SIGNAL(triggered()),this,SLOT(PlayFoward())); connect(actionFoto, SIGNAL(triggered()),this,SLOT(ExportPhoto())); connect(actionDBGShow, SIGNAL(triggered()),this,SLOT(DBGShow())); connect(myViewer, SIGNAL(contextMenuSignal(const QPoint &)), this, SLOT(contextMenu(const QPoint &))); connect(actionViewMode, SIGNAL(triggered()), this, SLOT(ViewModeChanged())); connect(action_AssemlyInfoRequest, SIGNAL(triggered()), this, SLOT(ShowAssemblyInfo())); connect(action_SetFrameDisplayMode, SIGNAL(triggered()), this, SLOT(SetWireFrameMode())); connect(action_SetShadedDisplayMode, SIGNAL(triggered()), this, SLOT(SetShadedMode())); connect(action_ShowFullProduct, SIGNAL(triggered()), this, SLOT(ShowFullProduct())); connect(action_HideDisassembled, SIGNAL(triggered()), this, SLOT(HideDisaasembledPart())); //Test panel functions connect(action_ContactTest, SIGNAL(triggered()), this, SLOT(TestContactSpotVerbose())); connect(action_PointOnFace, SIGNAL(triggered()), this, SLOT(TestPointOnPart())); connect(action_FaceTrait, SIGNAL(triggered()), this, SLOT(TestSpartialDesc())); connect(action_PartIso, SIGNAL(triggered()), this, SLOT(TestIsoFaceForPart())); connect(action_DBGTime, SIGNAL(triggered()), this, SLOT(TestDBGTime())); connect(actionPartGraph, SIGNAL(triggered()), this, SLOT(PartGraph())); connect(actionBodyDescriptor, SIGNAL(triggered()), this, SLOT(TestBodyDescriptor())); connect(action_VoxelGeneration, SIGNAL(triggered()), this, SLOT(TestVoxelGeneration())); }
// // TBuf::NextToken // // Reads the next token into 'dest'. Skips any preceeding spaces, // stopping when either a space, a punctuation char, or end of data // occurs. Generates an error if token exceeds max token length. // // Returns : // // TR_OK - if token was read with no problems // TR_PUN - if punctuation char was found // TR_EOF - if end of data reached // TBufResult TBuf::NextToken() { ASSERT(setup); U8 c; U32 tokenLen = 0; char *sPtr; // Have we peeked at the next token if (peekState == PS_ON) { peekState = PS_OFF; Utils::Strcpy(prevToken, lastToken); Utils::Strcpy(lastToken, peekToken); return (peekVal); } // Setup peek operation if (peekState == PS_PRE) { // Store next token in peek buffer sPtr = peekToken; // We are now in peek mode peekState = PS_ON; } else { // Save previous token Utils::Strcpy(prevToken, lastToken); // Store next token in last token buffer sPtr = lastToken; } // Clear token buffer *sPtr = '\0'; // Read next token for (;;) { // Have we reached the end of the data if (!NextChar(&c)) { // Return token if we have one return (tokenLen ? TR_OK : TR_EOF); } // Finish reading constant if (constantOn && c == constantChar) { constantOn = FALSE; } // Ignore these checks if reading a constant if (!constantOn) { // What char have we got if ((c == TBUF_CH_SPACE) || (c == TBUF_CH_EOL)) { // Have we read a token if (tokenLen) { return (TR_OK); } // Ignore this character continue; } // Check for punctuation if (CharType(c) == PUNCTUATION) { // Haven't read anything yet if (!tokenLen) { sPtr[0] = c; sPtr[1] = '\0'; return(TR_PUN); } // Successfully read a token StepBack(); return(TR_OK); } } // Add this char to the current token if (tokenLen < TBUF_MAX_TOKEN - 1) { sPtr[tokenLen++] = c; sPtr[tokenLen] = '\0'; } else { TokenError("maximum token length [%d bytes] exceeded", TBUF_MAX_TOKEN-1); } } }
QmitkActiveSurfaceToolGUI::QmitkActiveSurfaceToolGUI() :QmitkToolGUI() { //std::cout << "hi from " << __FUNCSIG__ << std::endl; // create the visible widgets QBoxLayout* verticalLayout = new QVBoxLayout( this ); m_HorizontalLayout = new QHBoxLayout(); verticalLayout->addLayout(m_HorizontalLayout); m_HorizontalLayout1 = new QHBoxLayout(); verticalLayout->addLayout(m_HorizontalLayout1); m_HorizontalLayout2 = new QHBoxLayout(); verticalLayout->addLayout(m_HorizontalLayout2); m_SelectSurfaceBox = new QComboBox(); m_HorizontalLayout->addWidget(m_SelectSurfaceBox); connect(m_SelectSurfaceBox, SIGNAL(activated(int)), this, SLOT(SelectSurface(int))); m_PbtnSelectSurfaceViaMouse = new QPushButton(); QIcon icn_OpenFile; icn_OpenFile.addFile(":/threeDEditing/res/threeDEditing/mousepointer.png"); m_PbtnSelectSurfaceViaMouse->setIcon(icn_OpenFile); m_PbtnSelectSurfaceViaMouse->setFixedSize(22,22); m_HorizontalLayout->addWidget(m_PbtnSelectSurfaceViaMouse); connect(m_PbtnSelectSurfaceViaMouse, SIGNAL(clicked()), this, SLOT(SelectSurfaceViaMouse())); m_PbtnReinitSelection = new QPushButton(); m_PbtnReinitSelection->setText("Reinit Selection"); m_PbtnReinitSelection->setCheckable(true); m_HorizontalLayout1->addWidget(m_PbtnReinitSelection); connect(m_PbtnReinitSelection, SIGNAL(clicked()), this, SLOT(ReinitSelection())); m_PbtnJumpToPosition = new QPushButton(); m_PbtnJumpToPosition->setText("Jump to Position"); m_PbtnJumpToPosition->setCheckable(true); m_HorizontalLayout1->addWidget(m_PbtnJumpToPosition); connect(m_PbtnJumpToPosition, SIGNAL(clicked()), this, SLOT(JumpToPosition())); QLabel* label = new QLabel( "Radius", this ); QFont f = label->font(); f.setBold(false); label->setFont( f ); m_HorizontalLayout2->addWidget(label); m_RadiusSlider = new QSlider(Qt::Horizontal); m_RadiusSlider->setSliderPosition(20); m_HorizontalLayout2->addWidget(m_RadiusSlider); QObject::connect(m_RadiusSlider, SIGNAL(sliderMoved(int)), this, SLOT(RadiusChanged(int))); // Tool Specific QBoxLayout* horizontalLayout3 = new QHBoxLayout(); verticalLayout->addLayout(horizontalLayout3); QBoxLayout* horizontalLayout4 = new QHBoxLayout(); verticalLayout->addLayout(horizontalLayout4); QBoxLayout* horizontalLayout5 = new QHBoxLayout(); verticalLayout->addLayout(horizontalLayout5); QBoxLayout* horizontalLayout6 = new QHBoxLayout(); verticalLayout->addLayout(horizontalLayout6); QBoxLayout* horizontalLayout7 = new QHBoxLayout(); verticalLayout->addLayout(horizontalLayout7); QBoxLayout* horizontalLayout8 = new QHBoxLayout(); verticalLayout->addLayout(horizontalLayout8); QBoxLayout* horizontalLayout9 = new QHBoxLayout(); verticalLayout->addLayout(horizontalLayout9); QBoxLayout* horizontalLayout10 = new QHBoxLayout(); verticalLayout->addLayout(horizontalLayout10); QBoxLayout* horizontalLayout11 = new QHBoxLayout(); verticalLayout->addLayout(horizontalLayout11); QBoxLayout* horizontalLayout12 = new QHBoxLayout(); verticalLayout->addLayout(horizontalLayout12); QBoxLayout* horizontalLayout13 = new QHBoxLayout(); verticalLayout->addLayout(horizontalLayout13); QBoxLayout* horizontalLayout14 = new QHBoxLayout(); verticalLayout->addLayout(horizontalLayout14); QFrame *frame = new QFrame( this ); frame->setFrameStyle( QFrame::Box | QFrame::Plain ); frame->setLineWidth(10); frame->setFixedSize(200,10); QColor color(214,247,202); QPalette colorPalette(color); colorPalette.setColor(QPalette::Foreground, color); frame->setPalette(colorPalette); horizontalLayout3->addWidget(frame); QLabel* label2 = new QLabel( "Select feature image:", this ); QFont f2 = label2->font(); f2.setBold(false); label2->setFont( f2 ); horizontalLayout4->addWidget(label2); m_SelectImageBox = new QComboBox(); horizontalLayout5->addWidget(m_SelectImageBox); connect(m_SelectImageBox, SIGNAL(activated(int)), this, SLOT(SelectImage(int))); QLabel* label3 = new QLabel( "Set seed point bubble\n(left click):\nRemove bubble\n(shift + left click)", this ); QFont f3 = label3->font(); f3.setPointSize(7); f3.setBold(false); label3->setFont( f3 ); horizontalLayout6->addWidget(label3); QPushButton* pbtn_RemoveBubble = new QPushButton(); pbtn_RemoveBubble->setText("Remove Bubble"); horizontalLayout6->addWidget(pbtn_RemoveBubble); connect(pbtn_RemoveBubble, SIGNAL(clicked()), this, SLOT(RemoveBubble())); m_VCR = new std::vector<QPushButton*>; int size = 24; QPushButton* pbtn_Stop = new QPushButton(); QIcon icn_Stop; icn_Stop.addFile(":/threeDEditing/res/threeDEditing/Backward_01.png"); pbtn_Stop->setIcon(icn_Stop); pbtn_Stop->setIconSize(QSize(size,size)); horizontalLayout7->addWidget(pbtn_Stop); connect(pbtn_Stop, SIGNAL(clicked()), this, SLOT(Stop())); QPushButton* pbtn_StepBack = new QPushButton(); QIcon icn_StepBack; icn_StepBack.addFile(":/threeDEditing/res/threeDEditing/left.png"); pbtn_StepBack->setIcon(icn_StepBack); pbtn_StepBack->setIconSize(QSize(size,size)); horizontalLayout7->addWidget(pbtn_StepBack); connect(pbtn_StepBack, SIGNAL(clicked()), this, SLOT(StepBack())); QPushButton* pbtn_ReversePlay = new QPushButton(); m_VCR->push_back(pbtn_ReversePlay); QIcon icn_ReversePlay; icn_ReversePlay.addFile(":/threeDEditing/res/threeDEditing/Backward.png"); pbtn_ReversePlay->setIcon(icn_ReversePlay); pbtn_ReversePlay->setCheckable(true); pbtn_ReversePlay->setIconSize(QSize(size,size)); horizontalLayout7->addWidget(pbtn_ReversePlay); connect(pbtn_ReversePlay, SIGNAL(clicked()), this, SLOT(ReversePlay())); QPushButton* pbtn_Pause = new QPushButton(); m_VCR->push_back(pbtn_Pause); QIcon icn_Pause; icn_Pause.addFile(":/threeDEditing/res/threeDEditing/pause.png"); pbtn_Pause->setIcon(icn_Pause); pbtn_Pause->setCheckable(true); pbtn_Pause->setChecked(true); pbtn_Pause->setIconSize(QSize(size,size)); horizontalLayout7->addWidget(pbtn_Pause); connect(pbtn_Pause, SIGNAL(clicked()), this, SLOT(Pause())); QPushButton* pbtn_Play = new QPushButton(); m_VCR->push_back(pbtn_Play); QIcon icn_Play; icn_Play.addFile(":/threeDEditing/res/threeDEditing/Forward.png"); pbtn_Play->setIcon(icn_Play); pbtn_Play->setCheckable(true); pbtn_Play->setIconSize(QSize(size,size)); horizontalLayout7->addWidget(pbtn_Play); connect(pbtn_Play, SIGNAL(clicked()), this, SLOT(Play())); QPushButton* pbtn_StepForward = new QPushButton(); QIcon icn_StepForward; icn_StepForward.addFile(":/threeDEditing/res/threeDEditing/right.png"); pbtn_StepForward->setIcon(icn_StepForward); pbtn_StepForward->setIconSize(QSize(size,size)); horizontalLayout7->addWidget(pbtn_StepForward); connect(pbtn_StepForward, SIGNAL(clicked()), this, SLOT(StepForward())); QLabel* label5 = new QLabel( "Step size:", this ); QFont f5 = label5->font(); f5.setBold(false); label5->setFont( f5 ); horizontalLayout8->addWidget(label5); QSpinBox* selectStepSize = new QSpinBox(); selectStepSize->setRange(1, 50); selectStepSize->setValue(1); horizontalLayout8->addWidget(selectStepSize); connect(selectStepSize, SIGNAL(valueChanged(int)), this, SLOT(SelectStepSize(int))); QLabel* label6 = new QLabel( "Iteration:", this ); QFont f6 = label6->font(); f6.setBold(false); label6->setFont( f6 ); horizontalLayout8->addWidget(label6); numberOfIterations = new QLineEdit(this); numberOfIterations->setText("0"); numberOfIterations->setReadOnly(true); horizontalLayout8->addWidget(numberOfIterations); QFrame *frame1 = new QFrame( this ); frame1->setFrameStyle( QFrame::Box | QFrame::Plain ); frame1->setLineWidth(10); frame1->setFixedSize(200,10); frame1->setPalette(colorPalette); horizontalLayout9->addWidget(frame1); // Parameters QLabel* label7 = new QLabel( "Parameters:", this ); QFont f7 = label7->font(); f7.setBold(true); label7->setFont( f7 ); horizontalLayout10->addWidget(label7); // make the "InputMask" for values between 1.11 and 17.93 with 2 digits after the comma QValidator *inputRange = new QDoubleValidator(0.000, 100000.000, 3, this); // table layout QBoxLayout* verticalLayout1 = new QVBoxLayout(); horizontalLayout11->addLayout(verticalLayout1); QBoxLayout* verticalLayout2 = new QVBoxLayout(); horizontalLayout11->addLayout(verticalLayout2); QBoxLayout* verticalLayout3 = new QVBoxLayout(); horizontalLayout11->addLayout(verticalLayout3); QLabel* label8 = new QLabel( "Curvature\nForce:", this ); QFont f8 = label8->font(); f8.setBold(false); f8.setPointSize(7); label8->setFont( f8 ); verticalLayout1->addWidget(label8); m_CurvatureForce = new QLineEdit(this); m_CurvatureForce->setText("0"); m_CurvatureForce->setReadOnly(false); m_CurvatureForce->setValidator(inputRange); QObject::connect(m_CurvatureForce, SIGNAL(returnPressed()), this, SLOT(EditedCurvatureForce())); verticalLayout2->addWidget(m_CurvatureForce); QmitkCrossWidget* curvatureForceCross = new QmitkCrossWidget(); QPixmap pixCurvatureForce(":/threeDEditing/res/threeDEditing/CrossArrow.png"); curvatureForceCross->setPixmap(pixCurvatureForce.scaledToWidth(100)); curvatureForceCross->setFixedSize(100,20); curvatureForceCross->setToolTip("Drag with a left mouse click from the center circle to the sides."); verticalLayout3->addWidget(curvatureForceCross); connect( curvatureForceCross, SIGNAL( SignalDeltaMove( int, int ) ), this, SLOT( CurvatureForceCross( int, int ) ) ); QLabel* label10 = new QLabel( "Area\nForce:", this ); QFont f10 = label10->font(); f10.setBold(false); f10.setPointSize(7); label10->setFont( f10 ); verticalLayout1->addWidget(label10); m_AreaForce = new QLineEdit(this); m_AreaForce->setText("0"); m_AreaForce->setReadOnly(false); m_AreaForce->setValidator(inputRange); QObject::connect(m_AreaForce, SIGNAL(returnPressed()), this, SLOT(EditedAreaForce())); verticalLayout2->addWidget(m_AreaForce); QmitkCrossWidget* areaForceCross = new QmitkCrossWidget(); QPixmap pixAreaForce(":/threeDEditing/res/threeDEditing/CrossArrow.png"); areaForceCross->setPixmap(pixAreaForce.scaledToWidth(100)); areaForceCross->setFixedSize(100,20); areaForceCross->setToolTip("Drag with a left mouse click from the center circle to the sides."); verticalLayout3->addWidget(areaForceCross); connect( areaForceCross, SIGNAL( SignalDeltaMove( int, int ) ), this, SLOT( AreaForceCross( int, int ) ) ); QLabel* label11 = new QLabel( "Volume\nForce:", this ); QFont f11 = label11->font(); f11.setBold(false); f11.setPointSize(7); label11->setFont( f11 ); verticalLayout1->addWidget(label11); m_VolumeForce = new QLineEdit(this); m_VolumeForce->setText("0"); m_VolumeForce->setReadOnly(false); m_VolumeForce->setValidator(inputRange); QObject::connect(m_VolumeForce, SIGNAL(returnPressed()), this, SLOT(EditedVolumeForce())); verticalLayout2->addWidget(m_VolumeForce); QmitkCrossWidget* volumeForceCross = new QmitkCrossWidget(); QPixmap pixVolumeForce(":/threeDEditing/res/threeDEditing/CrossArrow.png"); volumeForceCross->setPixmap(pixVolumeForce.scaledToWidth(100)); volumeForceCross->setFixedSize(100,20); volumeForceCross->setToolTip("Drag with a left mouse click from the center circle to the sides."); verticalLayout3->addWidget(volumeForceCross); connect( volumeForceCross, SIGNAL( SignalDeltaMove( int, int ) ), this, SLOT( VolumeForceCross( int, int ) ) ); QFrame *frame2 = new QFrame( this ); frame2->setFrameStyle( QFrame::Box | QFrame::Plain ); frame2->setLineWidth(10); frame2->setFixedSize(200,10); frame2->setPalette(colorPalette); horizontalLayout12->addWidget(frame2); QPushButton* pbtnClosing = new QPushButton(); pbtnClosing->setText("Closing by one pixel"); pbtnClosing->setCheckable(true); horizontalLayout13->addWidget(pbtnClosing); connect(pbtnClosing, SIGNAL(clicked()), this, SLOT(Closing())); QLabel* label12 = new QLabel( "Zoom:", this ); QFont f12 = label12->font(); f12.setBold(false); //f12.setPointSize(6); label12->setFont( f12 ); horizontalLayout14->addWidget(label12); QmitkCrossWidget* zoomCross = new QmitkCrossWidget(); QPixmap pixZoom(":/threeDEditing/res/threeDEditing/CrossArrow.png"); zoomCross->setPixmap(pixZoom.scaledToWidth(100)); zoomCross->setFixedSize(100,20); zoomCross->setToolTip("Drag with a left mouse click from the center circle to the sides."); horizontalLayout14->addWidget(zoomCross); connect( zoomCross, SIGNAL( SignalDeltaMove( int, int ) ), this, SLOT( ZoomCross( int, int ) ) ); connect( this, SIGNAL(NewToolAssociated(mitk::Tool*)), this, SLOT(OnNewToolAssociated(mitk::Tool*)) ); //std::cout << "ciao from " << __FUNCSIG__ << std::endl; }