G4VisModelManager< Model > Class Template Reference

#include <G4VisModelManager.hh>


Public Types

typedef G4VisListManager<
Model > 
List
typedef G4VModelFactory< Model > Factory

Public Member Functions

 G4VisModelManager (const G4String &)
virtual ~G4VisModelManager ()
void Register (Model *)
void Register (Factory *)
void SetCurrent (const G4String &)
const Model * Current () const
G4String Placement () const
void Print (std::ostream &ostr, const G4String &name="") const
const ListListManager () const
const std::vector< Factory * > & FactoryList () const


Detailed Description

template<typename Model>
class G4VisModelManager< Model >

Definition at line 43 of file G4VisModelManager.hh.


Member Typedef Documentation

template<typename Model>
typedef G4VModelFactory<Model> G4VisModelManager< Model >::Factory

Definition at line 49 of file G4VisModelManager.hh.

template<typename Model>
typedef G4VisListManager<Model> G4VisModelManager< Model >::List

Definition at line 48 of file G4VisModelManager.hh.


Constructor & Destructor Documentation

template<typename Model>
G4VisModelManager< Model >::G4VisModelManager ( const G4String  ) 

Definition at line 88 of file G4VisModelManager.hh.

00089   :fPlacement(placement)
00090   ,fpModelList(new List)
00091 {}

template<typename Model>
G4VisModelManager< Model >::~G4VisModelManager (  )  [virtual]

Definition at line 94 of file G4VisModelManager.hh.

00095 {
00096   // Cleanup
00097   std::vector<G4UImessenger*>::iterator iterMsgr = fMessengerList.begin();
00098   
00099   while (iterMsgr != fMessengerList.end()) {
00100     delete *iterMsgr;
00101     iterMsgr++;
00102   }
00103 
00104   typename std::vector<Factory*>::iterator iterFactory = fFactoryList.begin();
00105   
00106   while (iterFactory != fFactoryList.end()) {
00107     delete *iterFactory;
00108     iterFactory++;
00109   }
00110 
00111   delete fpModelList;
00112 }


Member Function Documentation

template<typename Model>
const Model * G4VisModelManager< Model >::Current (  )  const

Definition at line 141 of file G4VisModelManager.hh.

References G4VisListManager< T >::Current().

Referenced by G4VisManager::CurrentTrajDrawModel().

00142 {
00143   return fpModelList->Current();
00144 }

template<typename Model>
const std::vector< G4VModelFactory< Model > * > & G4VisModelManager< Model >::FactoryList (  )  const

Definition at line 183 of file G4VisModelManager.hh.

00184 {
00185   return fFactoryList;
00186 }

template<typename Model>
const G4VisListManager< Model > * G4VisModelManager< Model >::ListManager (  )  const

Definition at line 176 of file G4VisModelManager.hh.

00177 {
00178   return fpModelList;
00179 }

template<typename Model>
G4String G4VisModelManager< Model >::Placement (  )  const

Definition at line 148 of file G4VisModelManager.hh.

Referenced by G4VisManager::RegisterMessengers().

00149 {
00150   return fPlacement;
00151 }

template<typename Model>
void G4VisModelManager< Model >::Print ( std::ostream &  ostr,
const G4String name = "" 
) const

Definition at line 155 of file G4VisModelManager.hh.

References G4VisListManager< T >::Print().

00156 {
00157   ostr<<"Registered model factories:"<<std::endl;
00158 
00159   typename std::vector<Factory*>::const_iterator iter = fFactoryList.begin();
00160 
00161   while (iter != fFactoryList.end()) {
00162     (*iter)->Print(ostr);
00163     iter++;
00164   }
00165 
00166   if (0 == fFactoryList.size()) ostr<<"  None"<<std::endl;
00167 
00168   ostr<<std::endl;
00169   ostr<<"Registered models: "<<std::endl;
00170 
00171   fpModelList->Print(ostr, name);
00172 }

template<typename Model>
void G4VisModelManager< Model >::Register ( Factory  ) 

Definition at line 123 of file G4VisModelManager.hh.

00124 {
00125   // Assume ownership
00126   fFactoryList.push_back(factory);
00127 
00128   // Generate "create" command for this factory
00129   fMessengerList.push_back(new G4VisCommandModelCreate<Factory>(factory, fPlacement));
00130 }

template<typename Model>
void G4VisModelManager< Model >::Register ( Model *   ) 

Definition at line 116 of file G4VisModelManager.hh.

References G4VisListManager< T >::Register().

Referenced by G4VisManager::CurrentTrajDrawModel(), G4VisManager::RegisterModel(), and G4VisManager::RegisterModelFactory().

00117 {
00118   fpModelList->Register(model);
00119 }

template<typename Model>
void G4VisModelManager< Model >::SetCurrent ( const G4String  ) 

Definition at line 134 of file G4VisModelManager.hh.

References G4VisListManager< T >::SetCurrent().

Referenced by G4VisManager::SelectTrajectoryModel().

00135 {
00136   fpModelList->SetCurrent(model);
00137 }


The documentation for this class was generated from the following file:
Generated on Mon May 27 17:53:49 2013 for Geant4 by  doxygen 1.4.7