#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) |
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 }