| 565 | } |
| 566 | |
| 567 | G4String G4ViewParameters::TouchableCommands() const |
| 568 | { |
| 569 | std::ostringstream oss; |
| 570 | |
| 571 | oss << "#\n# Touchable commands"; |
| 572 | |
| 573 | const std::vector<G4ModelingParameters::VisAttributesModifier>& vams = |
| 574 | fVisAttributesModifiers; |
| 575 | |
| 576 | if (vams.empty()) { |
| 577 | oss |
| 578 | << "\n# None" |
| 579 | << "\n/vis/viewer/clearVisAttributesModifiers"; |
| 580 | oss << std::endl; |
| 581 | return oss.str(); |
| 582 | } |
| 583 | |
| 584 | oss |
| 585 | << "\n/vis/viewer/clearVisAttributesModifiers"; |
| 586 | |
| 587 | G4ModelingParameters::PVNameCopyNoPath lastPath; |
| 588 | std::vector<G4ModelingParameters::VisAttributesModifier>::const_iterator |
| 589 | iModifier; |
| 590 | for (iModifier = vams.begin(); |
| 591 | iModifier != vams.end(); |
| 592 | ++iModifier) { |
| 593 | const G4ModelingParameters::PVNameCopyNoPath& vamPath = |
| 594 | iModifier->GetPVNameCopyNoPath(); |
| 595 | if (vamPath != lastPath) { |
| 596 | lastPath = vamPath; |
| 597 | oss << "\n/vis/set/touchable"; |
| 598 | G4ModelingParameters::PVNameCopyNoPathConstIterator iVAM; |
| 599 | for (iVAM = vamPath.begin(); |
| 600 | iVAM != vamPath.end(); |
| 601 | ++iVAM) { |
| 602 | oss << ' ' << iVAM->GetName() << ' ' << iVAM->GetCopyNo(); |
| 603 | } |
| 604 | } |
| 605 | const G4VisAttributes& vamVisAtts = iModifier->GetVisAttributes(); |
| 606 | const G4Colour& c = vamVisAtts.GetColour(); |
| 607 | switch (iModifier->GetVisAttributesSignifier()) { |
| 608 | case G4ModelingParameters::VASVisibility: |
| 609 | oss << "\n/vis/touchable/set/visibility "; |
| 610 | if (vamVisAtts.IsVisible()) { |
| 611 | oss << "true"; |
| 612 | } else { |
| 613 | oss << "false"; |
| 614 | } |
| 615 | break; |
| 616 | case G4ModelingParameters::VASDaughtersInvisible: |
| 617 | oss << "\n/vis/touchable/set/daughtersInvisible "; |
| 618 | if (vamVisAtts.IsDaughtersInvisible()) { |
| 619 | oss << "true"; |
| 620 | } else { |
| 621 | oss << "false"; |
| 622 | } |
| 623 | break; |
| 624 | case G4ModelingParameters::VASColour: |
no test coverage detected