Import Geant4 9.6.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-09 17:01:34 +02:00
parent b1eb5424d2
commit e2d2f9810a
10384 changed files with 698580 additions and 628834 deletions
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenInventor.hh,v 1.9 2006-06-29 21:20:22 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// Guy Barrand 26 Mar 1998.
// OpenInventor graphics system factory.
@@ -33,8 +32,6 @@
#ifndef G4OPENINVENTOR_HH
#define G4OPENINVENTOR_HH
#if defined(G4VIS_BUILD_OI_DRIVER) || defined(G4VIS_USE_OI)
#include "G4VGraphicsSystem.hh"
class G4VInteractorManager;
@@ -54,5 +51,3 @@ private:
};
#endif
#endif
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenInventorSceneHandler.hh,v 1.33 2007-03-27 15:24:15 allison Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
// J Kallenbach 27th Aug 1996
@@ -90,6 +89,8 @@ private:
void AddCircleSquare (G4OIMarker markerType, const G4VMarker&);
void GeneratePrerequisites();
void AddProperties(const G4VisAttributes*);
// AddTransform takes fObjectTransformation and "adds" a translation.
void AddTransform(const G4Point3D& translation = G4Point3D());
std::map <G4LogicalVolume*, SoSeparator*,
std::less <G4LogicalVolume*> > fSeparatorMap;
SoSeparator* fRoot;
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenInventorTransform3D.hh,v 1.7 2006-06-29 21:20:26 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
// jck 17 Dec 1996
@@ -77,7 +77,7 @@ protected:
void UpdateScene();
G4String Help(const G4String& topic = "controls");
private:
static void SelectionCB(void*,SoPath*);
//static void SelectionCB(void*,SoPath*);
//static void DeselectionCB(void*,SoPath*);
static void GroupCameraSensorCB(void*,SoSensor*);
static void CameraSensorCB(void*,SoSensor*);
@@ -90,6 +90,7 @@ private:
private:
G4ViewParameters fLastVP; // Memory for making kernel visit decisions.
protected:
static void SelectionCB(void*,SoPath*);
G4OpenInventorSceneHandler& fG4OpenInventorSceneHandler;
G4VInteractorManager* fInteractorManager;
SoSelection* fSoSelection;
@@ -24,13 +24,10 @@
// ********************************************************************
//
//
// $Id: G4OpenInventorWin.hh,v 1.3 2006-06-29 21:20:30 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// OpenInventor graphics system factory.
#if defined (G4VIS_BUILD_OIWIN32_DRIVER) || defined (G4VIS_USE_OIWIN32)
#ifndef G4OPENINVENTORWIN_HH
#define G4OPENINVENTORWIN_HH
@@ -48,5 +45,3 @@ private:
};
#endif
#endif
@@ -24,13 +24,10 @@
// ********************************************************************
//
//
// $Id: G4OpenInventorWin32.hh,v 1.7 2006-06-29 21:20:32 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// OpenInventor graphics system factory.
#if defined (G4VIS_BUILD_OIWIN32_DRIVER) || defined (G4VIS_USE_OIWIN32)
#ifndef G4OPENINVENTORWIN32_HH
#define G4OPENINVENTORWIN32_HH
@@ -45,5 +42,3 @@ public:
};
#endif
#endif
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenInventorWinViewer.hh,v 1.10 2009-09-18 12:48:43 lgarnier Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
// Jeff Kallenbach 01 Aug 1996
@@ -24,15 +24,12 @@
// ********************************************************************
//
//
// $Id: G4OpenInventorX.hh,v 1.7 2006-06-29 21:20:36 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
// Andrew Walkden 27th March 1996
// OpenInventor graphics system factory.
#if defined (G4VIS_BUILD_OIX_DRIVER) || defined (G4VIS_USE_OIX)
#ifndef G4OPENINVENTORX_HH
#define G4OPENINVENTORX_HH
@@ -47,5 +44,3 @@ public:
};
#endif
#endif
@@ -24,15 +24,12 @@
// ********************************************************************
//
//
// $Id: G4OpenInventorXt.hh,v 1.3 2006-06-29 21:20:38 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
// Andrew Walkden 27th March 1996
// OpenInventor graphics system factory.
#if defined (G4VIS_BUILD_OIX_DRIVER) || defined (G4VIS_USE_OIX)
#ifndef G4OPENINVENTORXT_HH
#define G4OPENINVENTORXT_HH
@@ -50,5 +47,3 @@ private:
};
#endif
#endif
@@ -0,0 +1,394 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// Open Inventor Xt Extended Viewer - 30 Oct 2012
// Rastislav Ondrasek, Pierre-Luc Gagnon, Frederick Jones TRIUMF
#ifndef HookEventProcState_H
#define HookEventProcState_H 1
#include "G4VStateDependent.hh"
class G4OpenInventorXtExaminerViewer;
class HookEventProcState : public G4VStateDependent
{
private:
G4OpenInventorXtExaminerViewer *viewer;
public:
HookEventProcState(G4OpenInventorXtExaminerViewer*);
~HookEventProcState();
virtual G4bool Notify(G4ApplicationState requiredState);
};
#endif /* HookEventProcState_H */
#ifndef G4OPENINVENTORXTEXAMINERVIEWER_HH
#define G4OPENINVENTORXTEXAMINERVIEWER_HH
#include <map>
#include <vector>
#include <fstream>
#include <Inventor/SbLinear.h>
#include <Inventor/nodes/SoLineSet.h>
#include <Inventor/Xt/viewers/SoXtExaminerViewer.h>
#include <Inventor/events/SoKeyboardEvent.h>
class SoCoordinate3;
class SoFont;
class SoText2;
class SoPointSet;
class G4OpenInventorXtExaminerViewer : public SoXtExaminerViewer {
private:
Widget prevViewPtButton, nextViewPtButton;
Widget menuBar, fileMenu, openFileDialog, newFileDialog,
loadRefCoordsDialog, saveRefCoordsDialog,
loadSceneGraphDialog, saveSceneGraphDialog,
viewPtSelection, listsDialog, myShellDialog, myViewPtList, myElementList;
static G4OpenInventorXtExaminerViewer *viewer;
void (*escapeCallback)(void *);
void * examinerObject;
SbBool lshiftdown, rshiftdown, lctrldown, rctrldown;
public:
// Same constructor as the ExaminerViewer
G4OpenInventorXtExaminerViewer(Widget parent = NULL,
const char *name = NULL,
SbBool embed = TRUE,
SoXtFullViewer::BuildFlag flag = BUILD_ALL,
SoXtViewer::Type type = BROWSER);
~G4OpenInventorXtExaminerViewer();
template <class T> void parseString(T &t, const std::string &s, bool &error);
Widget addMenu(std::string name);
void addButton(Widget menu, std::string name, XtCallbackProc);
Widget getMenuBar() { return menuBar; }
Widget getMenu() { return fileMenu; }
void warningMsgDialog(std::string, String, XtCallbackProc);
bool warningFlag;
std::string saveScenegraphFileName;
Widget saveScenegraphWidget;
std::string saveRefCoordsFileName;
Widget saveRefCoordsWidget;
Widget createScale(Widget, char *, int, float);
void addEscapeCallback(void (*cb)(void *), void *);
bool abbrOutputFlag;
bool pickRefPathFlag;
bool viewingBeforePickRef;
protected:
// Same constructor as the ExaminerViewer
G4OpenInventorXtExaminerViewer(Widget parent,
const char *name,
SbBool embed,
SoXtFullViewer::BuildFlag flag,
SoXtViewer::Type type,
SbBool build);
// Overloaded for adding the MenuBar
Widget buildWidget(Widget parent);
// Overloaded so additional buttons can be added
virtual void createViewerButtons (Widget parent, SbPList * buttonlist);
// Overloaded for catching various keyboard events
virtual SbBool processSoEvent(const SoEvent * const event);
void moveCamera(float dist = 0, bool lookdown = false);
std::string curEltName;
SbVec3f camUpVec;
SbVec3f camDir;
void rotateCamera();
void updateViewParams(SoKeyboardEvent::Key);
bool loadViewPts();
virtual void afterRealizeHook();
private:
// Each constructor calls this generic constructor
void constructor(const SbBool build);
static G4OpenInventorXtExaminerViewer *getObject();
HookEventProcState *hookBeamOn;
friend class HookEventProcState;
bool newEvents;
static void sceneChangeCB(void *, SoSensor *);
void setViewPt();
void writeViewPtIdx();
void cleanUpAfterPrevFile();
void popUpFileSelDialog(Widget&, std::string, std::string, XtCallbackProc);
static void cancelFileSelDialogCB(Widget, XtPointer, XtPointer);
static void openViewPtFileCB(Widget, XtPointer, XtPointer);
static void viewPtFileSelectedCB(Widget, XtPointer, XtPointer);
static void newViewPtFileCB(Widget, XtPointer, XtPointer);
static void createNewVPFileCB(Widget, XtPointer, XtPointer);
static void overwriteFileCB(Widget, XtPointer, XtPointer);
static void loadRefCoordsDialogCB(Widget, XtPointer, XtPointer); //pop file dialog
static void loadRefCoordsCB(Widget, XtPointer, XtPointer); //execute loading
static void saveRefCoordsDialogCB(Widget, XtPointer, XtPointer); //pop file dialog
static void saveRefCoordsCB(Widget, XtPointer, XtPointer); //execute saving
static void saveRefCoordsOverWriteCB(Widget, XtPointer, XtPointer);
static void loadSceneGraphDialogCB(Widget, XtPointer, XtPointer);
static void loadSceneGraphCB(Widget, XtPointer, XtPointer);
static void saveSceneGraphDialogCB(Widget, XtPointer, XtPointer);
static void saveSceneGraphCB(Widget, XtPointer, XtPointer);
static void saveSceneGraphOverWriteCB(Widget, XtPointer, XtPointer);
static void mouseoverCB(void *aThis, SoEventCallback *eventCB);
static void pickingCB(void *aThis, SoEventCallback *eventCB);
// Viewpoint operations
void addViewPoints();
static void closeListsDialogCB(Widget, XtPointer, XtPointer);
static void loadBookmarkCB(Widget, XtPointer, XtPointer);
static void renameBookmarkCB(Widget, XtPointer, XtPointer);
void renameViewPt(char *vpName);
static void sortBookmarksCB(Widget, XtPointer, XtPointer);
void sortViewPts(std::vector<std::string>);
static void deleteBookmarkCB(Widget, XtPointer, XtPointer);
static void deleteViewPtCB(Widget, XtPointer, XtPointer);
void deleteViewPt(char *vpName = NULL);
// Animation
static void animateRefParticleCB(Widget, XtPointer, XtPointer);
static void animateSensorCB(void *, SoSensor *);
static void animateSensorRotationCB(void *, SoSensor *);
void animateRefParticle();
void saveCurCamera();
void restoreCamera();
double animateBtwPtsPeriod, speedStep;
void incSpeed();
void decSpeed();
SoTimerSensor *animateSensor;
SoTimerSensor *animateSensorRotation;
SoNodeSensor *sceneChangeSensor;
SbVec3f camStartPos, camEndPos;
SbRotation camStartOrient, camEndOrient;
static void prevViewPtCB(Widget, XtPointer, XtPointer);
static void nextViewPtCB(Widget, XtPointer, XtPointer);
static void saveViewPtCB(Widget, XtPointer, XtPointer);
static void abbrOutputCB(Widget, XtPointer, XtPointer);
static void pickRefPathCB(Widget, XtPointer, XtPointer);
static void constructListsDialog(Widget, XtPointer, XtPointer);
void saveViewPt(char *name);
static void lookAtSceneElementCB(Widget, XtPointer, XtPointer);
static void cancelSceneElementSelectionCB(Widget, XtPointer, XtPointer);
void setReferencePath(SoLineSet*, SoCoordinate3*, bool append = false);
void setReferencePathZPos();
void findAndSetRefPath();
SoCoordinate3 *getCoordsNode(SoFullPath *path);
void getSceneElements(); // reads elements from the scene graph
float sqrlen(const SbVec3f&);
void distanceToTrajectory(const SbVec3f&, float&, SbVec3f&, int&);
void sortElements();
void createElementsList(Widget);
static void closeMainWindowCB(Widget, XtPointer, XtPointer);
void evenOutRefParticlePts();
static void gotoRefPathStartCB(Widget, XtPointer, XtPointer);
void gotoRefPathStart();
static void invertRefPathCB(Widget, XtPointer, XtPointer);
void invertRefPath();
enum CameraType {
PERSPECTIVE,
ORTHOGRAPHIC
};
enum State {
GENERAL,
BEAMLINE,
VIEWPOINT,
ANIMATION,
REVERSED_ANIMATION,
PAUSED_ANIMATION,
ROTATING
};
// For storing the view point
struct viewPtData {
char* viewPtName;
int viewportMapping;
SbVec3f position;
SbRotation orientation;
float aspectRatio;
float nearDistance;
float farDistance;
float focalDistance;
CameraType camType;
float height;
};
struct sceneElement {
std::string name;
SoFullPath * path;
SbVec3f center;
float closestPointZCoord;
sceneElement operator=(sceneElement const &rhs) const {
sceneElement el;
el.name = rhs.name;
el.path = rhs.path;
el.center = rhs.center;
el.closestPointZCoord = rhs.closestPointZCoord;
return el;
}
};
struct elementForSorting {
float closestPointZCoord;
SbVec3f closestPoint;
float smallestDistance;
float distanceToBeamlineStart;
std::string name;
bool operator<(elementForSorting const &other) const
{
if (closestPointZCoord < other.closestPointZCoord)
return true;
if (closestPointZCoord > other.closestPointZCoord)
return false;
// otherwise closestPointZCoord == other.closestPointZCoord.
// Compare the distances from the center of the element to
// the start of the beamline.
if (distanceToBeamlineStart < other.distanceToBeamlineStart)
return true;
if (distanceToBeamlineStart > other.distanceToBeamlineStart)
return false;
// In case both closestPointZCoord and smallestDistance are
// equal, we have two exactly overlapping elements, if so
// the order doesn't matter
return true;
}
};
bool zcoordSetFlag;
std::vector<sceneElement> sceneElements;
std::vector<viewPtData> viewPtList;
std::string fileName;
std::ifstream fileIn;
std::ofstream fileOut;
int viewPtIdx;
int MAX_VP_IDX;
int MAX_VP_NAME;
// For storing coordinate points of the reference particle
std::vector<SbVec3f> refParticleTrajectory;
// For displaying distance during anim and beamline modes
std::vector<float> refZPositions;
int refParticleIdx;
int prevRefIdx;
float distance;
State currentState, prevState, beforePausing;
char *curViewPtName;
int step;
SbVec3f prevPt;
SbVec3f prevParticleDir;
void * prevColorField;
viewPtData camB4Animation;
bool returnToSaveVP;
bool returnToAnim;
SoCamera *myCam;
void setStartingPtForAnimation();
float left_right, up_down;
SbVec3f rotAxis; // For 90 degree rotations
int rotCnt; // # of steps rotation is split into
static void getViewPtNameCB(Widget, XtPointer, XtPointer);
std::string viewPtAutoName();
////////////////////////ANIM_SPEED_INDICATOR///////////////////////
SoSearchAction * searcher;
SoNode * superimposition;
SoCoordinate3 * sgeometry;
SoScale * sscale;
SoTranslation * stranslation;
SoTranslation * curInfoTrans;
SoTranslation * mouseOverTransSolid;
SoTranslation * mouseOverTransMaterial;
SoTranslation * mouseOverTransLogName;
SoTranslation * mouseOverTransZPos;
// Used for 2 similar purposes: 1. Displays z position during animation
// 2. Displays name of the current viewpoint
SoText2 * curInfoText;
/* Need to use many different fields for mouseover
* because newlines are ignored when the scene is rendered */
SoText2 * mouseOverTextSolid;
SoText2 * mouseOverTextMaterial;
SoText2 * mouseOverTextLogName;
SoText2 * mouseOverTextZPos;
SoFont * curInfoFont;
SoFont * mouseOverFontSolid;
SoFont * mouseOverFontMaterial;
SoFont * mouseOverFontLogName;
SoFont * mouseOverFontZPos;
SoSwitch * axisSwitch;
SoSwitch * animSpeedOutlineSwitch;
SoSwitch * animSpeedSwitch;
SoSwitch * curInfoSwitch;
SoNode * getSuperimpositionNode(SoNode *, const char * name);
void superimpositionEvent(SoAction * action);
static void superimpositionCB(void * closure, SoAction * action);
virtual void actualRedraw(void);
void updateSpeedIndicator(void);
float maxSpeed;
////////////////////////ANIM_SPEED_INDICATOR///////////////////////
// FWJ added for Ortho camera
float defaultHeight;
float defaultHeightAngle;
// Used by G4 app during element rotations, stores previous view
SbVec3f upVector, offsetFromCenter, center;
bool rotUpVec;
SoSeparator * newSceneGraph;
};
#endif /* G4OPENINVENTORXTEXAMINERVIEWER_HH */
@@ -0,0 +1,53 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
// $Id: G4OpenInventorXt.hh,v 1.3 2006-06-29 21:20:38 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
//
//
// Andrew Walkden 27th March 1996
// OpenInventor graphics system factory.
// Frederick Jones and TJR October 2012
// Extended driver based on G4OpenInventorXt.hh
// Uses G4OpenInventorXtExaminerViewer.
#ifndef G4OPENINVENTORXTEXTENDED_HH
#define G4OPENINVENTORXTEXTENDED_HH
#include "G4OpenInventor.hh"
class G4OpenInventorXtExtended: public G4OpenInventor {
public:
G4OpenInventorXtExtended ();
virtual ~G4OpenInventorXtExtended ();
G4VViewer* CreateViewer(G4VSceneHandler&,const G4String& name = "");
private:
virtual void Initialize();
private:
bool fInited;
};
#endif
@@ -0,0 +1,89 @@
//
// ********************************************************************
// * License and Disclaimer *
// * *
// * The Geant4 software is copyright of the Copyright Holders of *
// * the Geant4 Collaboration. It is provided under the terms and *
// * conditions of the Geant4 Software License, included in the file *
// * LICENSE and available at http://cern.ch/geant4/license . These *
// * include a list of copyright holders. *
// * *
// * Neither the authors of this software system, nor their employing *
// * institutes,nor the agencies providing financial support for this *
// * work make any representation or warranty, express or implied, *
// * regarding this software system or assume any liability for its *
// * use. Please see the license in the file LICENSE and URL above *
// * for the full disclaimer and the limitation of liability. *
// * *
// * This code implementation is the result of the scientific and *
// * technical work of the GEANT4 collaboration. *
// * By using, copying, modifying or distributing the software (or *
// * any work based on the software) you agree to acknowledge its *
// * use in resulting scientific publications, and indicate your *
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
//
//
//
// Jeff Kallenbach 01 Aug 1996
// OpenInventor viewer - opens window, hard copy, etc.
#ifndef G4OPENINVENTORXTEXTENDEDVIEWER_HH
#define G4OPENINVENTORXTEXTENDEDVIEWER_HH
#ifdef G4VIS_BUILD_OI_DRIVER
// Inheritance :
#include "G4OpenInventorViewer.hh"
#include <X11/Intrinsic.h>
#include <Inventor/nodes/SoEventCallback.h>
class G4OpenInventorXtExaminerViewer;
class G4OpenInventorXtExtendedViewer: public G4OpenInventorViewer {
public: //G4VViewer
virtual void FinishView();
virtual void SetView();
protected:
virtual void ViewerRender();
virtual SoCamera* GetCamera();
public:
G4OpenInventorXtExtendedViewer(G4OpenInventorSceneHandler& scene,
const G4String& name = "");
void Initialise();
virtual ~G4OpenInventorXtExtendedViewer();
private:
Widget AddMenu(Widget,const G4String&,const G4String&);
void AddButton(Widget,const G4String&,XtCallbackProc);
private:
static void PostScriptCbk(Widget,XtPointer,XtPointer);
static void PixmapPostScriptCbk(Widget,XtPointer,XtPointer);
static void WriteInventorCbk(Widget,XtPointer,XtPointer);
static void LoadInventorCbk(Widget,XtPointer,XtPointer);
static void EscapeCbk(Widget,XtPointer,XtPointer);
static void EscapeFromKeyboardCbk(void * o);
static void SceneGraphStatisticsCbk(Widget,XtPointer,XtPointer);
static void EraseDetectorCbk(Widget,XtPointer,XtPointer);
static void EraseEventCbk(Widget,XtPointer,XtPointer);
static void SetSolidCbk(Widget,XtPointer,XtPointer);
static void SetWireFrameCbk(Widget,XtPointer,XtPointer);
static void SetReducedWireFrameCbk(Widget,XtPointer,XtPointer);
static void SetFullWireFrameCbk(Widget,XtPointer,XtPointer);
static void UpdateSceneCbk(Widget,XtPointer,XtPointer);
static void HelpCbk(Widget,XtPointer,XtPointer);
static void HelpCancelCbk(Widget,XtPointer,XtPointer);
static void SetPreviewCbk(Widget,XtPointer,XtPointer);
static void SetPreviewAndFullCbk(Widget,XtPointer,XtPointer);
private:
Widget fShell;
G4OpenInventorXtExaminerViewer* fViewer;
Widget fHelpForm;
Widget fHelpText;
};
#endif
#endif
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: G4OpenInventorXtViewer.hh,v 1.15 2009-09-18 12:48:43 lgarnier Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
//
// Jeff Kallenbach 01 Aug 1996
@@ -55,10 +54,9 @@ public:
void Initialise();
virtual ~G4OpenInventorXtViewer();
private:
protected:
Widget AddMenu(Widget,const G4String&,const G4String&);
void AddButton(Widget,const G4String&,XtCallbackProc);
private:
static void PostScriptCbk(Widget,XtPointer,XtPointer);
static void PixmapPostScriptCbk(Widget,XtPointer,XtPointer);
static void WriteInventorCbk(Widget,XtPointer,XtPointer);
@@ -75,7 +73,6 @@ private:
static void HelpCancelCbk(Widget,XtPointer,XtPointer);
static void SetPreviewCbk(Widget,XtPointer,XtPointer);
static void SetPreviewAndFullCbk(Widget,XtPointer,XtPointer);
private:
Widget fShell;
SoXtExaminerViewer* fViewer;
Widget fHelpForm;
@@ -53,6 +53,9 @@ class G4Polyhedron;
class Geant4_SoPolyhedron : public SoShape {
SO_NODE_HEADER(Geant4_SoPolyhedron);
private:
Geant4_SoPolyhedron(const Geant4_SoPolyhedron&);
Geant4_SoPolyhedron& operator=(const Geant4_SoPolyhedron&);
public:
SoSFBool solid;
SoSFBool reducedWireFrame;
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: SbMath.h,v 1.4 2006-06-29 21:20:46 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
#ifndef HEPVis_SbMath_h
#define HEPVis_SbMath_h
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: SoDetectorTreeKit.h,v 1.5 2006-06-29 21:21:16 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
/*-----------------------------HEPVis----------------------------------------*/
/* */
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: SoBox.h,v 1.3 2006-06-29 21:21:18 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
/*-----------------------------Hepvis----------------------------------------*/
/* */
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: SoCons.h,v 1.3 2006-06-29 21:21:20 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
/*-----------------------------Hepvis----------------------------------------*/
/* */
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: SoTrap.h,v 1.4 2006-06-29 21:22:06 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
/*-----------------------------Hepvis----------------------------------------*/
/* */
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: SoTrd.h,v 1.3 2006-06-29 21:22:08 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
/*-----------------------------Hepvis----------------------------------------*/
/* */
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: SoTubs.h,v 1.3 2006-06-29 21:22:10 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
/*-----------------------------Hepvis----------------------------------------*/
/* */
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: SoG4LineSet.h,v 1.2 2006-12-13 15:49:51 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// John Allison 26th October 2006
// Extended SoLineSet to include G4Atts.
@@ -23,8 +23,7 @@
// * acceptance of all terms of the Geant4 Software license. *
// ********************************************************************
//
// $Id: SoG4MarkerSet.h,v 1.2 2006-12-13 15:49:53 gunter Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// John Allison 26th October 2006
// Extended SoMarkerSet to include G4Atts.
@@ -24,8 +24,7 @@
// ********************************************************************
//
//
// $Id: SoG4Polyhedron.h,v 1.3 2007-09-17 16:08:00 gcosmo Exp $
// GEANT4 tag $Name: not supported by cvs2svn $
// $Id$
//
// John Allison 26th October 2006
// Extended Geant4_SoPolyhedron to include G4Atts.
@@ -0,0 +1,58 @@
/**************************************************************************\
*
* This file is part of the Coin 3D visualization library.
* Copyright (C) 1998-2004 by Systems in Motion. All rights reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* ("GPL") version 2 as published by the Free Software Foundation.
* See the file LICENSE.GPL at the root directory of this source
* distribution for additional information about the GNU GPL.
*
* For using Coin with software that can not be combined with the GNU
* GPL, and for taking advantage of the additional benefits of our
* support services, please contact Systems in Motion about acquiring
* a Coin Professional Edition License.
*
* See <URL:http://www.coin3d.org/> for more information.
*
* Systems in Motion, Teknobyen, Abels Gate 5, 7030 Trondheim, NORWAY.
* <URL:http://www.sim.no/>.
*
\**************************************************************************/
#ifndef SOXTINTERNALUTILS_H
#define SOXTINTERNALUTILS_H
#include <X11/Intrinsic.h>
#include <Inventor/SbBasic.h> // SbBool
// ************************************************************************
// This class contains common data and methods that we want to share
// among classes within SoXt, but which should not be publicly visible
// in the library API.
class SoXtInternal {
public:
static void selectBestVisual(Display * dpy, Visual * & visual,
Colormap & cmap, int & depth);
static Pixmap createPixmapFromXpm(Widget button, const char ** xpm,
SbBool ghost = FALSE);
static void setAppName(const char * appname);
static void setAppClass(const char * appclass);
static const char * getAppName(void);
static const char * getAppClass(void);
private:
static const char * xpmErrorString(int error);
static char * appname;
static char * appclass;
};
// ************************************************************************
#endif // ! SOXTINTERNALUTILS_H
@@ -0,0 +1,242 @@
#ifndef COIN_PIXMAP_CONSOLE_XPM
#define COIN_PIXMAP_CONSOLE_XPM
/* XPM */
static const char * console_xpm[] = {
"24 24 210 2",
" c None",
". c #808082",
"+ c #79797B",
"@ c #7A7A7C",
"# c #7A7A7D",
"$ c #7B7B7D",
"% c #7C7C7E",
"& c #7D7D7F",
"* c #828284",
"= c #E6E6E7",
"- c #E7E7E8",
"; c #E6E7E7",
"> c #E6E6E6",
", c #E5E5E6",
"' c #E4E4E5",
") c #E3E3E4",
"! c #E2E2E3",
"~ c #DFDFE0",
"{ c #9B9B9D",
"] c #87888A",
"^ c #868788",
"/ c #858687",
"( c #848586",
"_ c #838485",
": c #818183",
"< c #7F7F81",
"[ c #7D7E80",
"} c #7C7D7F",
"| c #7B7C7E",
"1 c #7A7B7D",
"2 c #797A7C",
"3 c #78797B",
"4 c #777779",
"5 c #757678",
"6 c #747577",
"7 c #858587",
"8 c #D9D9DA",
"9 c #D5D5D7",
"0 c #747476",
"a c #767778",
"b c #767678",
"c c #717274",
"d c #737375",
"e c #6F6F71",
"f c #717173",
"g c #707173",
"h c #6C6D6F",
"i c #6E6F71",
"j c #6E6E70",
"k c #6A6A6C",
"l c #6C6C6E",
"m c #6B6C6E",
"n c #67686A",
"o c #656567",
"p c #606063",
"q c #CECED0",
"r c #C9CACC",
"s c #636466",
"t c #626365",
"u c #6B6C6D",
"v c #98999A",
"w c #99999A",
"x c #646566",
"y c #898A8B",
"z c #646466",
"A c #626264",
"B c #616264",
"C c #5D5E5F",
"D c #5F6062",
"E c #5F5F61",
"F c #5B5B5D",
"G c #5D5D5F",
"H c #59595B",
"I c #545557",
"J c #49494C",
"K c #BCBCBF",
"L c #BCBDBF",
"M c #4D4D50",
"N c #525255",
"O c #909092",
"P c #595A5C",
"Q c #59595C",
"R c #57575A",
"S c #757577",
"T c #545457",
"U c #505052",
"V c #525254",
"W c #4F5052",
"X c #4F4F52",
"Y c #494A4C",
"Z c #3D3D40",
"` c #1F2023",
" . c #ACACAF",
".. c #A7A8AA",
"+. c #2B2C2E",
"@. c #393A3C",
"#. c #464749",
"$. c #434446",
"%. c #5A5A5C",
"&. c #5D5E60",
"*. c #808182",
"=. c #424345",
"-. c #3E3F41",
";. c #404143",
">. c #3F4042",
",. c #3C3D3F",
"'. c #3D3E40",
"). c #3B3C3E",
"!. c #37383A",
"~. c #2F3032",
"{. c #1A1B1E",
"]. c #A6A6A9",
"^. c #9FA0A3",
"/. c #212124",
"(. c #2C2C2F",
"_. c #67676A",
":. c #424245",
"<. c #434345",
"[. c #676769",
"}. c #3C3C3F",
"|. c #39393B",
"1. c #6D6D70",
"2. c #3F3F41",
"3. c #3E3E41",
"4. c #363639",
"5. c #38383B",
"6. c #2E2E31",
"7. c #1A1A1D",
"8. c #A0A0A3",
"9. c #999A9D",
"0. c #202122",
"a. c #2D2E30",
"b. c #39393C",
"c. c #757578",
"d. c #4C4D4F",
"e. c #505053",
"f. c #616164",
"g. c #5F5F62",
"h. c #666668",
"i. c #37383B",
"j. c #393A3D",
"k. c #191A1C",
"l. c #939497",
"m. c #1F1F22",
"n. c #2D2D30",
"o. c #37373A",
"p. c #2E2E32",
"q. c #19191B",
"r. c #8C8D91",
"s. c #1E1E21",
"t. c #353538",
"u. c #18181B",
"v. c #8D8E91",
"w. c #86878B",
"x. c #1D1D1F",
"y. c #2D2D2F",
"z. c #373739",
"A. c #17171A",
"B. c #86888B",
"C. c #808185",
"D. c #1C1C1E",
"E. c #2C2C2E",
"F. c #363738",
"G. c #38393A",
"H. c #38393B",
"I. c #161719",
"J. c #808285",
"K. c #797B7E",
"L. c #1B1B1E",
"M. c #2A2A2D",
"N. c #343436",
"O. c #363638",
"P. c #161618",
"Q. c #7A7C7F",
"R. c #737578",
"S. c #212123",
"T. c #27272A",
"U. c #28292B",
"V. c #29292B",
"W. c #222224",
"X. c #151518",
"Y. c #747579",
"Z. c #6C6E71",
"`. c #252528",
" + c #262629",
".+ c #28282B",
"++ c #29292C",
"@+ c #2B2B2D",
"#+ c #2B2B2E",
"$+ c #252628",
"%+ c #343437",
"&+ c #6C6E72",
"*+ c #313233",
"=+ c #65676B",
"-+ c #66676B",
";+ c #66686B",
">+ c #5A7281",
",+ c #5B6E7A",
"'+ c #3B3C3D",
")+ c #444548",
"!+ c #494A4D",
"~+ c #4D4E50",
"{+ c #505153",
"]+ c #535456",
"^+ c #565759",
"/+ c #56575A",
"(+ c #575F64",
"_+ c #53595E",
":+ c #4B4C4E",
"<+ c #454649",
" ",
" ",
" ",
" . + @ # $ % & & & & & & & & & & & % $ @ + * ",
" = - - - - - - - ; = = = > , , , ' ' ) ) ! ! ",
" ~ { ] ^ / ( _ * : . < [ } | 1 2 3 4 5 6 7 8 ",
" 9 2 6 0 a b c 0 d e f g h i j k l m n o p q ",
" r s t u v w u x y z A B C D E F C G H I J K ",
" L M N O P Q 5 R S e I T U N V M W X Y Z ` . ",
" ..+.@.* #.#.$.%.&.*.=.=.-.;.>.,.'.).!.~.{.]. ",
" ^./.(._.:.<.[.).}.|.1.2.3.:.}.4.5.5.4.6.7.8. ",
" 9.0.a.b.0 c.).d.e.b.f.g.h.0 e.i.j.j.i.~.k.9. ",
" l.m.n.o.b.b.o.b.b.o.b.b.o.b.b.o.b.b.o.p.q.l. ",
" r.s.+.t.o.o.t.o.o.t.o.o.t.o.o.t.o.o.t.n.u.v. ",
" w.x.y.z.|.b.z.|.b.z.|.|.z.|.b.z.|.b.z.6.A.B. ",
" C.D.E.F.G.H.F.G.H.F.G.H.F.G.H.F.G.H.F.a.I.J. ",
" K.L.M.N.O.O.N.O.O.N.O.O.N.O.O.N.O.O.N.E.P.Q. ",
" R.7.S.T.U.V.T.U.V.T.U.V.T.U.V.T.U.V.T.W.X.Y. ",
" Z.i.`. +.+++@+#+#+#+#+#+#+#+#+#+@+++T.$+%+&+ ",
"*+=+=+=+=+-+-+;+;+;+;+;+;+;+;+;+;+-+-+>+,+=+=+'+",
" )+!+~+{+]+^+P P P P P P P P P P P /+(+_+:+<+ ",
" ",
" ",
" "};
#endif /* !COIN_PIXMAP_CONSOLE_XPM */
@@ -0,0 +1,269 @@
#ifndef COIN_PIXMAP_FAVORITES_XPM
#define COIN_PIXMAP_FAVORITES_XPM
/* XPM */
static const char *favorites_xpm[] = {
/* columns rows colors chars-per-pixel */
"24 24 234 2 ",
" c #AF6D03",
". c #BA6F07",
"X c #AE7306",
"o c #AB7406",
"O c #AD7608",
"+ c #AE7708",
"@ c #AF7709",
"# c #B27307",
"$ c #BA7207",
"% c #B17008",
"& c #B57009",
"* c #B7720A",
"= c #B9730A",
"- c #BC7009",
"; c #B17809",
": c #B27B09",
"> c #B2780A",
", c #B57D0A",
"< c #B17C0F",
"1 c #B67F0D",
"2 c #BE7B0B",
"3 c #CE7E0E",
"4 c #ED7F1E",
"5 c #BA800D",
"6 c #B8810F",
"7 c #BA8311",
"8 c #B68B1E",
"9 c #BA8919",
"0 c #BB8E21",
"q c #B89123",
"w c #BE9324",
"e c #B99426",
"r c #C6830F",
"t c #DE8111",
"y c #DE8215",
"u c #DA8914",
"i c #E18117",
"p c #EF8213",
"a c #EA8E17",
"s c #E1831D",
"d c #E3801E",
"f c #FB8214",
"g c #FF8C17",
"h c #FF831C",
"j c #F68F19",
"k c #FE8F19",
"l c #FF9119",
"z c #FF9219",
"x c #FF911B",
"c c #FF961B",
"v c #FF901D",
"b c #FF951C",
"n c #FF951D",
"m c #FF961C",
"M c #FF961D",
"N c #FF971D",
"B c #FF971E",
"V c #FF991C",
"C c #FF991D",
"Z c #FF9A1D",
"A c #FF991E",
"S c #FF9A1E",
"D c #FF9B1E",
"F c #FF9B1F",
"G c #FF9C1F",
"H c #FF9D1F",
"J c #FF9E1F",
"K c #C0982C",
"L c #C29F35",
"P c #CA9C33",
"I c #E98722",
"U c #FF8F25",
"Y c #FF9124",
"T c #FC9325",
"R c #FC9027",
"E c #F49B23",
"W c #FF9820",
"Q c #FD9E20",
"! c #FF9E20",
"~ c #FF9F20",
"^ c #FF9629",
"/ c #FF902F",
"( c #F39C2B",
") c #FF9A29",
"_ c #FF9C29",
"` c #FF9731",
"' c #C4A336",
"] c #CCA337",
"[ c #D9A23F",
"{ c #FFA020",
"} c #FFA121",
"| c #FFA221",
" . c #FFA321",
".. c #FFA322",
"X. c #FFA721",
"o. c #FFA422",
"O. c #FFA522",
"+. c #FFA523",
"@. c #FFA623",
"#. c #FFA723",
"$. c #FFA724",
"%. c #FFA823",
"&. c #FFA824",
"*. c #FFA924",
"=. c #FFAA24",
"-. c #FFAA25",
";. c #FFAB25",
":. c #FFAC25",
">. c #FFAD25",
",. c #FFAD26",
"<. c #FFAD27",
"1. c #FFAE26",
"2. c #FFAF26",
"3. c #F8AB2B",
"4. c #FFA829",
"5. c #FFAF28",
"6. c #FFAE2B",
"7. c #FFB027",
"8. c #FFB127",
"9. c #FFB326",
"0. c #FFB427",
"q. c #FFB627",
"w. c #FFB228",
"e. c #FFB32B",
"r. c #FFB428",
"t. c #FFB529",
"y. c #FFB728",
"u. c #FFB629",
"i. c #FFB929",
"p. c #FFBA2A",
"a. c #FFBB2B",
"s. c #FFBC2E",
"d. c #F7AE32",
"f. c #FFB033",
"g. c #FFBE32",
"h. c #FFBC38",
"j. c #FFC13D",
"k. c #FFC03E",
"l. c #FFC23E",
"z. c #DBAF42",
"x. c #F2A441",
"c. c #F3A643",
"v. c #F6B546",
"b. c #FFBF41",
"n. c #FFBE43",
"m. c #FFB847",
"M. c #FFBA47",
"N. c #FFBD46",
"B. c #FFB64D",
"V. c #F7BA4A",
"C. c #FFBC48",
"Z. c #E7BB51",
"A. c #E6B358",
"S. c #FFBC58",
"D. c #FDB85C",
"F. c #FFC440",
"G. c #FFC644",
"H. c #FFC748",
"J. c #FFC94B",
"K. c #FFC94C",
"L. c #FFC94D",
"P. c #FFC755",
"I. c #FFCE52",
"U. c #FFCF53",
"Y. c #FFCF55",
"T. c #FFCF56",
"R. c #FFCC59",
"E. c #FFD057",
"W. c #FFD05B",
"Q. c #FFD25A",
"!. c #FFD05E",
"~. c #F3CA63",
"^. c #FFCE61",
"/. c #F0C96F",
"(. c #FFCE69",
"). c #FFCF69",
"_. c #FFCC6A",
"`. c #FFCC6B",
"'. c #FFC86D",
"]. c #FFC96D",
"[. c #FFCB6C",
"{. c #FFD061",
"}. c #FFD064",
"|. c #FFD067",
" X c #FFD666",
".X c #FFD767",
"XX c #F5D26E",
"oX c #FBD46E",
"OX c #FFD76C",
"+X c #FFD76F",
"@X c #FFDA6D",
"#X c #E9C972",
"$X c #F2C270",
"%X c #FFCB77",
"&X c #EAD17E",
"*X c #FFD773",
"=X c #FFD776",
"-X c #FFDC76",
";X c #F0D57C",
":X c #FFD679",
">X c #FFDD78",
",X c #FFDD7B",
"<X c #FFDC7F",
"1X c #FFE079",
"2X c #FFE27D",
"3X c #F9CF81",
"4X c #FFDC82",
"5X c #F0DC89",
"6X c #F2DD8F",
"7X c #FFDC89",
"8X c #FFD88E",
"9X c #FFDE95",
"0X c #FFE282",
"qX c #FFE287",
"wX c #FFE28A",
"eX c #FFE18C",
"rX c #FFE28E",
"tX c #FFE792",
"yX c #FFE297",
"uX c #FFE794",
"iX c #FFEB92",
"pX c #FFE799",
"aX c #FFEB9B",
"sX c #FFEC99",
"dX c #FAEA9F",
"fX c #FFECA0",
"gX c #FFEEA4",
"hX c #FFF4AE",
"jX c #FFF5AF",
"kX c #FFF1B1",
"lX c #FFF5B5",
"zX c #FFF9C8",
"xX c #FFFDCD",
"cX c None",
/* pixels */
"cXcXcXcXcXcXcXcXcXcXcXcXcXcXcXcXcXcXcXcXcXcXcXcX",
"cXcXcXcXcXcXcXcXcXcXcXdX5XcXcXcXcXcXcXcXcXcXcXcX",
"cXcXcXcXcXcXcXcXcXcX' xXzXe cXcXcXcXcXcXcXcXcXcX",
"cXcXcXcXcXcXcXcXcXcX6XhXlX&XcXcXcXcXcXcXcXcXcXcX",
"cXcXcXcXcXcXcXcXcXL hXaXfXkXq cXcXcXcXcXcXcXcXcX",
"cXcXcXcXcXcXcXcXcX;XaXiXuXgX#XcXcXcXcXcXcXcXcXcX",
"cXcXcXcXcXcXcXcXK iX0XwXwXeXpX8 cXcXcXcXcXcXcXcX",
"cXcXcXcXcXcXw ] XX1X-X,X4X4XeX/.P 0 cXcXcXcXcXcX",
"cXz.Z.~.oX-X1X2X@X XOXOX*X*X:X7XyX9X8X3X$XA.z.cX",
"9 ^..XW.E.T.I.I.T.W.!.{.}.|.|.`.`.`.`.].].%XD.< ",
"cX7 V.R.L.J.L.J.H.G.l.l.l.l.F.N.N.m.m.m.S.c.> cX",
"cXcX5 v.P.l.g.g.a.a.a.q.q.w.9.5.5.e.f.B.x.+ cXcX",
"cXcXcX6 d.h.r.r.a.r.r.q.w.9.,.,.;.+.4.( + cXcXcX",
"cXcXcXcX, 3.r.w.9.,.9.,.,.;.;.;.$...E o cXcXcXcX",
"cXcXcXcXcX5 ,.,.;.;.=.;.=.+.+.....~ : cXcXcXcXcX",
"cXcXcXcXcX: ;.+.;.$.=.+.+.{ ....~ Z o cXcXcXcXcX",
"cXcXcXcXcXr $.....{ ..{ { { ~ W Z Z 2 cXcXcXcXcX",
"cXcXcXcXcXu ..~ ..G G G G Z Z b b b 3 cXcXcXcXcX",
"cXcXcXcXcXa G Z Z Z ~ b b Z b l l v t cXcXcXcXcX",
"cXcXcXcXcXj b Z ) T y X # i R ^ v k p cXcXcXcXcX",
"cXcXcXcXcXk ) ` d # cXcXcXcX* d / U f cXcXcXcXcX",
"cXcXcXcX= Y I * cXcXcXcXcXcXcXcX- 4 h cXcXcXcX",
"cXcXcXcXcX= cXcXcXcXcXcXcXcXcXcXcXcX$ cXcXcXcXcX",
"cXcXcXcXcXcXcXcXcXcXcXcXcXcXcXcXcXcXcXcXcXcXcXcX"
};
#endif /* !COIN_PIXMAP_FAVORITES_XPM */
@@ -0,0 +1,90 @@
#ifndef COIN_PIXMAP_SAVEVIEWPT_XPM
#define COIN_PIXMAP_SAVEVIEWPT_XPM
/* XPM */
static const char * saveViewPt_xpm[] = {
"24 24 58 1",
" c None",
". c #040404",
"+ c #050504",
"@ c #0B0B04",
"# c #0C0C04",
"$ c #060604",
"% c #0A0B0A",
"& c #141414",
"* c #070707",
"= c #101010",
"- c #0E0F0E",
"; c #050505",
"> c #3B3C04",
", c #424404",
"' c #121204",
") c #383938",
"! c #818381",
"~ c #191919",
"{ c #626362",
"] c #575857",
"^ c #0E0F04",
"/ c #575904",
"( c #616304",
"_ c #191904",
": c #525352",
"< c #BFC2BF",
"[ c #1B1C1B",
"} c #6D6F6D",
"| c #616361",
"1 c #090909",
"2 c #0D0D04",
"3 c #2B2C04",
"4 c #262704",
"5 c #080804",
"6 c #717304",
"7 c #4C4E04",
"8 c #4F512B",
"9 c #808304",
"0 c #515204",
"a c #6F7104",
"b c #737604",
"c c #666904",
"d c #787B04",
"e c #555704",
"f c #2A2B04",
"g c #171817",
"h c #454645",
"i c #242524",
"j c #333433",
"k c #A0A2A0",
"l c #0E0E04",
"m c #424304",
"n c #343504",
"o c #232423",
"p c #6C6E6C",
"q c #0A0A04",
"r c #080808",
"s c #111111",
"........................",
".+@#$%&&&&&&&&&&&&&%*=-;",
".@>,')!!!!!!!!!!!!!)~{]-",
".^/(_:<<<<<<<<<<<<<:[}|=",
".^/(_:<<<<<<<<<<<<<:1[~*",
".^/(_:<<<<<<<<<<<<<:2345",
".^/(_:<<<<<<<<<<<<<:_(/^",
".^/(_:<<<<<<<<<<<<<:_(/^",
".^/(_:<<<<<<<<<<<<<:_(/^",
".^/(_:<<<<<<<<<<<<<:_(/^",
".^/(_:<<<<<<<<<<<<<:_(/^",
".^/(_:<<<<<<<<<<<<<:_(/^",
".^/678|||||||||||||876/^",
".^/990^^^^^^^^^^^^^099/^",
".^/99a/////////////a99/^",
".^/99b((((((((((((((cd/^",
".^/99e______________fc/^",
".^/997.........gh::i_(/^",
".^/997.........jk<<:_(/^",
".^/997.........jk<<:_(/^",
".^/997.........jk<<:_(/^",
".^/997.........jk<<:_(/^",
".lm//n.........op!!)'m>@",
" l^^q.........rs&&%$#@+"};
#endif /* !COIN_PIXMAP_SAVEVIEWPT_XPM */
@@ -0,0 +1,35 @@
/* file whellmouse.h
*
* Event handler for wheelmouse
*/
/*
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef WHEELMOUSE_H
#define WHEELMOUSE_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
extern void xmAddMouseEventHandler(Widget w);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif