698 os <<
"View parameters and options:";
700 os <<
"\n Drawing style: ";
701 switch (v.fDrawingStyle) {
703 os <<
"edges, wireframe";
break;
705 os <<
"edges, hidden line removal";
break;
707 os <<
"surfaces, hidden surface removal";
break;
709 os <<
"surfaces and edges, hidden line and surface removal";
break;
710 default: os <<
"unrecognised";
break;
713 os <<
"\n Auxiliary edges: ";
714 if (!v.fAuxEdgeVisible) os <<
"in";
717 os <<
"\n Culling: ";
718 if (v.fCulling) os <<
"on";
721 os <<
"\n Culling invisible objects: ";
722 if (v.fCullInvisible) os <<
"on";
725 os <<
"\n Density culling: ";
726 if (v.fDensityCulling) {
727 os <<
"on - invisible if density less than "
728 << v.fVisibleDensity / (1. *
g /
cm3) <<
" g cm^-3";
732 os <<
"\n Culling daughters covered by opaque mothers: ";
733 if (v.fCullCovered) os <<
"on";
736 os <<
"\n Section flag: ";
737 if (v.fSection) os <<
"true, section/cut plane: " << v.fSectionPlane;
741 os <<
"\n Cutaway planes: ";
742 for (
size_t i = 0; i < v.fCutawayPlanes.size (); i++) {
743 os <<
' ' << v.fCutawayPlanes[i];
747 os <<
"\n No cutaway planes";
750 os <<
"\n Explode factor: " << v.fExplodeFactor
751 <<
" about centre: " << v.fExplodeCentre;
753 os <<
"\n No. of sides used in circle polygon approximation: "
756 os <<
"\n Viewpoint direction: " << v.fViewpointDirection;
758 os <<
"\n Up vector: " << v.fUpVector;
760 os <<
"\n Field half angle: " << v.fFieldHalfAngle;
762 os <<
"\n Zoom factor: " << v.fZoomFactor;
764 os <<
"\n Scale factor: " << v.fScaleFactor;
766 os <<
"\n Current target point: " << v.fCurrentTargetPoint;
768 os <<
"\n Dolly distance: " << v.fDolly;
771 if (v.fLightsMoveWithCamera) os <<
"moves";
772 else os <<
"does not move";
773 os <<
" with camera";
775 os <<
"\n Relative lightpoint direction: "
776 << v.fRelativeLightpointDirection;
778 os <<
"\n Actual lightpoint direction: "
779 << v.fActualLightpointDirection;
781 os <<
"\n Derived parameters for standard view of object of unit radius:";
784 tempVP.fZoomFactor = 1.;
792 os <<
"\n Camera distance: " << cameraDistance;
793 os <<
"\n Near distance: " << nearDistance;
794 os <<
"\n Far distance: " << farDistance;
795 os <<
"\n Front half height: " << right;
797 os <<
"\n Default VisAttributes:\n " << v.fDefaultVisAttributes;
799 os <<
"\n Default TextVisAttributes:\n " << v.fDefaultTextVisAttributes;
801 os <<
"\n Default marker: " << v.fDefaultMarker;
803 os <<
"\n Global marker scale: " << v.fGlobalMarkerScale;
805 os <<
"\n Global lineWidth scale: " << v.fGlobalLineWidthScale;
808 if (v.fMarkerNotHidden) os <<
"not ";
809 os <<
"hidden by surfaces.";
811 os <<
"\n Window size hint: "
812 << v.fWindowSizeHintX <<
'x'<< v.fWindowSizeHintX;
814 os <<
"\n X geometry string: " << v.fXGeometryString;
815 os <<
"\n X geometry mask: "
816 << std::showbase << std::hex << v.fGeometryMask
817 << std::noshowbase << std::dec;
819 os <<
"\n Auto refresh: ";
820 if (v.fAutoRefresh) os <<
"true";
823 os <<
"\n Background colour: " << v.fBackgroundColour;
825 os <<
"\n Picking requested: ";
826 if (v.fPicking) os <<
"true";
829 os <<
"\n Rotation style: ";
830 switch (v.fRotationStyle) {
832 os <<
"constrainUpDirection (conventional HEP view)";
break;
834 os <<
"freeRotation (Google-like rotation, using mouse-grab)";
break;
835 default: os <<
"unrecognised";
break;
838 os <<
"\n Vis attributes modifiers: ";
839 const std::vector<G4ModelingParameters::VisAttributesModifier>& vams =
840 v.fVisAttributesModifiers;
G4double GetFarDistance(G4double cameraDistance, G4double nearDistance, G4double radius) const
static constexpr double g
G4double GetCameraDistance(G4double radius) const
G4double GetNearDistance(G4double cameraDistance, G4double radius) const
G4double GetFrontHalfHeight(G4double nearDistance, G4double radius) const
static constexpr double cm3