G4ViewParameters.cc File Reference

#include <sstream>
#include "G4ViewParameters.hh"
#include "G4VisManager.hh"
#include "G4UnitsTable.hh"
#include "G4SystemOfUnits.hh"
#include "G4ios.hh"

Go to the source code of this file.

Functions

std::ostream & operator<< (std::ostream &os, const G4ViewParameters::DrawingStyle &style)
std::ostream & operator<< (std::ostream &os, const G4ViewParameters &v)


Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const G4ViewParameters v 
)

Definition at line 660 of file G4ViewParameters.cc.

References G4ViewParameters::constrainUpDirection, G4ViewParameters::fActualLightpointDirection, G4ViewParameters::fAutoRefresh, G4ViewParameters::fAuxEdgeVisible, G4ViewParameters::fBackgroundColour, G4ViewParameters::fCullCovered, G4ViewParameters::fCulling, G4ViewParameters::fCullInvisible, G4ViewParameters::fCurrentTargetPoint, G4ViewParameters::fCutawayPlanes, G4ViewParameters::fDefaultMarker, G4ViewParameters::fDefaultTextVisAttributes, G4ViewParameters::fDefaultVisAttributes, G4ViewParameters::fDensityCulling, G4ViewParameters::fDolly, G4ViewParameters::fDrawingStyle, G4ViewParameters::fExplodeCentre, G4ViewParameters::fExplodeFactor, G4ViewParameters::fFieldHalfAngle, G4ViewParameters::fGeometryMask, G4ViewParameters::fGlobalLineWidthScale, G4ViewParameters::fGlobalMarkerScale, G4ViewParameters::fLightsMoveWithCamera, G4ViewParameters::fMarkerNotHidden, G4ViewParameters::fNoOfSides, G4ViewParameters::fPicking, G4ViewParameters::freeRotation, G4ViewParameters::fRelativeLightpointDirection, G4ViewParameters::fRepStyle, G4ViewParameters::fRotationStyle, G4ViewParameters::fScaleFactor, G4ViewParameters::fSection, G4ViewParameters::fSectionPlane, G4ViewParameters::fUpVector, G4ViewParameters::fViewpointDirection, G4ViewParameters::fVisAttributesModifiers, G4ViewParameters::fVisibleDensity, G4ViewParameters::fWindowSizeHintX, G4ViewParameters::fXGeometryString, G4ViewParameters::fZoomFactor, G4ViewParameters::GetCameraDistance(), G4ViewParameters::GetFarDistance(), G4ViewParameters::GetFrontHalfHeight(), G4ViewParameters::GetNearDistance(), G4ViewParameters::hlhsr, G4ViewParameters::hlr, G4ViewParameters::hsr, G4ViewParameters::IsCutaway(), G4ViewParameters::nurbs, G4ViewParameters::polyhedron, and G4ViewParameters::wireframe.

00660                                                                     {
00661   os << "View parameters and options:";
00662 
00663   os << "\n  Drawing style: ";
00664   switch (v.fDrawingStyle) {
00665   case G4ViewParameters::wireframe:
00666     os << "edges, wireframe"; break;
00667   case G4ViewParameters::hlr:
00668     os << "edges, hidden line removal"; break;
00669   case G4ViewParameters::hsr:
00670     os << "surfaces, hidden surface removal"; break;
00671   case G4ViewParameters::hlhsr:
00672     os << "surfaces and edges, hidden line and surface removal"; break;
00673   default: os << "unrecognised"; break;
00674   }
00675 
00676   os << "\n  Auxiliary edges: ";
00677   if (!v.fAuxEdgeVisible) os << "in";
00678   os << "visible";
00679 
00680   os << "\n  Representation style: ";
00681   switch (v.fRepStyle) {
00682   case G4ViewParameters::polyhedron:
00683     os << "polyhedron"; break;
00684   case G4ViewParameters::nurbs:
00685     os << "nurbs"; break;
00686   default: os << "unrecognised"; break;
00687   }
00688 
00689   os << "\n  Culling: ";
00690   if (v.fCulling) os << "on";
00691   else            os << "off";
00692 
00693   os << "\n  Culling invisible objects: ";
00694   if (v.fCullInvisible) os << "on";
00695   else                  os << "off";
00696 
00697   os << "\n  Density culling: ";
00698   if (v.fDensityCulling) {
00699     os << "on - invisible if density less than "
00700        << v.fVisibleDensity / (1. * g / cm3) << " g cm^-3";
00701   }
00702   else os << "off";
00703 
00704   os << "\n  Culling daughters covered by opaque mothers: ";
00705   if (v.fCullCovered) os << "on";
00706   else                os << "off";
00707 
00708   os << "\n  Section flag: ";
00709   if (v.fSection) os << "true, section/cut plane: " << v.fSectionPlane;
00710   else            os << "false";
00711 
00712   if (v.IsCutaway()) {
00713     os << "\n  Cutaway planes: ";
00714     for (size_t i = 0; i < v.fCutawayPlanes.size (); i++) {
00715       os << ' ' << v.fCutawayPlanes[i];
00716     }
00717   }
00718   else {
00719     os << "\n  No cutaway planes";
00720   }
00721 
00722   os << "\n  Explode factor: " << v.fExplodeFactor
00723      << " about centre: " << v.fExplodeCentre;
00724 
00725   os << "\n  No. of sides used in circle polygon approximation: "
00726      << v.fNoOfSides;
00727 
00728   os << "\n  Viewpoint direction:  " << v.fViewpointDirection;
00729 
00730   os << "\n  Up vector:            " << v.fUpVector;
00731 
00732   os << "\n  Field half angle:     " << v.fFieldHalfAngle;
00733 
00734   os << "\n  Zoom factor:          " << v.fZoomFactor;
00735 
00736   os << "\n  Scale factor:         " << v.fScaleFactor;
00737 
00738   os << "\n  Current target point: " << v.fCurrentTargetPoint;
00739 
00740   os << "\n  Dolly distance:       " << v.fDolly;
00741 
00742   os << "\n  Light ";
00743   if (v.fLightsMoveWithCamera) os << "moves";
00744   else                         os << "does not move";
00745   os << " with camera";
00746 
00747   os << "\n  Relative lightpoint direction: "
00748      << v.fRelativeLightpointDirection;
00749 
00750   os << "\n  Actual lightpoint direction: "
00751      << v.fActualLightpointDirection;
00752 
00753   os << "\n  Derived parameters for standard view of object of unit radius:";
00754   G4ViewParameters tempVP = v;
00755   tempVP.fDolly = 0.;
00756   tempVP.fZoomFactor = 1.;
00757   const G4double radius = 1.;
00758   const G4double cameraDistance = tempVP.GetCameraDistance (radius);
00759   const G4double nearDistance =
00760     tempVP.GetNearDistance (cameraDistance, radius);
00761   const G4double farDistance =
00762     tempVP.GetFarDistance  (cameraDistance, nearDistance, radius);
00763   const G4double right  = tempVP.GetFrontHalfHeight (nearDistance, radius);
00764   os << "\n    Camera distance:   " << cameraDistance;
00765   os << "\n    Near distance:     " << nearDistance;
00766   os << "\n    Far distance:      " << farDistance;
00767   os << "\n    Front half height: " << right;
00768 
00769   os << "\n  Default VisAttributes:\n  " << v.fDefaultVisAttributes;
00770 
00771   os << "\n  Default TextVisAttributes:\n  " << v.fDefaultTextVisAttributes;
00772 
00773   os << "\n  Default marker: " << v.fDefaultMarker;
00774 
00775   os << "\n  Global marker scale: " << v.fGlobalMarkerScale;
00776 
00777   os << "\n  Global lineWidth scale: " << v.fGlobalLineWidthScale;
00778 
00779   os << "\n  Marker ";
00780   if (v.fMarkerNotHidden) os << "not ";
00781   os << "hidden by surfaces.";
00782 
00783   os << "\n  Window size hint: "
00784      << v.fWindowSizeHintX << 'x'<< v.fWindowSizeHintX;
00785 
00786   os << "\n  X geometry string: " << v.fXGeometryString;
00787   os << "\n  X geometry mask: "
00788      << std::showbase << std::hex << v.fGeometryMask
00789      << std::noshowbase << std::dec;
00790 
00791   os << "\n  Auto refresh: ";
00792   if (v.fAutoRefresh) os << "true";
00793   else os << "false";
00794 
00795   os << "\n  Background colour: " << v.fBackgroundColour;
00796 
00797   os << "\n  Picking requested: ";
00798   if (v.fPicking) os << "true";
00799   else os << "false";
00800 
00801   os << "\n  Rotation style: ";
00802   switch (v.fRotationStyle) {
00803   case G4ViewParameters::constrainUpDirection:
00804     os << "constrainUpDirection (conventional HEP view)"; break;
00805   case G4ViewParameters::freeRotation:
00806     os << "freeRotation (Google-like rotation, using mouse-grab)"; break;
00807   default: os << "unrecognised"; break;
00808   }
00809 
00810   os << "\n  Vis attributes modifiers: ";
00811   const std::vector<G4ModelingParameters::VisAttributesModifier>& vams =
00812     v.fVisAttributesModifiers;
00813   if (vams.empty()) {
00814     os << "None";
00815   } else {
00816     os << vams;
00817   }
00818 
00819   return os;
00820 }

std::ostream& operator<< ( std::ostream &  os,
const G4ViewParameters::DrawingStyle style 
)

Definition at line 644 of file G4ViewParameters.cc.

References G4ViewParameters::hlhsr, G4ViewParameters::hlr, G4ViewParameters::hsr, and G4ViewParameters::wireframe.

00645                                                                         {
00646   switch (style) {
00647   case G4ViewParameters::wireframe:
00648     os << "wireframe"; break;
00649   case G4ViewParameters::hlr:
00650     os << "hlr - hidden lines removed"; break;
00651   case G4ViewParameters::hsr:
00652     os << "hsr - hidden surfaces removed"; break;
00653   case G4ViewParameters::hlhsr:
00654     os << "hlhsr - hidden line, hidden surface removed"; break;
00655   default: os << "unrecognised"; break;
00656   }
00657   return os;
00658 }


Generated on Mon May 27 17:51:13 2013 for Geant4 by  doxygen 1.4.7