Import Geant4 7.1.0 source tree
This commit is contained in:
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4OpenInventor.cc,v 1.16 2004/11/22 20:02:48 gbarrand Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
// $Id: G4OpenInventor.cc,v 1.17 2005/06/02 17:43:46 allison Exp $
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
//
|
||||
#ifdef G4VIS_BUILD_OI_DRIVER
|
||||
|
||||
@@ -64,8 +64,6 @@ G4VInteractorManager* G4OpenInventor::GetInteractorManager () {
|
||||
}
|
||||
G4VSceneHandler* G4OpenInventor::CreateSceneHandler (const G4String& name) {
|
||||
G4VSceneHandler* p = new G4OpenInventorSceneHandler (*this, name);
|
||||
G4cout << G4OpenInventorSceneHandler::GetSceneCount ()
|
||||
<< ' ' << fName << " scene handlers extanct." << G4endl;
|
||||
return p;
|
||||
}
|
||||
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4OpenInventorSceneHandler.cc,v 1.35 2004/11/25 15:35:36 gbarrand Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
// $Id: G4OpenInventorSceneHandler.cc,v 1.38 2005/06/02 17:43:46 allison Exp $
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
//
|
||||
//
|
||||
// Jeff Kallenbach 01 Aug 1996
|
||||
@@ -101,8 +101,6 @@ G4Point3D translation;
|
||||
|
||||
G4int G4OpenInventorSceneHandler::fSceneIdCount = 0;
|
||||
|
||||
G4int G4OpenInventorSceneHandler::fSceneCount = 0;
|
||||
|
||||
G4OpenInventorSceneHandler::G4OpenInventorSceneHandler (G4OpenInventor& system,
|
||||
const G4String& name)
|
||||
:G4VSceneHandler (system, fSceneIdCount++, name)
|
||||
@@ -115,8 +113,6 @@ G4OpenInventorSceneHandler::G4OpenInventorSceneHandler (G4OpenInventor& system,
|
||||
,fStyleCache(0)
|
||||
,fPreviewAndFull(false)
|
||||
{
|
||||
fSceneCount++;
|
||||
|
||||
fStyleCache = new SoStyleCache;
|
||||
fStyleCache->ref();
|
||||
|
||||
@@ -139,7 +135,6 @@ G4OpenInventorSceneHandler::~G4OpenInventorSceneHandler ()
|
||||
{
|
||||
fRoot->unref();
|
||||
fStyleCache->unref();
|
||||
fSceneCount--;
|
||||
}
|
||||
|
||||
//
|
||||
@@ -191,8 +186,6 @@ void G4OpenInventorSceneHandler::AddPrimitive (const G4Polyline& line) {
|
||||
}
|
||||
|
||||
void G4OpenInventorSceneHandler::AddPrimitive (const G4Polymarker& polymarker) {
|
||||
//G4VSceneHandler::AddPrimitive (polymarker);
|
||||
|
||||
G4int pointn = polymarker.size();
|
||||
if(pointn<=0) return;
|
||||
|
||||
@@ -215,20 +208,80 @@ void G4OpenInventorSceneHandler::AddPrimitive (const G4Polymarker& polymarker) {
|
||||
coordinate3->point.setValues(0,pointn,points);
|
||||
fCurrentSeparator->addChild(coordinate3);
|
||||
|
||||
const G4VMarker& marker = polymarker;
|
||||
G4bool userSpecified = (marker.GetWorldSize() || marker.GetScreenSize());
|
||||
const G4VMarker& def = fpViewer -> GetViewParameters().GetDefaultMarker();
|
||||
//const G4Vector3D& viewpointDirection =
|
||||
// fpViewer -> GetViewParameters().GetViewpointDirection();
|
||||
//const G4Vector3D& up = fpViewer->GetViewParameters().GetUpVector();
|
||||
G4double scale = fpViewer -> GetViewParameters().GetGlobalMarkerScale();
|
||||
G4double size = scale *
|
||||
userSpecified ? marker.GetWorldSize() : def.GetWorldSize();
|
||||
G4double screenSize = 0; // Calculate marker in screen size...
|
||||
if (size) { // Size specified in world coordinates.
|
||||
screenSize = 10.; // This needs to be much more sophisticated!
|
||||
} else { // Size specified in screen coordinates (pixels).
|
||||
screenSize = scale *
|
||||
userSpecified ? marker.GetScreenSize() : def.GetScreenSize();
|
||||
}
|
||||
|
||||
SoMarkerSet* markerSet = new SoMarkerSet;
|
||||
markerSet->numPoints = pointn;
|
||||
|
||||
G4VMarker::FillStyle style = marker.GetFillStyle();
|
||||
switch (polymarker.GetMarkerType()) {
|
||||
default:
|
||||
// Are available 5_5, 7_7 and 9_9
|
||||
case G4Polymarker::dots:{
|
||||
markerSet->markerIndex = SoMarkerSet::CIRCLE_LINE_5_5;
|
||||
}break;
|
||||
case G4Polymarker::circles:{
|
||||
markerSet->markerIndex = SoMarkerSet::CIRCLE_LINE_7_7;
|
||||
}break;
|
||||
case G4Polymarker::squares:{
|
||||
markerSet->markerIndex = SoMarkerSet::SQUARE_LINE_7_7;
|
||||
}break;
|
||||
// Are available 5_5, 7_7 and 9_9
|
||||
case G4Polymarker::dots:
|
||||
if (screenSize <= 5.) {
|
||||
markerSet->markerIndex = SoMarkerSet::CIRCLE_FILLED_5_5;
|
||||
} else if (screenSize <= 7.) {
|
||||
markerSet->markerIndex = SoMarkerSet::CIRCLE_FILLED_7_7;
|
||||
} else {
|
||||
markerSet->markerIndex = SoMarkerSet::CIRCLE_FILLED_9_9;
|
||||
}
|
||||
break;
|
||||
case G4Polymarker::circles:
|
||||
if (screenSize <= 5.) {
|
||||
if (style == G4VMarker::filled) {
|
||||
markerSet->markerIndex = SoMarkerSet::CIRCLE_FILLED_5_5;
|
||||
} else {
|
||||
markerSet->markerIndex = SoMarkerSet::CIRCLE_LINE_5_5;
|
||||
}
|
||||
} else if (screenSize <= 7.) {
|
||||
if (style == G4VMarker::filled) {
|
||||
markerSet->markerIndex = SoMarkerSet::CIRCLE_FILLED_7_7;
|
||||
} else {
|
||||
markerSet->markerIndex = SoMarkerSet::CIRCLE_LINE_7_7;
|
||||
}
|
||||
} else {
|
||||
if (style == G4VMarker::filled) {
|
||||
markerSet->markerIndex = SoMarkerSet::CIRCLE_FILLED_9_9;
|
||||
} else {
|
||||
markerSet->markerIndex = SoMarkerSet::CIRCLE_LINE_9_9;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case G4Polymarker::squares:
|
||||
if (screenSize <= 5.) {
|
||||
if (style == G4VMarker::filled) {
|
||||
markerSet->markerIndex = SoMarkerSet::SQUARE_FILLED_5_5;
|
||||
} else {
|
||||
markerSet->markerIndex = SoMarkerSet::SQUARE_LINE_5_5;
|
||||
}
|
||||
} else if (screenSize <= 7.) {
|
||||
if (style == G4VMarker::filled) {
|
||||
markerSet->markerIndex = SoMarkerSet::SQUARE_FILLED_7_7;
|
||||
} else {
|
||||
markerSet->markerIndex = SoMarkerSet::SQUARE_LINE_7_7;
|
||||
}
|
||||
} else {
|
||||
if (style == G4VMarker::filled) {
|
||||
markerSet->markerIndex = SoMarkerSet::SQUARE_FILLED_9_9;
|
||||
} else {
|
||||
markerSet->markerIndex = SoMarkerSet::SQUARE_LINE_9_9;
|
||||
}
|
||||
}
|
||||
}
|
||||
fCurrentSeparator->addChild(markerSet);
|
||||
|
||||
@@ -278,56 +331,22 @@ void G4OpenInventorSceneHandler::AddPrimitive (const G4Text& text) {
|
||||
// Method for handling G4Circle objects
|
||||
//
|
||||
void G4OpenInventorSceneHandler::AddPrimitive (const G4Circle& circle) {
|
||||
//
|
||||
// Color
|
||||
//
|
||||
const G4Colour& c = GetColour (circle);
|
||||
SoMaterial* material =
|
||||
fStyleCache->getMaterial((float)c.GetRed(),
|
||||
(float)c.GetGreen(),
|
||||
(float)c.GetBlue(),
|
||||
(float)(1-c.GetAlpha()));
|
||||
fCurrentSeparator->addChild(material);
|
||||
|
||||
//
|
||||
// Dimensions
|
||||
//
|
||||
// (userSpecified and defaultMarker are unused - what was intended here?)
|
||||
//G4double userSpecified = circle.GetWorldSize() || circle.GetScreenSize();
|
||||
//const G4VMarker& defaultMarker =
|
||||
// fpViewer -> GetViewParameters().GetDefaultMarker();
|
||||
|
||||
G4double size = GetMarkerSize ( circle );
|
||||
|
||||
//
|
||||
// Position
|
||||
//
|
||||
|
||||
const G4Point3D cCtr = circle.GetPosition();
|
||||
|
||||
SoTranslation *cTrans = new SoTranslation;
|
||||
cTrans->translation.setValue((float)cCtr.x(),
|
||||
(float)cCtr.y(),
|
||||
(float)cCtr.z());
|
||||
fCurrentSeparator->addChild(cTrans);
|
||||
|
||||
//
|
||||
// Sphere
|
||||
//
|
||||
|
||||
SoSphere *g4Sphere = new SoSphere();
|
||||
g4Sphere->radius = (float)size;
|
||||
fCurrentSeparator->addChild(g4Sphere);
|
||||
AddCircleSquare(G4OICircle, circle);
|
||||
}
|
||||
|
||||
//
|
||||
// Method for handling G4Square objects - defaults to wireframe
|
||||
//
|
||||
void G4OpenInventorSceneHandler::AddPrimitive (const G4Square& Square) {
|
||||
void G4OpenInventorSceneHandler::AddPrimitive (const G4Square& square) {
|
||||
AddCircleSquare(G4OISquare, square);
|
||||
}
|
||||
|
||||
void G4OpenInventorSceneHandler::AddCircleSquare
|
||||
(G4OIMarker markerType, const G4VMarker& marker) {
|
||||
//
|
||||
// Color
|
||||
//
|
||||
const G4Colour& c = GetColour (Square);
|
||||
const G4Colour& c = GetColour (marker);
|
||||
SoMaterial* material =
|
||||
fStyleCache->getMaterial((float)c.GetRed(),
|
||||
(float)c.GetGreen(),
|
||||
@@ -335,29 +354,134 @@ void G4OpenInventorSceneHandler::AddPrimitive (const G4Square& Square) {
|
||||
(float)(1-c.GetAlpha()));
|
||||
fCurrentSeparator->addChild(material);
|
||||
|
||||
//
|
||||
// Size
|
||||
//
|
||||
G4double sSize = GetMarkerSize(Square);
|
||||
sSize = sSize * 2.0;
|
||||
// A few useful quantities...
|
||||
G4Point3D centre = marker.GetPosition();
|
||||
G4bool userSpecified = (marker.GetWorldSize() || marker.GetScreenSize());
|
||||
const G4VMarker& def = fpViewer -> GetViewParameters().GetDefaultMarker();
|
||||
//const G4Vector3D& viewpointDirection =
|
||||
// fpViewer -> GetViewParameters().GetViewpointDirection();
|
||||
//const G4Vector3D& up = fpViewer->GetViewParameters().GetUpVector();
|
||||
G4double scale = fpViewer -> GetViewParameters().GetGlobalMarkerScale();
|
||||
G4double size = scale *
|
||||
userSpecified ? marker.GetWorldSize() : def.GetWorldSize();
|
||||
G4double screenSize = 0; // Calculate marker in screen size...
|
||||
if (size) { // Size specified in world coordinates.
|
||||
screenSize = 10.; // This needs to be much more sophisticated!
|
||||
} else { // Size specified in screen coordinates (pixels).
|
||||
screenSize = scale *
|
||||
userSpecified ? marker.GetScreenSize() : def.GetScreenSize();
|
||||
}
|
||||
|
||||
// Borrowed from AddPrimitive(G4Polymarker) - inefficient?
|
||||
SbVec3f* points = new SbVec3f[1];
|
||||
points[0].setValue((float)centre.x(),
|
||||
(float)centre.y(),
|
||||
(float)centre.z());
|
||||
SoCoordinate3* coordinate3 = new SoCoordinate3;
|
||||
coordinate3->point.setValues(0,1,points);
|
||||
fCurrentSeparator->addChild(coordinate3);
|
||||
SoMarkerSet* markerSet = new SoMarkerSet;
|
||||
markerSet->numPoints = 1;
|
||||
|
||||
G4VMarker::FillStyle style = marker.GetFillStyle();
|
||||
switch (markerType) {
|
||||
case G4OICircle:
|
||||
if (screenSize <= 5.) {
|
||||
if (style == G4VMarker::filled) {
|
||||
markerSet->markerIndex = SoMarkerSet::CIRCLE_FILLED_5_5;
|
||||
} else {
|
||||
markerSet->markerIndex = SoMarkerSet::CIRCLE_LINE_5_5;
|
||||
}
|
||||
} else if (screenSize <= 7.) {
|
||||
if (style == G4VMarker::filled) {
|
||||
markerSet->markerIndex = SoMarkerSet::CIRCLE_FILLED_7_7;
|
||||
} else {
|
||||
markerSet->markerIndex = SoMarkerSet::CIRCLE_LINE_7_7;
|
||||
}
|
||||
} else {
|
||||
if (style == G4VMarker::filled) {
|
||||
markerSet->markerIndex = SoMarkerSet::CIRCLE_FILLED_9_9;
|
||||
} else {
|
||||
markerSet->markerIndex = SoMarkerSet::CIRCLE_LINE_9_9;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case G4OISquare:
|
||||
if (screenSize <= 5.) {
|
||||
if (style == G4VMarker::filled) {
|
||||
markerSet->markerIndex = SoMarkerSet::SQUARE_FILLED_5_5;
|
||||
} else {
|
||||
markerSet->markerIndex = SoMarkerSet::SQUARE_LINE_5_5;
|
||||
}
|
||||
} else if (screenSize <= 7.) {
|
||||
if (style == G4VMarker::filled) {
|
||||
markerSet->markerIndex = SoMarkerSet::SQUARE_FILLED_7_7;
|
||||
} else {
|
||||
markerSet->markerIndex = SoMarkerSet::SQUARE_LINE_7_7;
|
||||
}
|
||||
} else {
|
||||
if (style == G4VMarker::filled) {
|
||||
markerSet->markerIndex = SoMarkerSet::SQUARE_FILLED_9_9;
|
||||
} else {
|
||||
markerSet->markerIndex = SoMarkerSet::SQUARE_LINE_9_9;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
fCurrentSeparator->addChild(markerSet);
|
||||
|
||||
delete [] points;
|
||||
}
|
||||
|
||||
/* Old method
|
||||
//
|
||||
// Method for handling G4Square objects - defaults to wireframe
|
||||
//
|
||||
void G4OpenInventorSceneHandler::AddPrimitive (const G4Square& square) {
|
||||
//
|
||||
// Position
|
||||
// Color
|
||||
//
|
||||
const G4Point3D sOrig = Square.GetPosition();
|
||||
|
||||
const G4Colour& c = GetColour (square);
|
||||
SoMaterial* material =
|
||||
fStyleCache->getMaterial((float)c.GetRed(),
|
||||
(float)c.GetGreen(),
|
||||
(float)c.GetBlue(),
|
||||
(float)(1-c.GetAlpha()));
|
||||
fCurrentSeparator->addChild(material);
|
||||
|
||||
// A few useful quantities...
|
||||
const G4VMarker& marker = square;
|
||||
G4Point3D centre = marker.GetPosition();
|
||||
G4bool userSpecified = (marker.GetWorldSize() || marker.GetScreenSize());
|
||||
const G4VMarker& def = fpViewer -> GetViewParameters().GetDefaultMarker();
|
||||
//const G4Vector3D& viewpointDirection =
|
||||
// fpViewer -> GetViewParameters().GetViewpointDirection();
|
||||
//const G4Vector3D& up = fpViewer->GetViewParameters().GetUpVector();
|
||||
G4double scale = fpViewer -> GetViewParameters().GetGlobalMarkerScale();
|
||||
G4double size = scale *
|
||||
userSpecified ? marker.GetWorldSize() : def.GetWorldSize();
|
||||
G4double screenSize = 0, worldSize = 0; // Calculate marker in world size...
|
||||
if (size) { // Size specified in world coordinates.
|
||||
worldSize = size;
|
||||
} else { // Size specified in screen coordinates (pixels).
|
||||
screenSize = scale *
|
||||
userSpecified ? marker.GetScreenSize() : def.GetScreenSize();
|
||||
worldSize = 1. * cm; // Needs to be more sophisticated!!
|
||||
}
|
||||
|
||||
SoTranslation *sTrans = new SoTranslation;
|
||||
sTrans->translation.setValue((float)sOrig.x(),
|
||||
(float)sOrig.y(),
|
||||
(float)sOrig.z());
|
||||
sTrans->translation.setValue((float)centre.x(),
|
||||
(float)centre.y(),
|
||||
(float)centre.z());
|
||||
fCurrentSeparator->addChild(sTrans);
|
||||
|
||||
SoCube *g4Square = new SoCube();
|
||||
g4Square->width = (float)sSize;
|
||||
g4Square->height = (float)sSize;
|
||||
g4Square->depth = (float)sSize;
|
||||
g4Square->width = (float)worldize;
|
||||
g4Square->height = (float)worldSize;
|
||||
g4Square->depth = (float)worldSize;
|
||||
fCurrentSeparator->addChild(g4Square);
|
||||
}
|
||||
*/
|
||||
|
||||
//
|
||||
// Method for handling G4Polyhedron objects for drawing solids.
|
||||
@@ -502,17 +626,21 @@ void G4OpenInventorSceneHandler::ClearStore () {
|
||||
}
|
||||
|
||||
void G4OpenInventorSceneHandler::ClearTransientStore () {
|
||||
G4VSceneHandler::ClearTransientStore ();
|
||||
|
||||
fTransientRoot->removeAllChildren();
|
||||
}
|
||||
|
||||
/*
|
||||
void G4OpenInventorSceneHandler::RequestPrimitives (const G4VSolid& solid) {
|
||||
// Stop-gap solution for display List re-use.
|
||||
// A proper implementation would use geometry hierarchy.
|
||||
//
|
||||
G4VSceneHandler::RequestPrimitives (solid);
|
||||
}
|
||||
*/
|
||||
|
||||
void G4OpenInventorSceneHandler::PreAddThis
|
||||
void G4OpenInventorSceneHandler::PreAddSolid
|
||||
(const G4Transform3D& objectTransformation,
|
||||
const G4VisAttributes& visAttribs) {
|
||||
|
||||
@@ -520,7 +648,7 @@ void G4OpenInventorSceneHandler::PreAddThis
|
||||
// G4VPhysicalVolume. This is true at present, but beware! We
|
||||
// might have to think about the cast in the following code.
|
||||
|
||||
G4VSceneHandler::PreAddThis (objectTransformation, visAttribs);
|
||||
G4VSceneHandler::PreAddSolid (objectTransformation, visAttribs);
|
||||
// Stores arguments away for future use, e.g., AddPrimitives.
|
||||
|
||||
// This routines prepares to add solids to the scene database.
|
||||
@@ -571,7 +699,7 @@ void G4OpenInventorSceneHandler::PreAddThis
|
||||
G4bool isAuxEdgeVisible = GetAuxEdgeVisible (pVisAttribs);
|
||||
fReducedWireFrame = !isAuxEdgeVisible;
|
||||
|
||||
//printf("debug : PreAddThis : %g %g %g : %d\n",
|
||||
//printf("debug : PreAddSolid : %g %g %g : %d\n",
|
||||
//red,green,blue,pVisAttribs->IsVisible());
|
||||
|
||||
if(!fpCurrentLV || !fpCurrentPV) return; //GB
|
||||
@@ -624,14 +752,26 @@ void G4OpenInventorSceneHandler::PreAddThis
|
||||
G4LogicalVolume* MotherVolume = fpCurrentPV->GetMotherLogical();
|
||||
if (MotherVolume) {
|
||||
if (fSeparatorMap.find(MotherVolume) != fSeparatorMap.end()) {
|
||||
//printf("debug : PreAddThis : mother found in map\n");
|
||||
//printf("debug : PreAddSolid : mother found in map\n");
|
||||
fSeparatorMap[MotherVolume]->addChild(detectorTreeKit);
|
||||
} else {
|
||||
//printf("debug : PreAddThis : mother not found in map !!!\n");
|
||||
//printf("debug : PreAddSolid : mother not found in map !!!\n");
|
||||
fDetectorRoot->addChild(detectorTreeKit);
|
||||
/*
|
||||
do {
|
||||
SoSeparator* dummySeparator =
|
||||
(SoSeparator*) g4DetectorTreeKit->getPart("dummySeparator",TRUE);
|
||||
dummySeparator->renderCaching = SoSeparator::OFF; //????
|
||||
dummySeparator->addChild(transform);
|
||||
fSeparatorMap[MotherVolume] = dummySeparator;
|
||||
MotherVolume = MotherVolume->GetPhysicalVolume()->GetMotherLogical();
|
||||
} while
|
||||
(MotherVolume &&
|
||||
fSeparatorMap.find(MotherVolume) == fSeparatorMap.end());
|
||||
*/
|
||||
}
|
||||
} else {
|
||||
//printf("debug : PreAddThis : has no mother\n");
|
||||
//printf("debug : PreAddSolid : has no mother\n");
|
||||
fDetectorRoot->addChild(detectorTreeKit);
|
||||
}
|
||||
|
||||
@@ -646,7 +786,7 @@ void G4OpenInventorSceneHandler::PreAddThis
|
||||
fCurrentSeparator = fSeparatorMap[MotherVolume];
|
||||
} else {
|
||||
/*
|
||||
G4cerr << "G4OpenInventorSceneHandler::PreAddThis() : WARNING :"
|
||||
G4cerr << "G4OpenInventorSceneHandler::PreAddSolid() : WARNING :"
|
||||
<< " volume " << fpCurrentPV->GetName()
|
||||
<< " has invisible mother (" << MotherVolume->GetName() << ")."
|
||||
<< G4endl;
|
||||
@@ -658,6 +798,7 @@ void G4OpenInventorSceneHandler::PreAddThis
|
||||
}
|
||||
} else {
|
||||
fCurrentSeparator = fDetectorRoot;
|
||||
/* Fix here as above!!! */
|
||||
}
|
||||
|
||||
SoMaterial* material =
|
||||
@@ -685,6 +826,7 @@ void G4OpenInventorSceneHandler::PreAddThis
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
G4double G4OpenInventorSceneHandler::GetMarkerSize ( const G4VMarker& mark )
|
||||
{
|
||||
//----- return value ( marker radius in 3d units)
|
||||
@@ -732,13 +874,14 @@ G4double G4OpenInventorSceneHandler::GetMarkerSize ( const G4VMarker& mark )
|
||||
return size ;
|
||||
|
||||
} // G4OpenInventorSceneHandler::GetMarkerSize ()
|
||||
*/
|
||||
|
||||
//void G4OpenInventorSceneHandler::AddThis(const G4VTrajectory& traj) {
|
||||
// G4VSceneHandler::AddThis(traj); // For now.
|
||||
//void G4OpenInventorSceneHandler::AddSolid(const G4VTrajectory& traj) {
|
||||
// G4VSceneHandler::AddSolid(traj); // For now.
|
||||
//}
|
||||
|
||||
//void G4OpenInventorSceneHandler::AddThis(const G4VHit& hit) {
|
||||
// G4VSceneHandler::AddThis(hit); // For now.
|
||||
//void G4OpenInventorSceneHandler::AddSolid(const G4VHit& hit) {
|
||||
// G4VSceneHandler::AddSolid(hit); // For now.
|
||||
//}
|
||||
|
||||
#endif
|
||||
|
||||
@@ -21,8 +21,8 @@
|
||||
// ********************************************************************
|
||||
//
|
||||
//
|
||||
// $Id: G4OpenInventorTransform3D.cc,v 1.6 2004/11/22 14:20:19 gbarrand Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
// $Id: G4OpenInventorTransform3D.cc,v 1.7 2005/05/25 08:16:06 gbarrand Exp $
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
//
|
||||
//
|
||||
// jck 17 Dec 1996
|
||||
@@ -39,22 +39,24 @@
|
||||
|
||||
G4OpenInventorTransform3D::G4OpenInventorTransform3D (const G4Transform3D &t)
|
||||
: G4Transform3D (t) {
|
||||
m[0] = xx;
|
||||
m[1] = yx;
|
||||
m[2] = zx;
|
||||
#define elem(i,j) ((float)t(i,j))
|
||||
m[0] = elem(0,0); //xx
|
||||
m[1] = elem(1,0); //yx
|
||||
m[2] = elem(2,0); //zx
|
||||
m[3] = 0;
|
||||
m[4] = xy;
|
||||
m[5] = yy;
|
||||
m[6] = zy;
|
||||
m[4] = elem(0,1); //xy
|
||||
m[5] = elem(1,1); //yy
|
||||
m[6] = elem(2,1); //zy
|
||||
m[7] = 0;
|
||||
m[8] = xz;
|
||||
m[9] = yz;
|
||||
m[10] = zz;
|
||||
m[8] = elem(0,2); //xz
|
||||
m[9] = elem(1,2); //yz
|
||||
m[10] = elem(2,2); //zz
|
||||
m[11] = 0;
|
||||
m[12] = dx;
|
||||
m[13] = dy;
|
||||
m[14] = dz;
|
||||
m[12] = elem(0,3); //dx
|
||||
m[13] = elem(1,3); //dy
|
||||
m[14] = elem(2,3); //dz
|
||||
m[15] = 1;
|
||||
#undef elem
|
||||
}
|
||||
|
||||
SbMatrix* G4OpenInventorTransform3D::GetSbMatrix () const {
|
||||
|
||||
@@ -226,16 +226,20 @@ void G4OpenInventorViewer::SetView () {
|
||||
if(camera->isOfType(SoOrthographicCamera::getClassTypeId())) {
|
||||
if (fVP.GetFieldHalfAngle() == 0.) {
|
||||
//FIXME : ((SoOrthographicCamera*)camera)->height.setValue();
|
||||
//FIXME : (Don't think we have to do that.)
|
||||
} else {
|
||||
//FIXME : Have to set a perspective camera !
|
||||
//FIXME : viewer->setCameraType(SoPerspectiveCamera::getClassTypeId())
|
||||
//FIXME : ((SoPerspectiveCamera*)camera)->heightAngle.setValue
|
||||
//FIXME : (2.*fVP.GetFieldHalfAngle());
|
||||
}
|
||||
} else if(camera->isOfType(SoPerspectiveCamera::getClassTypeId())) {
|
||||
if (fVP.GetFieldHalfAngle() == 0.) {
|
||||
//FIXME : Have to set an orthographic camera !
|
||||
//FIXME : viewer->setCameraType(SoOrthographicCamera::getClassTypeId())
|
||||
} else {
|
||||
//FIXME : ((SoPerspectiveCamera*)camera)->heightAngle.setValue();
|
||||
//FIXME : ((SoPerspectiveCamera*)camera)->heightAngle.setValue
|
||||
//FIXME : (2.*fVP.GetFieldHalfAngle());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4OpenInventorWin.cc,v 1.4 2004/04/08 10:49:57 gbarrand Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
//
|
||||
// OpenInventor graphics system factory.
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4OpenInventorWinViewer.cc,v 1.22 2004/11/25 14:45:06 gbarrand Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
//
|
||||
/*
|
||||
* jck : 05 Feb 1997 : Initial Implementation
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4OpenInventorXt.cc,v 1.2 2004/11/22 15:00:48 gbarrand Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
//
|
||||
//
|
||||
// Jeff Kallenbach 01 Aug 1996
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: G4OpenInventorXtViewer.cc,v 1.21 2004/11/26 08:38:51 gbarrand Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-cand-01 $
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
//
|
||||
/*
|
||||
* jck 05 Feb 1997 - Initial Implementation
|
||||
|
||||
Executable → Regular
Executable → Regular
@@ -23,7 +23,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: SoBox.cc,v 1.7 2004/12/16 12:33:09 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-ref-00 $
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
//
|
||||
/*----------------------------HEPVis----------------------------------------*/
|
||||
/* */
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: SoCons.cc,v 1.7 2004/12/16 12:33:10 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-ref-00 $
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
//
|
||||
/*-----------------------------HEPVis---------------------------------------*/
|
||||
/* */
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
#include <Inventor/nodekits/SoBaseKit.h>
|
||||
#include <Inventor/elements/SoSwitchElement.h>
|
||||
|
||||
SO_ACTION_SOURCE(SoCounterAction);
|
||||
SO_ACTION_SOURCE(SoCounterAction)
|
||||
|
||||
void SoCounterAction::initClass(void){
|
||||
SO_ACTION_INIT_CLASS(SoCounterAction,SoAction);
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: SoDetectorTreeKit.cc,v 1.9 2004/12/16 12:33:10 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-ref-00 $
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
//
|
||||
/*-----------------------------HEPVis----------------------------------------*/
|
||||
/* */
|
||||
|
||||
Executable → Regular
Executable → Regular
Executable → Regular
@@ -23,7 +23,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: SoTrap.cc,v 1.7 2004/12/16 12:33:10 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-ref-00 $
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
//
|
||||
/*-----------------------------HEPVis----------------------------------------*/
|
||||
/* */
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: SoTrd.cc,v 1.7 2004/12/16 12:33:10 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-ref-00 $
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
//
|
||||
/*-----------------------------HEPVis---------------------------------------*/
|
||||
/* */
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
//
|
||||
//
|
||||
// $Id: SoTubs.cc,v 1.7 2004/12/16 12:33:11 gcosmo Exp $
|
||||
// GEANT4 tag $Name: geant4-07-00-ref-00 $
|
||||
// GEANT4 tag $Name: geant4-07-01 $
|
||||
//
|
||||
/*-----------------------------HEPVis---------------------------------------*/
|
||||
/* */
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
* GL2PS, an OpenGL to PostScript Printing Library
|
||||
* Copyright (C) 1999-2003 Christophe Geuzaine
|
||||
*
|
||||
* $Id: gl2ps.cc,v 1.8 2004/12/15 15:43:10 gunter Exp $
|
||||
* $Id: gl2ps.cc,v 1.9 2005/06/02 16:51:56 allison Exp $
|
||||
*
|
||||
* E-mail: geuz@geuz.org
|
||||
* URL: http://www.geuz.org/gl2ps/
|
||||
@@ -60,7 +60,7 @@ GL2PScontext *gl2ps = NULL;
|
||||
|
||||
/* Some 'system' utility routines */
|
||||
|
||||
void gl2psMsg(GLint level, char *fmt, ...){
|
||||
void gl2psMsg(GLint level, const char *fmt, ...){
|
||||
va_list args;
|
||||
|
||||
if(!(gl2ps->options & GL2PS_SILENT)){
|
||||
|
||||
Reference in New Issue
Block a user