44  fDrawingStyle (wireframe),
 
   45  fNumberOfCloudPoints(10000),
 
   46  fAuxEdgeVisible (false),
 
   48  fCullInvisible (true),
 
   49  fDensityCulling (false),
 
   50  fVisibleDensity (0.01 * 
g / 
cm3),
 
   52  fCBDAlgorithmNumber (0),
 
   55  fCutawayMode (cutawayUnion),
 
   64  fCurrentTargetPoint (),
 
   66  fLightsMoveWithCamera (false),
 
   67  fRelativeLightpointDirection (
G4Vector3D (1., 1., 1.)),
 
   68  fActualLightpointDirection (
G4Vector3D (1., 1., 1.)),
 
   69  fDefaultVisAttributes (),
 
   70  fDefaultTextVisAttributes (
G4Colour (0., 0., 1.)),
 
   72  fGlobalMarkerScale (1.),
 
   73  fGlobalLineWidthScale (1.),
 
   74  fMarkerNotHidden (true),
 
   75  fWindowSizeHintX (600),
 
   76  fWindowSizeHintY (600),
 
   77  fWindowLocationHintX(0),
 
   78  fWindowLocationHintY(0),
 
   79  fWindowLocationHintXNegative(true),
 
   80  fWindowLocationHintYNegative(false),
 
   83  fBackgroundColour (
G4Colour(0.,0.,0.)),         
 
   85  fRotationStyle (constrainUpDirection),
 
   89  fDisplayHeadTime(false),
 
   90  fDisplayHeadTimeX(-0.9),
 
   91  fDisplayHeadTimeY(-0.9),
 
   92  fDisplayHeadTimeSize(24.),
 
   93  fDisplayHeadTimeRed(0.),
 
   94  fDisplayHeadTimeGreen(1.),
 
   95  fDisplayHeadTimeBlue(1.),
 
   96  fDisplayLightFront(false),
 
   97  fDisplayLightFrontX(0.),
 
   98  fDisplayLightFrontY(0.),
 
   99  fDisplayLightFrontZ(0.),
 
  100  fDisplayLightFrontT(0.),
 
  101  fDisplayLightFrontRed(0.),
 
  102  fDisplayLightFrontGreen(1.),
 
  103  fDisplayLightFrontBlue(0.),
 
  104  fSpecialMeshRendering(false)
 
  144    cameraDistance = radius;
 
  149  return cameraDistance;
 
  154  const G4double small = 1.e-6 * radius;
 
  155  G4double nearDistance = cameraDistance - radius;
 
  156  if (nearDistance < small) nearDistance = small;
 
  163  G4double farDistance = cameraDistance + radius;
 
  164  if (farDistance < nearDistance) farDistance = nearDistance;
 
  177  return frontHalfHeight;
 
  187      "ERROR: G4ViewParameters::AddCutawayPlane:" 
  188      "\n  A maximum of 3 cutaway planes supported." << 
G4endl;
 
  193(
size_t index, 
const G4Plane3D& cutawayPlane) {
 
  196      "ERROR: G4ViewParameters::ChangeCutawayPlane:" 
  197      "\n  Plane " << index << 
" does not exist." << 
G4endl;
 
  205  if (visibleDensity < 0) {
 
  206    G4cout << 
"G4ViewParameters::SetVisibleDensity: attempt to set negative " 
  207      "density - ignored." << 
G4endl;
 
  210    if (visibleDensity > reasonableMaximum) {
 
  211      G4cout << 
"G4ViewParameters::SetVisibleDensity: density > " 
  212         << 
G4BestUnit (reasonableMaximum, 
"Volumic Mass")
 
  213         << 
" - did you mean this?" 
  222  if (nSides < nSidesMin) {
 
  224    G4cout << 
"G4ViewParameters::SetNoOfSides: attempt to set the" 
  225    "\nnumber of sides per circle < " << nSidesMin
 
  226    << 
"; forced to " << nSides << 
G4endl;
 
  233  const G4int nPointsMin = 100;
 
  234  if (nPoints < nPointsMin) {
 
  235    nPoints = nPointsMin;
 
  236    G4cout << 
"G4ViewParameters::SetNumberOfCloudPoints:" 
  237    "\nnumber of points per cloud set to minimum " << nPoints
 
  252    static G4bool firstTime = 
true;
 
  256      "WARNING: Viewpoint direction is very close to the up vector direction." 
  257      "\n  Change the up vector or \"/vis/viewer/set/rotationStyle freeRotation\"." 
  301  G4bool duplicateTarget = 
false;
 
  306      duplicateTarget = 
true;
 
  315(
const G4Point3D standardTargetPoint)
 const 
  317  std::ostringstream oss;
 
  319  oss << 
"#\n# Camera and lights commands";
 
  321  oss << 
"\n/vis/viewer/set/viewpointVector " 
  326  oss << 
"\n/vis/viewer/set/upVector " 
  331  oss << 
"\n/vis/viewer/set/projection ";
 
  342  oss << 
"\n/vis/viewer/zoomTo " 
  345  oss << 
"\n/vis/viewer/scaleTo " 
  350  oss << 
"\n/vis/viewer/set/targetPoint " 
  352  << 
"\n# Note that if you have not set a target point, the vis system sets" 
  353  << 
"\n# a target point based on the scene - plus any panning and dollying -" 
  354  << 
"\n# so don't be alarmed by strange coordinates here.";
 
  356  oss << 
"\n/vis/viewer/dollyTo " 
  359  oss << 
"\n/vis/viewer/set/lightsMove ";
 
  366  oss << 
"\n/vis/viewer/set/lightsVector " 
  371  oss << 
"\n/vis/viewer/set/rotationStyle ";
 
  373    oss << 
"constrainUpDirection";
 
  375    oss << 
"freeRotation";
 
  379  oss << 
"\n/vis/viewer/set/background " 
  386  oss << 
"\n/vis/viewer/set/defaultColour " 
  393  oss << 
"\n/vis/viewer/set/defaultTextColour " 
  406  std::ostringstream oss;
 
  408  oss << 
"#\n# Drawing style commands";
 
  410  oss << 
"\n/vis/viewer/set/style ";
 
  425  oss << 
"\n/vis/viewer/set/hiddenEdge ";
 
  432  oss << 
"\n/vis/viewer/set/auxiliaryEdge ";
 
  439  oss << 
"\n/vis/viewer/set/hiddenMarker ";
 
  446  oss << 
"\n/vis/viewer/set/globalLineWidthScale " 
  449  oss << 
"\n/vis/viewer/set/globalMarkerScale " 
  452  oss << 
"\n/vis/viewer/set/numberOfCloudPoints " 
  455  oss << 
"\n/vis/viewer/set/specialMeshRendering ";
 
  462  oss << 
"\n/vis/viewer/set/specialMeshVolumes";
 
  464    oss << 
' ' << volume.GetName() << 
' ' << volume.GetCopyNo();
 
  474  std::ostringstream oss;
 
  476  oss << 
"#\n# Scene-modifying commands";
 
  478  oss << 
"\n/vis/viewer/set/culling global ";
 
  485  oss << 
"\n/vis/viewer/set/culling invisible ";
 
  492  oss << 
"\n/vis/viewer/set/culling density ";
 
  499  oss << 
"\n/vis/viewer/set/culling coveredDaughters ";
 
  506  oss << 
"\n/vis/viewer/colourByDensity " 
  509    oss << 
' ' << p/(
g/
cm3);
 
  512  oss << 
"\n/vis/viewer/set/sectionPlane ";
 
  523  oss << 
"\n/vis/viewer/set/cutawayMode ";
 
  527    oss << 
"intersection";
 
  530  oss << 
"\n/vis/viewer/clearCutawayPlanes";
 
  533      oss << 
"\n/vis/viewer/addCutawayPlane " 
  540    oss << 
"\n# No cutaway planes defined.";
 
  543  oss << 
"\n/vis/viewer/set/explodeFactor " 
  547  oss << 
"\n/vis/viewer/set/lineSegmentsPerCircle " 
  557  std::ostringstream oss;
 
  559  oss << 
"#\n# Touchable commands";
 
  561  const std::vector<G4ModelingParameters::VisAttributesModifier>& vams =
 
  567    << 
"\n/vis/viewer/clearVisAttributesModifiers";
 
  573  << 
"\n/vis/viewer/clearVisAttributesModifiers";
 
  576  std::vector<G4ModelingParameters::VisAttributesModifier>::const_iterator
 
  578  for (iModifier = vams.begin();
 
  579       iModifier != vams.end();
 
  582      iModifier->GetPVNameCopyNoPath();
 
  583    if (vamPath != lastPath) {
 
  585      oss << 
"\n/vis/set/touchable";
 
  587      for (iVAM = vamPath.begin();
 
  588           iVAM != vamPath.end();
 
  590        oss << 
' ' << iVAM->GetName() << 
' ' << iVAM->GetCopyNo();
 
  595    switch (iModifier->GetVisAttributesSignifier()) {
 
  597        oss << 
"\n/vis/touchable/set/visibility ";
 
  605        oss << 
"\n/vis/touchable/set/daughtersInvisible ";
 
  613        oss << 
"\n/vis/touchable/set/colour " 
  620        oss << 
"\n/vis/touchable/set/lineStyle ";
 
  633        oss << 
"\n/vis/touchable/set/lineWidth " 
  639            oss << 
"\n/vis/touchable/set/forceWireframe ";
 
  651            oss << 
"\n/vis/touchable/set/forceSolid ";
 
  663            oss << 
"\n/vis/touchable/set/forceCloud ";
 
  674          oss << 
"\n/vis/touchable/set/forceAuxEdgeVisible ";
 
  683        oss << 
"\n/vis/touchable/set/lineSegmentsPerCircle " 
  687        oss << 
"\n/vis/touchable/set/numberOfCloudPoints " 
  700  std::ostringstream oss;
 
  702  oss <<  
"#\n# Time window commands";
 
  705  << 
"\n/vis/viewer/set/timeWindow/startTime " 
  709  << 
"\n/vis/viewer/set/timeWindow/endTime " 
  712  oss << 
"\n/vis/viewer/set/timeWindow/fadeFactor " 
  716  << 
"\n/vis/viewer/set/timeWindow/displayHeadTime ";
 
  731  << 
"\n/vis/viewer/set/timeWindow/displayLightFront ";
 
  799      G4cout << 
"Difference in number of colour by density parameters." << 
G4endl;
 
  801      G4cout << 
"Difference in values of colour by density parameters." << 
G4endl;
 
  807      G4cout << 
"Difference in section planes batch." << 
G4endl;
 
  812      G4cout << 
"Difference in no of cutaway planes." << 
G4endl;
 
  817      G4cout << 
"Difference in cutaway plane no. " << i << 
G4endl;
 
  830    G4cout << 
"Difference in vis attributes modifiers." << 
G4endl;
 
  839    G4cout << 
"Difference in time window fade factor." << 
G4endl;
 
  843    G4cout << 
"Difference in display head time flag." << 
G4endl;
 
  851      G4cout << 
"Difference in display head time parameters." << 
G4endl;
 
  856    G4cout << 
"Difference in display light front flag." << 
G4endl;
 
  865      G4cout << 
"Difference in display light front parameters." << 
G4endl;
 
  870std::ostream& 
operator <<
 
  875    os << 
"wireframe"; 
break;
 
  877    os << 
"hlr - hidden lines removed"; 
break;
 
  879    os << 
"hsr - hidden surfaces removed"; 
break;
 
  881    os << 
"hlhsr - hidden line, hidden surface removed"; 
break;
 
  883    os << 
"cloud - draw volume as a cloud of dots"; 
break;
 
  884  default: os << 
"unrecognised"; 
break;
 
  890  os << 
"View parameters and options:";
 
  896  os << 
"\n  Auxiliary edges: ";
 
  900  os << 
"\n  Culling: ";
 
  904  os << 
"\n  Culling invisible objects: ";
 
  908  os << 
"\n  Density culling: ";
 
  910    os << 
"on - invisible if density less than " 
  915  os << 
"\n  Culling daughters covered by opaque mothers: ";
 
  919  os << 
"\n  Colour by density: ";
 
  929  os << 
"\n  Section flag: ";
 
  934    os << 
"\n  Cutaway planes: ";
 
  940    os << 
"\n  No cutaway planes";
 
  946  os << 
"\n  No. of sides used in circle polygon approximation: " 
  961  os << 
"\n  Dolly distance:       " << v.
fDolly;
 
  965  else                         os << 
"does not move";
 
  966  os << 
" with camera";
 
  968  os << 
"\n  Relative lightpoint direction: " 
  971  os << 
"\n  Actual lightpoint direction: " 
  974  os << 
"\n  Derived parameters for standard view of object of unit radius:";
 
  985  os << 
"\n    Camera distance:   " << cameraDistance;
 
  986  os << 
"\n    Near distance:     " << nearDistance;
 
  987  os << 
"\n    Far distance:      " << farDistance;
 
  988  os << 
"\n    Front half height: " << right;
 
 1002  os << 
"hidden by surfaces.";
 
 1004  os << 
"\n  Window size hint: " 
 1008  os << 
"\n  X geometry mask: " 
 1010     << std::noshowbase << std::dec;
 
 1012  os << 
"\n  Auto refresh: ";
 
 1018  os << 
"\n  Picking requested: ";
 
 1022  os << 
"\n  Rotation style: ";
 
 1025    os << 
"constrainUpDirection (conventional HEP view)"; 
break;
 
 1027    os << 
"freeRotation (Google-like rotation, using mouse-grab)"; 
break;
 
 1028  default: os << 
"unrecognised"; 
break;
 
 1031  os << 
"\n  Vis attributes modifiers: ";
 
 1032  const std::vector<G4ModelingParameters::VisAttributesModifier>& vams =
 
 1040  os << 
"\n  Time window parameters:" 
 1045    os << 
"\n  Head time display not requested.";
 
 1048    << 
"\n  Head time position: " 
 1055    os << 
"\n  Light front display not requested.";
 
 1058    << 
"\n  Light front position: " 
 1066  os << 
"\n  Special Mesh Rendering: ";
 
 1072      os << 
"selected meshes";
 
 1074    os << 
"\n    " << vol.GetName() << 
':' << vol.GetCopyNo();
 
 1195  unsigned int w = 0, h = 0;
 
 1196  G4String geomString = geomStringArg;
 
 1199  G4String::size_type i = geomString.find_first_of(delimiters);
 
 1200  if (i == G4String::npos) {  
 
 1201    std::istringstream iss(geomString);
 
 1206      G4cout << 
"Unrecognised windowSizeHint string: \"" 
 1208         << 
"\".  Asuuming " << size << 
G4endl;
 
 1210    std::ostringstream oss;
 
 1211    oss << size << 
'x' << size;
 
 1212    geomString = oss.str();
 
 1238    G4cout << 
"Unrecognised geometry string \"" 
 1240           << 
"\".  No Height found. Using Width value instead" 
 1307 unsigned int *width,
 
 1308 unsigned int *height)
 
 1313  unsigned int tempWidth  = 0;
 
 1314  unsigned int tempHeight = 0;
 
 1317  char *nextCharacter;
 
 1318  if ( (
string == NULL) || (*
string == 
'\0')) {
 
 1323  strind = (
char *)
string;
 
 1324  if (*strind != 
'+' && *strind != 
'-' && *strind != 
'x') {
 
 1326    if (strind == nextCharacter)
 
 1328    strind = nextCharacter;
 
 1331  if (*strind == 
'x' || *strind == 
'X') {
 
 1334    if (strind == nextCharacter)
 
 1336    strind = nextCharacter;
 
 1340  if ((*strind == 
'+') || (*strind == 
'-')) {
 
 1341    if (*strind == 
'-') {
 
 1344      if (strind == nextCharacter)
 
 1346      strind = nextCharacter;
 
 1353        if (strind == nextCharacter)
 
 1355        strind = nextCharacter;
 
 1358    if ((*strind == 
'+') || (*strind == 
'-')) {
 
 1359      if (*strind == 
'-') {
 
 1362        if (strind == nextCharacter)
 
 1364        strind = nextCharacter;
 
 1371          if (strind == nextCharacter)
 
 1373          strind = nextCharacter;
 
 1380  if (*strind != 
'\0') 
return (0);
 
 1388    *height = tempHeight;
 
 1403    else if (*
string == 
'-')
 
 1408    for (; (*
string >= 
'0') && (*
string <= 
'9'); 
string++)
 
 1410    Result = (Result * 10) + (*
string - 
'0');
 
 1412    *NextString = string;
 
 1420(
const std::vector<G4ViewParameters>& views,
 
 1421 G4int nInterpolationPoints)  
 
 1435  if (views.size() < 2) {
 
 1437    (
"G4ViewParameters::CatmullRomCubicSplineInterpolation",
 
 1439     "There must be at least two views.");
 
 1443  if (nInterpolationPoints < 1) {
 
 1445    (
"G4ViewParameters::CatmullRomCubicSplineInterpolation",
 
 1447     "Number of interpolation points cannot be zero or negative.");
 
 1451  const size_t nIntervals = views.size() - 1;
 
 1452  const G4double dt = 1./nInterpolationPoints;
 
 1456  static G4int iInterpolationPoint = 0;
 
 1457  static size_t iInterval = 0;
 
 1462  const G4double h00 = 2.*t*t*t - 3.*t*t +1;
 
 1463  const G4double h10 = t*t*t -2.*t*t + t;
 
 1464  const G4double h01 = -2.*t*t*t + 3.*t*t;
 
 1468  const size_t& 
n = nIntervals;
 
 1469  size_t& i = iInterval;
 
 1470  const std::vector<G4ViewParameters>& v = views;
 
 1487  holdingValues = t < 0.5? v[i]: v[i+1];
 
 1490#define INTERPOLATE(param) \ 
 1495mi = v[1].param - v[0].param; \ 
 1498if (n == 1) mi1 = mi; \ 
 1500else mi1 = 0.5 * (v[2].param - v[0].param); \ 
 1501} else if (i >= n - 1) { \ 
 1503mi1 = v[i+1].param - v[i].param; \ 
 1505if (n == 1) mi = mi1; \ 
 1507else mi = 0.5 * (v[i+1].param - v[i-1].param); \ 
 1510mi  = 0.5 * (v[i+1].param - v[i-1].param); \ 
 1511mi1 = 0.5 * (v[i+2].param - v[i  ].param); \ 
 1513real = h00 * v[i].param + h10 * mi + h01 * v[i+1].param + h11 * mi1; 
 1515#define INTERPOLATELOG(param) \ 
 1517mi = std::log(v[1].param) - std::log(v[0].param); \ 
 1518if (n == 1) mi1 = mi; \ 
 1519else mi1 = 0.5 * (std::log(v[2].param) - std::log(v[0].param)); \ 
 1520} else if (i >= n - 1) { \ 
 1521mi1 = std::log(v[i+1].param) - std::log(v[i].param); \ 
 1522if (n == 1) mi = mi1; \ 
 1523else mi = 0.5 * (std::log(v[i+1].param) - std::log(v[i-1].param)); \ 
 1525mi  = 0.5 * (std::log(v[i+1].param) - std::log(v[i-1].param)); \ 
 1526mi1 = 0.5 * (std::log(v[i+2].param) - std::log(v[i  ].param)); \ 
 1528real = std::exp(h00 * std::log(v[i].param) + h10 * mi + h01 * std::log(v[i+1].param) + h11 * mi1); 
 1532  if (real < 0.) real = 0.;
 
 1537  if (real < 0.) real = 0.;
 
 1542  holdingValues.
fDolly = real;
 
 1544  if (real < 0.) real = 0.;
 
 1547  if (real < 0.) real = 0.;
 
 1551#define INTERPOLATEUNITVECTOR(vector) \ 
 1552INTERPOLATE(vector.x()); x = real; \ 
 1553INTERPOLATE(vector.y()); y = real; \ 
 1554INTERPOLATE(vector.z()); z = real; 
 1565#define INTERPOLATEVECTOR(vector) \ 
 1566INTERPOLATE(vector.x()); x = real; \ 
 1567INTERPOLATE(vector.y()); y = real; \ 
 1568INTERPOLATE(vector.z()); z = real; 
 1573#define INTERPOLATEPOINT(point) \ 
 1574INTERPOLATE(point.x()); x = real; \ 
 1575INTERPOLATE(point.y()); y = real; \ 
 1576INTERPOLATE(point.z()); z = real; 
 1584#define INTERPOLATECOLOUR(colour) \ 
 1585INTERPOLATE(colour.GetRed());   red   = real; \ 
 1586INTERPOLATE(colour.GetGreen()); green = real; \ 
 1587INTERPOLATE(colour.GetBlue());  blue  = real; \ 
 1588INTERPOLATE(colour.GetAlpha()); alpha = real; 
 1595#define CONTINUITY(quantity) \ 
 1596  continuous = false; \ 
 1599    if (v[1].quantity == v[0].quantity) { \ 
 1600       if (n == 1) continuous = true; \ 
 1601       else if (v[2].quantity == v[0].quantity) \ 
 1602       continuous = true; \ 
 1604  } else if (i >= n - 1) { \ 
 1605    if (v[i+1].quantity == v[i].quantity) { \ 
 1606      if (n == 1) continuous = true; \ 
 1607      else if (v[i+1].quantity == v[i-1].quantity) \ 
 1608      continuous = true; \ 
 1611    if (v[i-1].quantity == v[i].quantity && \ 
 1612        v[i+1].quantity == v[i].quantity && \ 
 1613        v[i+2].quantity == v[i].quantity) \ 
 1614    continuous = true; \ 
 1618#define INTERPOLATEPLANE(plane) \ 
 1619INTERPOLATE(plane.a()); a = real; \ 
 1620INTERPOLATE(plane.b()); b = real; \ 
 1621INTERPOLATE(plane.c()); c = real; \ 
 1622INTERPOLATE(plane.d()); d = real; 
 1635      for (
size_t j = 0; j < v[i].fCutawayPlanes.size(); ++j) {
 
 1649      for (
size_t j = 0; j < v[i].fVisAttributesModifiers.size(); ++j) {
 
 1657              workingVA = v[i].fVisAttributesModifiers[j].GetVisAttributes();
 
 1677  iInterpolationPoint++;
 
 1679  if (iInterpolationPoint > nInterpolationPoints) {
 
 1680    iInterpolationPoint = 1;  
 
 1684  if (iInterval >= nIntervals) {
 
 1685    iInterpolationPoint = 0;  
 
 1691  return &holdingValues;
 
void G4Exception(const char *originOfException, const char *exceptionCode, G4ExceptionSeverity severity, const char *description)
static const G4double alpha
HepGeom::Plane3D< G4double > G4Plane3D
HepGeom::Point3D< G4double > G4Point3D
static constexpr double cm3
static constexpr double mm
static constexpr double g
static constexpr double deg
HepGeom::Vector3D< G4double > G4Vector3D
#define INTERPOLATECOLOUR(colour)
#define INTERPOLATEVECTOR(vector)
#define INTERPOLATE(param)
#define INTERPOLATEPLANE(plane)
#define CONTINUITY(quantity)
#define INTERPOLATEPOINT(point)
#define INTERPOLATEUNITVECTOR(vector)
#define INTERPOLATELOG(param)
G4GLOB_DLL std::ostream G4cerr
G4GLOB_DLL std::ostream G4cout
G4double GetAlpha() const
G4double GetGreen() const
const PVNameCopyNoPath & GetPVNameCopyNoPath() const
VisAttributesSignifier GetVisAttributesSignifier() const
const G4VisAttributes & GetVisAttributes() const
PVNameCopyNoPath::const_iterator PVNameCopyNoPathConstIterator
std::vector< PVNameCopyNo > PVNameCopyNoPath
@ VASForceNumberOfCloudPoints
@ VASForceLineSegmentsPerCircle
void SetScreenSize(G4double)
G4int SetNumberOfCloudPoints(G4int)
G4bool fDisplayLightFront
G4Point3D fCurrentTargetPoint
static G4ViewParameters * CatmullRomCubicSplineInterpolation(const std::vector< G4ViewParameters > &views, G4int nInterpolationPoints=50)
G4int SetNoOfSides(G4int nSides)
void SetViewAndLights(const G4Vector3D &viewpointDirection)
G4double fDisplayLightFrontT
std::vector< G4ModelingParameters::VisAttributesModifier > fVisAttributesModifiers
G4double fDisplayHeadTimeX
G4double fDisplayLightFrontBlue
G4int GetWindowAbsoluteLocationHintY(G4int) const
G4String CameraAndLightingCommands(const G4Point3D standardTargetPoint) const
G4Colour fBackgroundColour
G4double GetCameraDistance(G4double radius) const
void PrintDifferences(const G4ViewParameters &v) const
void SetVisibleDensity(G4double visibleDensity)
G4bool fWindowLocationHintYNegative
G4double fDisplayHeadTimeBlue
void AddVisAttributesModifier(const G4ModelingParameters::VisAttributesModifier &)
std::vector< G4ModelingParameters::PVNameCopyNo > fSpecialMeshVolumes
G4Vector3D & GetActualLightpointDirection()
G4double fDisplayLightFrontY
G4int fNumberOfCloudPoints
void SetXGeometryString(const G4String &)
G4double fDisplayLightFrontRed
G4double fDisplayLightFrontGreen
G4bool fSpecialMeshRendering
DrawingStyle fDrawingStyle
G4int ReadInteger(char *string, char **NextString)
G4double GetFarDistance(G4double cameraDistance, G4double nearDistance, G4double radius) const
void MultiplyScaleFactor(const G4Vector3D &scaleFactorMultiplier)
G4bool fLightsMoveWithCamera
G4double GetFrontHalfHeight(G4double nearDistance, G4double radius) const
G4int fWindowLocationHintX
G4Vector3D fViewpointDirection
G4int GetWindowAbsoluteLocationHintX(G4int) const
std::vector< G4double > fCBDParameters
G4String SceneModifyingCommands() const
void IncrementPan(G4double right, G4double up)
G4double fDisplayHeadTimeGreen
G4double fDisplayLightFrontX
G4String TimeWindowCommands() const
G4String TouchableCommands() const
G4double fGlobalLineWidthScale
G4double fGlobalMarkerScale
G4VisAttributes fDefaultTextVisAttributes
void ChangeCutawayPlane(size_t index, const G4Plane3D &cutawayPlane)
G4double fDisplayHeadTimeY
G4double fDisplayHeadTimeSize
G4int fCBDAlgorithmNumber
void SetPan(G4double right, G4double up)
G4Vector3D fRelativeLightpointDirection
G4String fXGeometryString
G4VisAttributes fDefaultVisAttributes
void SetLightpointDirection(const G4Vector3D &lightpointDirection)
G4double fDisplayHeadTimeRed
G4String DrawingStyleCommands() const
G4double fDisplayLightFrontZ
G4bool operator!=(const G4ViewParameters &) const
G4bool fWindowLocationHintXNegative
G4int ParseGeometry(const char *string, G4int *x, G4int *y, unsigned int *width, unsigned int *height)
G4double GetNearDistance(G4double cameraDistance, G4double radius) const
G4int fWindowLocationHintY
G4Vector3D fActualLightpointDirection
void AddCutawayPlane(const G4Plane3D &cutawayPlane)
RotationStyle fRotationStyle
G4int GetForcedNumberOfCloudPoints() const
G4double GetLineWidth() const
G4bool IsDaughtersInvisible() const
void SetColour(const G4Colour &)
G4int GetForcedLineSegmentsPerCircle() const
LineStyle GetLineStyle() const
const G4Colour & GetColour() const
G4bool IsForceAuxEdgeVisible() const
G4bool IsForcedAuxEdgeVisible() const
ForcedDrawingStyle GetForcedDrawingStyle() const
static G4int GetMinLineSegmentsPerCircle()
G4bool IsForceDrawingStyle() const
BasicVector3D< T > cross(const BasicVector3D< T > &v) const
BasicVector3D< T > unit() const
std::ostream & operator<<(std::ostream &, const BasicVector3D< float > &)
Point3D< T > point(const Point3D< T > &p) const
Normal3D< T > normal() const
static G4int GetNumberOfRotationSteps()