- Timestamp:
- Dec 11, 2007, 3:04:13 PM (17 years ago)
- Location:
- trunk/geant4/visualization/OpenGL
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/geant4/visualization/OpenGL/include/G4OpenGLQtExportDialog.hh
r639 r652 69 69 int getSliderValue(); 70 70 71 /** return the new width for file if format has a width widget, instead return -1 */ 71 /** return the new width for file if format has a width widget, instead return 72 the original value */ 72 73 int getWidth(); 73 74 74 /** return the new height for file if format has a height widget, instead return -1 */ 75 /** return the new height for file if format has a height widget, instead return 76 the original value */ 75 77 int getHeight(); 76 78 … … 80 82 /** return the numbers of colors in the picture if format has a BW/Color widget, instead return -1 */ 81 83 int getNbColor(); 84 85 /** return if vector EPS is checked, if button does'nt exist, return 0 */ 86 bool getVectorEPS(); 82 87 83 88 public slots: … … 102 107 QPushButton* buttonOk; 103 108 QPushButton* buttonCancel; 104 QCheckBox* transparencyEPS,*boxTransparency ;109 QCheckBox* transparencyEPS,*boxTransparency,*vectorEPSCheckBox; 105 110 QCheckBox* ratioCheckBox; 106 111 QSlider * qualitySlider; -
trunk/geant4/visualization/OpenGL/include/G4OpenGLQtViewer.hh
r632 r652 92 92 void rescaleImage(int, int); 93 93 bool generateEPS(QString,int,QImage); 94 bool generateVectorEPS (QString,int,int,QImage); 94 95 bool generatePS_PDF(QString,int,QImage); 95 96 -
trunk/geant4/visualization/OpenGL/src/G4OpenGLQtExportDialog.cc
r651 r652 273 273 274 274 QWidget * EPSWidgetGroupBox; // widget containing group button 275 QButtonGroup * EPSButtonGroupBox; // group button276 275 QVBoxLayout *EPSGroupBoxLayout; 277 276 278 277 #if QT_VERSION < 0x040000 279 278 280 EPSButtonGroupBox = new QButtonGroup( 2,Qt::Vertical, tr("EPS options"),this); 281 // EPSGroupBoxLayout = new QVBoxLayout(EPSButtonGroupBox); 282 colorButton = new QRadioButton("Color",EPSButtonGroupBox); 283 BWButton = new QRadioButton("Grayscale",EPSButtonGroupBox); 284 EPSButtonGroupBox->setInsideMargin (15); 285 EPSButtonGroupBox->insert(colorButton); 286 EPSButtonGroupBox->insert(BWButton); 287 EPSButtonGroupBox->setExclusive(true); 288 EPSWidgetGroupBox = EPSButtonGroupBox; 289 // EPSGroupBoxLayout->add(EPSWidgetGroupBox); 279 QButtonGroup * EPSColorButtonGroupBox = new QButtonGroup( 2,Qt::Vertical, tr("EPS options"),this); 280 // EPSGroupBoxLayout = new QVBoxLayout(EPSColorButtonGroupBox); 281 colorButton = new QRadioButton("Color",EPSColorButtonGroupBox); 282 BWButton = new QRadioButton("Grayscale",EPSColorButtonGroupBox); 283 EPSColorButtonGroupBox->setInsideMargin (15); 284 EPSColorButtonGroupBox->insert(colorButton); 285 EPSColorButtonGroupBox->insert(BWButton); 286 EPSColorButtonGroupBox->setExclusive(true); 287 EPSWidgetGroupBox->add(EPSColorButtonGroupBox); 288 289 vectorEPSCheckBox = new QCheckBox( "Vector EPS File",EPSWidgetGroupBox); 290 vectorEPSCheckBox->setChecked( true ); 291 EPSWidgetGroupBox->add(vectorEPSCheckBox); 290 292 291 293 #else … … 297 299 BWButton = new QRadioButton("Grayscale",EPSWidgetGroupBox); 298 300 299 EPSButtonGroupBox = new QButtonGroup();300 EPS ButtonGroupBox->addButton(colorButton);301 EPS ButtonGroupBox->addButton(BWButton);302 EPS ButtonGroupBox->setExclusive(true);301 QButtonGroup * EPSColorButtonGroupBox = new QButtonGroup(); 302 EPSColorButtonGroupBox->addButton(colorButton); 303 EPSColorButtonGroupBox->addButton(BWButton); 304 EPSColorButtonGroupBox->setExclusive(true); 303 305 304 306 EPSGroupBoxLayout->addWidget(colorButton); 305 307 EPSGroupBoxLayout->addWidget(BWButton); 308 309 vectorEPSCheckBox = new QCheckBox( "Vector EPS File",EPSWidgetGroupBox); 310 vectorEPSCheckBox->setChecked( true ); 311 EPSGroupBoxLayout->addWidget(vectorEPSCheckBox); 312 306 313 EPSWidgetGroupBox->setLayout(EPSGroupBoxLayout); 307 308 314 #endif 309 315 colorButton->setChecked( true ); … … 355 361 int G4OpenGLQtExportDialog::getHeight() 356 362 { 357 if (!height) return -1;363 if (!height) return originalHeight; 358 364 return height->text().toInt(); 359 365 } … … 361 367 int G4OpenGLQtExportDialog::getWidth() 362 368 { 363 if (!width) return -1;369 if (!width) return originalWidth; 364 370 return width->text().toInt(); 365 371 } … … 381 387 } 382 388 389 bool G4OpenGLQtExportDialog::getVectorEPS() 390 { 391 if (!vectorEPSCheckBox) return 0; 392 return vectorEPSCheckBox->isChecked(); 393 } 394 383 395 384 396 void G4OpenGLQtExportDialog::changeSizeBox() -
trunk/geant4/visualization/OpenGL/src/G4OpenGLQtExportDialog_moc.cc
r647 r652 2 2 ** Meta object code from reading C++ file 'G4OpenGLQtExportDialog.hh' 3 3 ** 4 ** Created: Fri Dec 7 15:42:4220074 ** Created: Tue Dec 11 12:06:10 2007 5 5 ** by: The Qt Meta Object Compiler version 59 (Qt 4.2.2) 6 6 ** -
trunk/geant4/visualization/OpenGL/src/G4OpenGLQtViewer.cc
r650 r652 1115 1115 } 1116 1116 if (format == QString("eps")) { 1117 generateEPS(nomFich,exportDialog->getNbColor(),image); 1117 if (exportDialog->getVectorEPS()) { 1118 generateVectorEPS(nomFich,exportDialog->getWidth(),exportDialog->getHeight(),image); 1119 } else { 1120 generateEPS(nomFich,exportDialog->getNbColor(),image); 1121 } 1118 1122 } else if ((format == "ps") || (format == "pdf")) { 1119 1123 generatePS_PDF(nomFich,exportDialog->getNbColor(),image); … … 1248 1252 } else if (mButtons & Qt::RightButton) { 1249 1253 // NEVER DONE BECAUSE OF MOUSE MENU 1250 #ifdef GEANT4_QT_DEBUG1251 // printf("G4OpenGLQtViewer::mouseMoveEvent Right \n");1252 #endif1253 1254 // setXRotation(xRot + dy/2); 1254 1255 // setZRotation(zRot + dx/2); … … 1289 1290 1290 1291 /** 1291 Generate Postscript form image 1292 Generate Vectorial Encapsulated Postscript form image 1293 @param aFilename : name of file 1294 @param aInColor : numbers of colors : 1->BW 2->RGB 3->RGB+Alpha 1295 @param aImage : Image to print 1296 */ 1297 bool G4OpenGLQtViewer::generateVectorEPS ( 1298 QString aFilename 1299 ,int aWidth 1300 ,int aHeight 1301 ,QImage aImage 1302 ) 1303 { 1304 // Print vectored PostScript 1305 1306 G4int size = 5000000; 1307 1308 GLfloat* feedback_buffer; 1309 GLint returned; 1310 FILE* file; 1311 1312 feedback_buffer = new GLfloat[size]; 1313 glFeedbackBuffer (size, GL_3D_COLOR, feedback_buffer); 1314 glRenderMode (GL_FEEDBACK); 1315 1316 #ifdef GEANT4_QT_DEBUG 1317 printf("generateVectorEPS:: AVANt DRAWVIEW !!======================== \n"); 1318 #endif 1319 glViewport (0, 0, aWidth,aHeight); 1320 DrawView(); 1321 1322 #ifdef GEANT4_QT_DEBUG 1323 printf("generateVectorEPS:: APREs DRAWVIEW !!======================== \n"); 1324 #endif 1325 returned = glRenderMode (GL_RENDER); 1326 1327 1328 #if QT_VERSION < 0x040000 1329 file = fopen (aFilename.ascii(), "w"); 1330 #else 1331 file = fopen (aFilename.toStdString().c_str(), "w"); 1332 #endif 1333 if (file) { 1334 spewWireframeEPS (file, returned, feedback_buffer, "rendereps"); 1335 } else { 1336 printf("Could not open %s\n", print_string); 1337 } 1338 1339 delete[] feedback_buffer; 1340 1341 return true; 1342 } 1343 1344 /** 1345 Generate Encapsulated Postscript form image 1292 1346 @param aFilename : name of file 1293 1347 @param aInColor : numbers of colors : 1->BW 2->RGB 3->RGB+Alpha -
trunk/geant4/visualization/OpenGL/src/G4OpenGLQtViewer_moc.cc
r647 r652 2 2 ** Meta object code from reading C++ file 'G4OpenGLQtViewer.hh' 3 3 ** 4 ** Created: Fri Dec 7 15:42:4120074 ** Created: Tue Dec 11 12:08:34 2007 5 5 ** by: The Qt Meta Object Compiler version 59 (Qt 4.2.2) 6 6 ** -
trunk/geant4/visualization/OpenGL/src/G4OpenGLStoredQtViewer.cc
r635 r652 134 134 //Make sure current viewer is attached and clean... 135 135 //Qt version needed 136 glViewport (0, 0, WinSize_x, WinSize_y);136 // glViewport (0, 0, WinSize_x, WinSize_y); 137 137 138 138 //See if things have changed from last time and remake if necessary...
Note: See TracChangeset
for help on using the changeset viewer.