Changeset 914 for trunk/source/visualization/OpenGL/src
- Timestamp:
- Feb 3, 2009, 4:41:56 PM (17 years ago)
- Location:
- trunk/source/visualization/OpenGL/src
- Files:
-
- 24 edited
-
G4OpenGLImmediateQt.cc (modified) (1 diff)
-
G4OpenGLImmediateQtViewer.cc (modified) (1 diff)
-
G4OpenGLImmediateSceneHandler.cc (modified) (1 diff)
-
G4OpenGLImmediateViewer.cc (modified) (1 diff)
-
G4OpenGLImmediateX.cc (modified) (1 diff)
-
G4OpenGLImmediateXViewer.cc (modified) (1 diff)
-
G4OpenGLImmediateXm.cc (modified) (1 diff)
-
G4OpenGLImmediateXmViewer.cc (modified) (1 diff)
-
G4OpenGLQtViewer.cc (modified) (4 diffs)
-
G4OpenGLStoredSceneHandler.cc (modified) (1 diff)
-
G4OpenGLViewer.cc (modified) (2 diffs)
-
G4OpenGLXViewer.cc (modified) (2 diffs)
-
G4OpenGLXmBox.cc (modified) (1 diff)
-
G4OpenGLXmFourArrowButtons.cc (modified) (1 diff)
-
G4OpenGLXmFramedBox.cc (modified) (1 diff)
-
G4OpenGLXmMainMenubarCallbacks.cc (modified) (1 diff)
-
G4OpenGLXmPanningCallbacks.cc (modified) (1 diff)
-
G4OpenGLXmPushButton.cc (modified) (1 diff)
-
G4OpenGLXmRadioButton.cc (modified) (1 diff)
-
G4OpenGLXmSeparator.cc (modified) (1 diff)
-
G4OpenGLXmTextField.cc (modified) (1 diff)
-
G4OpenGLXmTopLevelShell.cc (modified) (1 diff)
-
G4OpenGLXmVWidgetObject.cc (modified) (1 diff)
-
G4OpenGLXmViewer.cc (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateQt.cc
r911 r914 40 40 #include "G4OpenGLImmediateQtViewer.hh" 41 41 #include "G4OpenGLViewerMessenger.hh" 42 #include "G4OpenGLImmediateSceneHandler.hh" 42 43 43 44 G4OpenGLImmediateQt::G4OpenGLImmediateQt (): -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateQtViewer.cc
r911 r914 35 35 36 36 #include "G4OpenGLImmediateQtViewer.hh" 37 #include "G4OpenGLImmediateSceneHandler.hh" 37 38 38 39 #include "G4ios.hh" -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateSceneHandler.cc
r877 r914 45 45 #include "G4OpenGLImmediateSceneHandler.hh" 46 46 47 #include "G4OpenGLViewer.hh" 47 48 #include "G4OpenGLTransform3D.hh" 48 49 #include "G4Polyline.hh" -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateViewer.cc
r911 r914 37 37 38 38 #include "G4OpenGLImmediateViewer.hh" 39 #include "G4OpenGLImmediateSceneHandler.hh" 39 40 40 41 G4OpenGLImmediateViewer::G4OpenGLImmediateViewer (G4OpenGLImmediateSceneHandler& scene): -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateX.cc
r911 r914 41 41 #include "G4OpenGLImmediateXViewer.hh" 42 42 #include "G4OpenGLViewerMessenger.hh" 43 43 #include "G4OpenGLImmediateSceneHandler.hh" 44 44 G4OpenGLImmediateX::G4OpenGLImmediateX (): 45 45 G4VGraphicsSystem ("OpenGLImmediateX", -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateXViewer.cc
r911 r914 36 36 37 37 #include "G4OpenGLImmediateXViewer.hh" 38 #include "G4OpenGLImmediateSceneHandler.hh" 38 39 39 40 #include "G4ios.hh" -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateXm.cc
r911 r914 42 42 #include "G4OpenGLViewerMessenger.hh" 43 43 #include "G4OpenGLXmViewerMessenger.hh" 44 #include "G4OpenGLImmediateSceneHandler.hh" 44 45 45 46 G4OpenGLImmediateXm::G4OpenGLImmediateXm (): -
trunk/source/visualization/OpenGL/src/G4OpenGLImmediateXmViewer.cc
r911 r914 36 36 37 37 #include "G4OpenGLImmediateXmViewer.hh" 38 #include "G4OpenGLImmediateSceneHandler.hh" 38 39 39 40 #include "G4ios.hh" -
trunk/source/visualization/OpenGL/src/G4OpenGLQtViewer.cc
r911 r914 37 37 38 38 #include "G4OpenGLQtViewer.hh" 39 #include "G4VViewer.hh" 40 #include "G4VSceneHandler.hh" 41 #include "G4OpenGLSceneHandler.hh" 39 42 40 43 #include "G4ios.hh" … … 1347 1350 res = generateVectorEPS(nomFich,exportDialog->getWidth(),exportDialog->getHeight(),image); 1348 1351 } else { 1349 res = generateEPS (nomFich,exportDialog->getNbColor(),image);1352 res = generateEPS2(nomFich,exportDialog->getNbColor(),image); 1350 1353 } 1351 1354 } else if ((format == "ps") || (format == "pdf")) { … … 1707 1710 @param aImage : Image to print 1708 1711 */ 1709 bool G4OpenGLQtViewer::generateEPS (1712 bool G4OpenGLQtViewer::generateEPS2 ( 1710 1713 QString aFilename 1711 1714 ,int aInColor … … 1713 1716 ) 1714 1717 { 1718 #ifdef G4DEBUG_VIS_OGL 1719 printf("G4OpenGLQtViewer::generateEPS call parent\n"); 1720 #endif 1721 generateEPS((aFilename+"GL").toStdString().c_str(),3,(unsigned int)aImage.width(),(unsigned int)aImage.height()); 1722 #ifdef G4DEBUG_VIS_OGL 1723 printf("G4OpenGLQtViewer::generateEPS\n"); 1724 #endif 1715 1725 // FIXME 1716 1726 -
trunk/source/visualization/OpenGL/src/G4OpenGLStoredSceneHandler.cc
r877 r914 54 54 #include "G4Polyhedron.hh" 55 55 #include "G4AttHolder.hh" 56 #include "G4OpenGLTransform3D.hh" 57 #include "G4OpenGLViewer.hh" 56 58 57 59 G4OpenGLStoredSceneHandler::PO::PO -
trunk/source/visualization/OpenGL/src/G4OpenGLViewer.cc
r911 r914 25 25 // 26 26 // 27 // $Id: G4OpenGLViewer.cc,v 1.4 6 2009/01/19 16:53:42lgarnier Exp $27 // $Id: G4OpenGLViewer.cc,v 1.45 2009/01/15 18:14:58 lgarnier Exp $ 28 28 // GEANT4 tag $Name: $ 29 29 // … … 745 745 } 746 746 747 GLubyte* G4OpenGLViewer::grabPixels (int inColor, unsigned int width, unsigned int height) { 748 749 GLubyte* buffer; 750 GLint swapbytes, lsbfirst, rowlength; 751 GLint skiprows, skippixels, alignment; 752 GLenum format; 753 int size; 754 755 if (inColor) { 756 format = GL_RGB; 757 size = width*height*3; 758 } else { 759 format = GL_LUMINANCE; 760 size = width*height*1; 761 } 762 763 buffer = new GLubyte[size]; 764 if (buffer == NULL) 765 return NULL; 766 767 glGetIntegerv (GL_UNPACK_SWAP_BYTES, &swapbytes); 768 glGetIntegerv (GL_UNPACK_LSB_FIRST, &lsbfirst); 769 glGetIntegerv (GL_UNPACK_ROW_LENGTH, &rowlength); 770 771 glGetIntegerv (GL_UNPACK_SKIP_ROWS, &skiprows); 772 glGetIntegerv (GL_UNPACK_SKIP_PIXELS, &skippixels); 773 glGetIntegerv (GL_UNPACK_ALIGNMENT, &alignment); 774 775 glPixelStorei (GL_UNPACK_SWAP_BYTES, GL_FALSE); 776 glPixelStorei (GL_UNPACK_LSB_FIRST, GL_FALSE); 777 glPixelStorei (GL_UNPACK_ROW_LENGTH, 0); 778 779 glPixelStorei (GL_UNPACK_SKIP_ROWS, 0); 780 glPixelStorei (GL_UNPACK_SKIP_PIXELS, 0); 781 glPixelStorei (GL_UNPACK_ALIGNMENT, 1); 782 783 glReadPixels (0, 0, (GLsizei)width, (GLsizei)height, format, GL_UNSIGNED_BYTE, (GLvoid*) buffer); 784 785 glPixelStorei (GL_UNPACK_SWAP_BYTES, swapbytes); 786 glPixelStorei (GL_UNPACK_LSB_FIRST, lsbfirst); 787 glPixelStorei (GL_UNPACK_ROW_LENGTH, rowlength); 788 789 glPixelStorei (GL_UNPACK_SKIP_ROWS, skiprows); 790 glPixelStorei (GL_UNPACK_SKIP_PIXELS, skippixels); 791 glPixelStorei (GL_UNPACK_ALIGNMENT, alignment); 792 793 return buffer; 794 } 795 796 int G4OpenGLViewer::generateEPS (const char* filnam, 797 int inColour, 798 unsigned int width, 799 unsigned int height) { 800 801 FILE* fp; 802 GLubyte* pixels; 803 GLubyte* curpix; 804 int components, pos, i; 805 806 pixels = grabPixels (inColour, width, height); 807 808 if (pixels == NULL) 809 return 1; 810 if (inColour) { 811 components = 3; 812 } else { 813 components = 1; 814 } 815 816 fp = fopen (filnam, "w"); 817 if (fp == NULL) { 818 return 2; 819 } 820 821 fprintf (fp, "%%!PS-Adobe-2.0 EPSF-1.2\n"); 822 fprintf (fp, "%%%%Title: %s\n", filnam); 823 fprintf (fp, "%%%%Creator: OpenGL pixmap render output\n"); 824 fprintf (fp, "%%%%BoundingBox: 0 0 %d %d\n", width, height); 825 fprintf (fp, "%%%%EndComments\n"); 826 fprintf (fp, "gsave\n"); 827 fprintf (fp, "/bwproc {\n"); 828 fprintf (fp, " rgbproc\n"); 829 fprintf (fp, " dup length 3 idiv string 0 3 0 \n"); 830 fprintf (fp, " 5 -1 roll {\n"); 831 fprintf (fp, " add 2 1 roll 1 sub dup 0 eq\n"); 832 fprintf (fp, " { pop 3 idiv 3 -1 roll dup 4 -1 roll dup\n"); 833 fprintf (fp, " 3 1 roll 5 -1 roll } put 1 add 3 0 \n"); 834 fprintf (fp, " { 2 1 roll } ifelse\n"); 835 fprintf (fp, " }forall\n"); 836 fprintf (fp, " pop pop pop\n"); 837 fprintf (fp, "} def\n"); 838 fprintf (fp, "systemdict /colorimage known not {\n"); 839 fprintf (fp, " /colorimage {\n"); 840 fprintf (fp, " pop\n"); 841 fprintf (fp, " pop\n"); 842 fprintf (fp, " /rgbproc exch def\n"); 843 fprintf (fp, " { bwproc } image\n"); 844 fprintf (fp, " } def\n"); 845 fprintf (fp, "} if\n"); 846 fprintf (fp, "/picstr %d string def\n", width * components); 847 fprintf (fp, "%d %d scale\n", width, height); 848 fprintf (fp, "%d %d %d\n", width, height, 8); 849 fprintf (fp, "[%d 0 0 %d 0 0]\n", width, height); 850 fprintf (fp, "{currentfile picstr readhexstring pop}\n"); 851 fprintf (fp, "false %d\n", components); 852 fprintf (fp, "colorimage\n"); 853 854 curpix = (GLubyte*) pixels; 855 pos = 0; 856 for (i = width*height*components; i>0; i--) { 857 fprintf (fp, "%02hx ", *(curpix++)); 858 if (++pos >= 32) { 859 fprintf (fp, "\n"); 860 pos = 0; 861 } 862 } 863 if (pos) 864 fprintf (fp, "\n"); 865 866 fprintf (fp, "grestore\n"); 867 fprintf (fp, "showpage\n"); 868 delete pixels; 869 fclose (fp); 870 return 0; 871 } 872 747 873 GLdouble G4OpenGLViewer::getSceneNearWidth() 748 874 { -
trunk/source/visualization/OpenGL/src/G4OpenGLXViewer.cc
r912 r914 36 36 37 37 #include "G4OpenGLXViewer.hh" 38 #include "G4VViewer.hh" 39 #include "G4OpenGLSceneHandler.hh" 40 #include <GL/glu.h> 38 41 39 42 #include "G4OpenGLFontBaseStore.hh" … … 465 468 } 466 469 467 GLubyte* G4OpenGLXViewer::grabPixels (int inColor, unsigned int width, unsigned int height) {468 469 GLubyte* buffer;470 GLint swapbytes, lsbfirst, rowlength;471 GLint skiprows, skippixels, alignment;472 GLenum format;473 int size;474 475 if (inColor) {476 format = GL_RGB;477 size = width*height*3;478 } else {479 format = GL_LUMINANCE;480 size = width*height*1;481 }482 483 buffer = new GLubyte[size];484 if (buffer == NULL)485 return NULL;486 487 glGetIntegerv (GL_UNPACK_SWAP_BYTES, &swapbytes);488 glGetIntegerv (GL_UNPACK_LSB_FIRST, &lsbfirst);489 glGetIntegerv (GL_UNPACK_ROW_LENGTH, &rowlength);490 491 glGetIntegerv (GL_UNPACK_SKIP_ROWS, &skiprows);492 glGetIntegerv (GL_UNPACK_SKIP_PIXELS, &skippixels);493 glGetIntegerv (GL_UNPACK_ALIGNMENT, &alignment);494 495 glPixelStorei (GL_UNPACK_SWAP_BYTES, GL_FALSE);496 glPixelStorei (GL_UNPACK_LSB_FIRST, GL_FALSE);497 glPixelStorei (GL_UNPACK_ROW_LENGTH, 0);498 499 glPixelStorei (GL_UNPACK_SKIP_ROWS, 0);500 glPixelStorei (GL_UNPACK_SKIP_PIXELS, 0);501 glPixelStorei (GL_UNPACK_ALIGNMENT, 1);502 503 glReadPixels (0, 0, (GLsizei)width, (GLsizei)height, format, GL_UNSIGNED_BYTE, (GLvoid*) buffer);504 505 glPixelStorei (GL_UNPACK_SWAP_BYTES, swapbytes);506 glPixelStorei (GL_UNPACK_LSB_FIRST, lsbfirst);507 glPixelStorei (GL_UNPACK_ROW_LENGTH, rowlength);508 509 glPixelStorei (GL_UNPACK_SKIP_ROWS, skiprows);510 glPixelStorei (GL_UNPACK_SKIP_PIXELS, skippixels);511 glPixelStorei (GL_UNPACK_ALIGNMENT, alignment);512 513 return buffer;514 }515 516 int G4OpenGLXViewer::generateEPS (char* filnam,517 int inColour,518 unsigned int width,519 unsigned int height) {520 521 FILE* fp;522 GLubyte* pixels;523 GLubyte* curpix;524 int components, pos, i;525 526 pixels = grabPixels (inColour, width, height);527 528 if (pixels == NULL)529 return 1;530 if (inColour) {531 components = 3;532 } else {533 components = 1;534 }535 536 fp = fopen (filnam, "w");537 if (fp == NULL) {538 return 2;539 }540 541 fprintf (fp, "%%!PS-Adobe-2.0 EPSF-1.2\n");542 fprintf (fp, "%%%%Title: %s\n", filnam);543 fprintf (fp, "%%%%Creator: OpenGL pixmap render output\n");544 fprintf (fp, "%%%%BoundingBox: 0 0 %d %d\n", width, height);545 fprintf (fp, "%%%%EndComments\n");546 fprintf (fp, "gsave\n");547 fprintf (fp, "/bwproc {\n");548 fprintf (fp, " rgbproc\n");549 fprintf (fp, " dup length 3 idiv string 0 3 0 \n");550 fprintf (fp, " 5 -1 roll {\n");551 fprintf (fp, " add 2 1 roll 1 sub dup 0 eq\n");552 fprintf (fp, " { pop 3 idiv 3 -1 roll dup 4 -1 roll dup\n");553 fprintf (fp, " 3 1 roll 5 -1 roll } put 1 add 3 0 \n");554 fprintf (fp, " { 2 1 roll } ifelse\n");555 fprintf (fp, " }forall\n");556 fprintf (fp, " pop pop pop\n");557 fprintf (fp, "} def\n");558 fprintf (fp, "systemdict /colorimage known not {\n");559 fprintf (fp, " /colorimage {\n");560 fprintf (fp, " pop\n");561 fprintf (fp, " pop\n");562 fprintf (fp, " /rgbproc exch def\n");563 fprintf (fp, " { bwproc } image\n");564 fprintf (fp, " } def\n");565 fprintf (fp, "} if\n");566 fprintf (fp, "/picstr %d string def\n", width * components);567 fprintf (fp, "%d %d scale\n", width, height);568 fprintf (fp, "%d %d %d\n", width, height, 8);569 fprintf (fp, "[%d 0 0 %d 0 0]\n", width, height);570 fprintf (fp, "{currentfile picstr readhexstring pop}\n");571 fprintf (fp, "false %d\n", components);572 fprintf (fp, "colorimage\n");573 574 curpix = (GLubyte*) pixels;575 pos = 0;576 for (i = width*height*components; i>0; i--) {577 fprintf (fp, "%02hx ", *(curpix++));578 if (++pos >= 32) {579 fprintf (fp, "\n");580 pos = 0;581 }582 }583 if (pos)584 fprintf (fp, "\n");585 586 fprintf (fp, "grestore\n");587 fprintf (fp, "showpage\n");588 delete pixels;589 fclose (fp);590 return 0;591 }592 470 593 471 GLXContext G4OpenGLXViewer::create_GL_print_context(XVisualInfo*& pvi) { -
trunk/source/visualization/OpenGL/src/G4OpenGLXmBox.cc
r911 r914 36 36 #include "G4OpenGLXmVWidgetComponent.hh" 37 37 #include "G4OpenGLXmVWidgetShell.hh" 38 #include <Xm/RowColumn.h> 39 #include <Xm/Xm.h> 38 40 39 41 G4OpenGLXmBox::G4OpenGLXmBox (const char* n, -
trunk/source/visualization/OpenGL/src/G4OpenGLXmFourArrowButtons.cc
r911 r914 36 36 #include "G4OpenGLXmFourArrowButtons.hh" 37 37 #include <X11/Intrinsic.h> 38 #include <Xm/Form.h> 39 #include <Xm/ArrowBG.h> 40 38 41 #include "globals.hh" 39 42 -
trunk/source/visualization/OpenGL/src/G4OpenGLXmFramedBox.cc
r911 r914 36 36 #include "G4OpenGLXmVWidgetComponent.hh" 37 37 #include "G4OpenGLXmVWidgetShell.hh" 38 #include <Xm/RowColumn.h> 39 #include <Xm/Frame.h> 38 40 39 41 G4OpenGLXmFramedBox::G4OpenGLXmFramedBox (const char* n, -
trunk/source/visualization/OpenGL/src/G4OpenGLXmMainMenubarCallbacks.cc
r911 r914 43 43 44 44 #include "G4OpenGLXmViewer.hh" 45 #include "G4VSceneHandler.hh" 45 46 46 47 #include "G4Scene.hh" -
trunk/source/visualization/OpenGL/src/G4OpenGLXmPanningCallbacks.cc
r911 r914 40 40 41 41 #include "G4OpenGLXmViewer.hh" 42 #include "G4VSceneHandler.hh" 43 #include <Xm/ToggleB.h> 44 42 45 #include "G4Scene.hh" 43 46 -
trunk/source/visualization/OpenGL/src/G4OpenGLXmPushButton.cc
r911 r914 36 36 #include "G4OpenGLXmPushButton.hh" 37 37 #include <X11/Intrinsic.h> 38 #include <Xm/PushB.h> 39 38 40 #include "globals.hh" 39 41 -
trunk/source/visualization/OpenGL/src/G4OpenGLXmRadioButton.cc
r911 r914 36 36 #include "G4OpenGLXmRadioButton.hh" 37 37 #include <X11/Intrinsic.h> 38 #include <Xm/ToggleB.h> 39 38 40 #include "globals.hh" 39 41 -
trunk/source/visualization/OpenGL/src/G4OpenGLXmSeparator.cc
r911 r914 36 36 #include "G4OpenGLXmSeparator.hh" 37 37 #include <X11/Intrinsic.h> 38 #include <Xm/Separator.h> 39 38 40 #include "globals.hh" 39 41 -
trunk/source/visualization/OpenGL/src/G4OpenGLXmTextField.cc
r911 r914 34 34 #include "G4OpenGLXmVWidgetComponent.hh" 35 35 #include "G4OpenGLXmVWidgetContainer.hh" 36 #include "G4OpenGLXmViewer.hh" 36 37 #include "G4OpenGLXmTextField.hh" 38 37 39 #include <X11/Intrinsic.h> 40 #include <Xm/Label.h> 41 #include <Xm/TextF.h> 42 38 43 #include "globals.hh" 39 44 -
trunk/source/visualization/OpenGL/src/G4OpenGLXmTopLevelShell.cc
r911 r914 34 34 #include "G4OpenGLXmTopLevelShell.hh" 35 35 #include "G4OpenGLXmVWidgetContainer.hh" 36 #include "G4OpenGLXmViewer.hh" 37 38 #include <Xm/Frame.h> 39 #include <Xm/RowColumn.h> 36 40 37 41 G4OpenGLXmTopLevelShell::G4OpenGLXmTopLevelShell (G4OpenGLXmViewer* v, -
trunk/source/visualization/OpenGL/src/G4OpenGLXmVWidgetObject.cc
r911 r914 33 33 34 34 #include "G4OpenGLXmVWidgetObject.hh" 35 #include "G4OpenGLXmViewer.hh" 35 36 36 37 G4OpenGLXmVWidgetObject::G4OpenGLXmVWidgetObject () -
trunk/source/visualization/OpenGL/src/G4OpenGLXmViewer.cc
r912 r914 38 38 39 39 #include "G4OpenGLXmViewer.hh" 40 #include "G4OpenGLSceneHandler.hh" 40 41 41 42 #include "G4VisExtent.hh"
Note:
See TracChangeset
for help on using the changeset viewer.
