Ignore:
Timestamp:
May 20, 2010, 11:49:26 AM (14 years ago)
Author:
garnier
Message:

cvs update

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/visualization/management/src/G4VSceneHandler.cc

    r1241 r1258  
    2525//
    2626//
    27 // $Id: G4VSceneHandler.cc,v 1.91 2009/11/16 13:51:08 lgarnier Exp $
     27// $Id: G4VSceneHandler.cc,v 1.92 2010/05/11 10:55:07 allison Exp $
    2828// GEANT4 tag $Name:  $
    2929//
     
    6767#include "G4Polycone.hh"
    6868#include "G4Polyhedra.hh"
     69#include "G4DisplacedSolid.hh"
    6970#include "G4LogicalVolume.hh"
    7071#include "G4PhysicalVolumeModel.hh"
     
    258259
    259260void G4VSceneHandler::AddCompound (const G4VTrajectory& traj) {
    260   G4TrajectoriesModel* pTrModel =
     261  G4TrajectoriesModel* trajectoriesModel =
    261262    dynamic_cast<G4TrajectoriesModel*>(fpModel);
    262   if (!pTrModel) G4Exception
     263  if (!trajectoriesModel) G4Exception
    263264    ("G4VSceneHandler::AddCompound(const G4VTrajectory&): Not a G4TrajectoriesModel.");
    264   traj.DrawTrajectory(pTrModel->GetDrawingMode());
     265  G4VVisManager::IsDefaultDrawTrajectory = false;
     266  if (trajectoriesModel->IsDrawingModeSet()) {
     267    traj.DrawTrajectory(trajectoriesModel->GetDrawingMode());
     268  } else {
     269    traj.DrawTrajectory();
     270  }
     271  if (!G4VVisManager::IsDefaultDrawTrajectory) {
     272    static G4bool warnedAboutIMode = false;
     273    if (!warnedAboutIMode) {
     274      G4Exception
     275        ("G4VSceneHandler::AddCompound(const G4VTrajectory&)",
     276         "",
     277         JustWarning,
     278  "WARNING: DEPRECATED: The use of the i_mode argument in DrawTrajectory"
     279  "\n  is deprecated and will be removed in a future major release.");
     280      warnedAboutIMode = true;
     281    }
     282  }
    265283}
    266284
     
    741759  pModelingParams->SetExplodeCentre(vp.GetExplodeCentre());
    742760
    743   pModelingParams->SetSectionPolyhedron(CreateSectionPolyhedron());
    744   pModelingParams->SetCutawayPolyhedron(CreateCutawayPolyhedron());
     761  pModelingParams->SetSectionSolid(CreateSectionSolid());
     762  pModelingParams->SetCutawaySolid(CreateCutawaySolid());
    745763  // The polyhedron objects are deleted in the modeling parameters destructor.
    746764
     
    748766}
    749767
    750 const G4Polyhedron* G4VSceneHandler::CreateSectionPolyhedron()
    751 {
    752   /* Disable for now.  Boolean processor not up to it.
     768G4VSolid* G4VSceneHandler::CreateSectionSolid()
     769{
     770  G4VSolid* sectioner = 0;
    753771  const G4ViewParameters& vp = fpViewer->GetViewParameters();
    754772  if (vp.IsSection () ) {
    755773    G4double radius = fpScene->GetExtent().GetExtentRadius();
    756774    G4double safe = radius + fpScene->GetExtent().GetExtentCentre().mag();
    757     G4Box sectionBox("clipper",
    758                      safe, safe, 1.e-5 * radius);  // Thin in z-plane.
    759     G4Polyhedron* sectioner = sectionBox.CreatePolyhedron();
     775    G4VSolid* sectionBox =
     776      new G4Box("_sectioner", safe, safe, 1.e-5 * radius);  // Thin in z-plane.
    760777    const G4Plane3D& s = vp.GetSectionPlane ();
    761778    G4double a = s.a();
     
    770787      transform = G4Rotate3D(angle, axis) * transform;
    771788    }
    772     sectioner->Transform(transform);
    773     return sectioner;
    774   } else {
    775     return 0;
    776   }
    777   */
    778   return 0;
    779 }
    780 
    781 const G4Polyhedron* G4VSceneHandler::CreateCutawayPolyhedron()
     789    sectioner = new G4DisplacedSolid
     790      ("_displaced_sectioning_box", sectionBox, transform);
     791  }
     792  return sectioner;
     793}
     794
     795G4VSolid* G4VSceneHandler::CreateCutawaySolid()
    782796{
    783797  return 0;
Note: See TracChangeset for help on using the changeset viewer.