G4XXXFileSceneHandler Class Reference

#include <G4XXXFileSceneHandler.hh>

Inheritance diagram for G4XXXFileSceneHandler:

G4VSceneHandler G4VGraphicsScene

Public Member Functions

 G4XXXFileSceneHandler (G4VGraphicsSystem &system, const G4String &name)
virtual ~G4XXXFileSceneHandler ()
void AddSolid (const G4Box &)
void AddSolid (const G4Cons &cons)
void AddSolid (const G4Tubs &tubs)
void AddSolid (const G4Trd &trd)
void AddSolid (const G4Trap &trap)
void AddSolid (const G4Sphere &sphere)
void AddSolid (const G4Para &para)
void AddSolid (const G4Torus &torus)
void AddSolid (const G4Polycone &polycone)
void AddSolid (const G4Polyhedra &polyhedra)
void AddSolid (const G4VSolid &solid)
void AddPrimitive (const G4Polyline &)
void AddPrimitive (const G4Text &)
void AddPrimitive (const G4Circle &)
void AddPrimitive (const G4Square &)
void AddPrimitive (const G4Polyhedron &)
void AddPrimitive (const G4NURBS &)
void AddPrimitive (const G4Polymarker &polymarker)
void AddPrimitive (const G4Scale &scale)

Static Protected Attributes

static G4int fSceneIdCount = 0

Friends

class G4XXXFileViewer

Detailed Description

Definition at line 39 of file G4XXXFileSceneHandler.hh.


Constructor & Destructor Documentation

G4XXXFileSceneHandler::G4XXXFileSceneHandler ( G4VGraphicsSystem system,
const G4String name 
)

Definition at line 54 of file G4XXXFileSceneHandler.cc.

00055                                                                   :
00056   G4VSceneHandler(system, fSceneIdCount++, name)
00057 {}

G4XXXFileSceneHandler::~G4XXXFileSceneHandler (  )  [virtual]

Definition at line 59 of file G4XXXFileSceneHandler.cc.

00059 {}


Member Function Documentation

void G4XXXFileSceneHandler::AddPrimitive ( const G4Scale scale  )  [inline, virtual]

Reimplemented from G4VSceneHandler.

Definition at line 96 of file G4XXXFileSceneHandler.hh.

References G4VSceneHandler::AddPrimitive().

void G4XXXFileSceneHandler::AddPrimitive ( const G4Polymarker polymarker  )  [inline, virtual]

Reimplemented from G4VSceneHandler.

Definition at line 94 of file G4XXXFileSceneHandler.hh.

References G4VSceneHandler::AddPrimitive().

00095   {G4VSceneHandler::AddPrimitive (polymarker);}

void G4XXXFileSceneHandler::AddPrimitive ( const G4NURBS  )  [virtual]

Implements G4VSceneHandler.

Definition at line 274 of file G4XXXFileSceneHandler.cc.

References G4cout, and G4endl.

00274                                                        {
00275 #ifdef G4XXXFileDEBUG
00276   G4cout <<
00277     "G4XXXFileSceneHandler::AddPrimitive(const G4NURBS& nurbs) called."
00278          << G4endl;
00279 #endif
00280   //?? Don't bother implementing this.  NURBS are not functional.
00281 }

void G4XXXFileSceneHandler::AddPrimitive ( const G4Polyhedron  )  [virtual]

Implements G4VSceneHandler.

Definition at line 215 of file G4XXXFileSceneHandler.cc.

References G4VSceneHandler::fpViewer, G4cout, G4endl, G4VSceneHandler::GetDrawingStyle(), G4ViewParameters::hlr, G4ViewParameters::hsr, and G4ViewParameters::wireframe.

00215                                                                        {
00216 #ifdef G4XXXFileDEBUG
00217   G4cout <<
00218 "G4XXXFileSceneHandler::AddPrimitive(const G4Polyhedron& polyhedron) called.\n"
00219          << polyhedron
00220          << G4endl;
00221 #endif
00222   //?? Process polyhedron.
00223   std::ostringstream oss;
00224   oss << polyhedron;
00225   dynamic_cast<G4XXXFileViewer*>(fpViewer)->
00226     GetFileWriter().WriteItem(oss.str());
00227 
00228   //?? Or... here are some ideas for decomposing into polygons...
00229   //Assume all facets are convex quadrilaterals.
00230   //Draw each G4Facet individually
00231   
00232   //Get colour, etc..
00233   if (polyhedron.GetNoFacets() == 0) return;
00234 
00235   // Get vis attributes - pick up defaults if none.
00236   const G4VisAttributes* pVA =
00237     fpViewer -> GetApplicableVisAttributes (polyhedron.GetVisAttributes ());
00238 
00239   // Get view parameters that the user can force through the vis
00240   // attributes, thereby over-riding the current view parameter.
00241   G4ViewParameters::DrawingStyle drawing_style = GetDrawingStyle (pVA);
00242   //G4bool isAuxEdgeVisible = GetAuxEdgeVisible (pVA);
00243   
00244   //Get colour, etc..
00245   //const G4Colour& c = pVA -> GetColour ();
00246   
00247   // Initial action depending on drawing style.
00248   switch (drawing_style) {
00249   case (G4ViewParameters::hsr):
00250     {
00251       break;
00252     }
00253   case (G4ViewParameters::hlr):
00254     {
00255       break;
00256     }
00257   case (G4ViewParameters::wireframe):
00258     {
00259       break;
00260     }
00261   default:
00262     {
00263       break;
00264     }     
00265   }
00266 
00267   // Loop through all the facets...
00268 
00269   // Look at G4OpenGLSceneHandler::AddPrimitive(const G4Polyhedron&)
00270   // for an example of how to get facets out of a G4Polyhedron,
00271   // including how to cope with triangles if that's a problem.
00272 }

void G4XXXFileSceneHandler::AddPrimitive ( const G4Square  )  [virtual]

Implements G4VSceneHandler.

Definition at line 184 of file G4XXXFileSceneHandler.cc.

References G4VSceneHandler::fpViewer, G4cout, G4endl, G4VSceneHandler::GetMarkerSize(), G4VSceneHandler::screen, and G4VSceneHandler::world.

00184                                                                {
00185 #ifdef G4XXXFileDEBUG
00186   G4cout <<
00187     "G4XXXFileSceneHandler::AddPrimitive(const G4Square& square) called.\n"
00188          << square
00189          << G4endl;
00190   MarkerSizeType sizeType;
00191   G4double size = GetMarkerSize (square, sizeType);
00192   switch (sizeType) {
00193   default:
00194   case screen:
00195     // Draw in screen coordinates.
00196     G4cout << "screen";
00197     break;
00198   case world:
00199     // Draw in world coordinates.
00200     G4cout << "world";
00201     break;
00202   }
00203   G4cout << " size: " << size << G4endl;
00204 #endif
00205   // Get vis attributes - pick up defaults if none.
00206   //const G4VisAttributes* pVA =
00207   //  fpViewer -> GetApplicableVisAttributes (square.GetVisAttributes ());
00208   //?? Process square.
00209   std::ostringstream oss;
00210   oss << square;
00211   dynamic_cast<G4XXXFileViewer*>(fpViewer)->
00212     GetFileWriter().WriteItem(oss.str());
00213 }

void G4XXXFileSceneHandler::AddPrimitive ( const G4Circle  )  [virtual]

Implements G4VSceneHandler.

Definition at line 153 of file G4XXXFileSceneHandler.cc.

References G4VSceneHandler::fpViewer, G4cout, G4endl, G4VSceneHandler::GetMarkerSize(), G4VSceneHandler::screen, and G4VSceneHandler::world.

00153                                                                {
00154 #ifdef G4XXXFileDEBUG
00155   G4cout <<
00156     "G4XXXFileSceneHandler::AddPrimitive(const G4Circle& circle) called.\n  "
00157          << circle
00158          << G4endl;
00159   MarkerSizeType sizeType;
00160   G4double size = GetMarkerSize (circle, sizeType);
00161   switch (sizeType) {
00162   default:
00163   case screen:
00164     // Draw in screen coordinates.
00165     G4cout << "screen";
00166     break;
00167   case world:
00168     // Draw in world coordinates.
00169     G4cout << "world";
00170     break;
00171   }
00172   G4cout << " size: " << size << G4endl;
00173 #endif
00174   // Get vis attributes - pick up defaults if none.
00175   //const G4VisAttributes* pVA =
00176   //  fpViewer -> GetApplicableVisAttributes (circle.GetVisAttributes ());
00177   //?? Process circle.
00178   std::ostringstream oss;
00179   oss << circle;
00180   dynamic_cast<G4XXXFileViewer*>(fpViewer)->
00181     GetFileWriter().WriteItem(oss.str());
00182 }

void G4XXXFileSceneHandler::AddPrimitive ( const G4Text  )  [virtual]

Implements G4VSceneHandler.

Definition at line 134 of file G4XXXFileSceneHandler.cc.

References G4VSceneHandler::fpViewer, G4cout, and G4endl.

00134                                                            {
00135 #ifdef G4XXXFileDEBUG
00136   G4cout <<
00137     "G4XXXFileSceneHandler::AddPrimitive(const G4Text& text) called.\n"
00138          << text
00139          << G4endl;
00140 #endif
00141   // Get text colour - special method since default text colour is
00142   // determined by the default text vis attributes, which may be
00143   // specified independent of default vis attributes of other types of
00144   // visible objects.
00145   //const G4Colour& c = GetTextColour (text);  // Picks up default if none.
00146   //?? Process text.
00147   std::ostringstream oss;
00148   oss << text;
00149   dynamic_cast<G4XXXFileViewer*>(fpViewer)->
00150     GetFileWriter().WriteItem(oss.str());
00151 }

void G4XXXFileSceneHandler::AddPrimitive ( const G4Polyline  )  [virtual]

Implements G4VSceneHandler.

Definition at line 117 of file G4XXXFileSceneHandler.cc.

References G4VSceneHandler::fpViewer, G4cout, and G4endl.

00117                                                                    {
00118 #ifdef G4XXXFileDEBUG
00119   G4cout <<
00120     "G4XXXFileSceneHandler::AddPrimitive(const G4Polyline& polyline) called.\n"
00121          << polyline
00122          << G4endl;
00123 #endif
00124   // Get vis attributes - pick up defaults if none.
00125   //const G4VisAttributes* pVA =
00126   //  fpViewer -> GetApplicableVisAttributes (polyline.GetVisAttributes ());
00127   //?? Process polyline.
00128   std::ostringstream oss;
00129   oss << polyline;
00130   dynamic_cast<G4XXXFileViewer*>(fpViewer)->
00131     GetFileWriter().WriteItem(oss.str());
00132 }

void G4XXXFileSceneHandler::AddSolid ( const G4VSolid solid  )  [inline, virtual]

Reimplemented from G4VSceneHandler.

Definition at line 72 of file G4XXXFileSceneHandler.hh.

References G4VSceneHandler::AddSolid().

00073   {G4VSceneHandler::AddSolid(solid);}

void G4XXXFileSceneHandler::AddSolid ( const G4Polyhedra polyhedra  )  [inline, virtual]

Reimplemented from G4VSceneHandler.

Definition at line 70 of file G4XXXFileSceneHandler.hh.

References G4VSceneHandler::AddSolid().

00071   {G4VSceneHandler::AddSolid(polyhedra);}

void G4XXXFileSceneHandler::AddSolid ( const G4Polycone polycone  )  [inline, virtual]

Reimplemented from G4VSceneHandler.

Definition at line 68 of file G4XXXFileSceneHandler.hh.

References G4VSceneHandler::AddSolid().

00069   {G4VSceneHandler::AddSolid(polycone);}

void G4XXXFileSceneHandler::AddSolid ( const G4Torus torus  )  [inline, virtual]

Reimplemented from G4VSceneHandler.

Definition at line 66 of file G4XXXFileSceneHandler.hh.

References G4VSceneHandler::AddSolid().

00067   {G4VSceneHandler::AddSolid(torus);}

void G4XXXFileSceneHandler::AddSolid ( const G4Para para  )  [inline, virtual]

Reimplemented from G4VSceneHandler.

Definition at line 64 of file G4XXXFileSceneHandler.hh.

References G4VSceneHandler::AddSolid().

void G4XXXFileSceneHandler::AddSolid ( const G4Sphere sphere  )  [inline, virtual]

Reimplemented from G4VSceneHandler.

Definition at line 62 of file G4XXXFileSceneHandler.hh.

References G4VSceneHandler::AddSolid().

00063   {G4VSceneHandler::AddSolid(sphere);}

void G4XXXFileSceneHandler::AddSolid ( const G4Trap trap  )  [inline, virtual]

Reimplemented from G4VSceneHandler.

Definition at line 60 of file G4XXXFileSceneHandler.hh.

References G4VSceneHandler::AddSolid().

void G4XXXFileSceneHandler::AddSolid ( const G4Trd trd  )  [inline, virtual]

Reimplemented from G4VSceneHandler.

Definition at line 58 of file G4XXXFileSceneHandler.hh.

References G4VSceneHandler::AddSolid().

void G4XXXFileSceneHandler::AddSolid ( const G4Tubs tubs  )  [inline, virtual]

Reimplemented from G4VSceneHandler.

Definition at line 56 of file G4XXXFileSceneHandler.hh.

References G4VSceneHandler::AddSolid().

void G4XXXFileSceneHandler::AddSolid ( const G4Cons cons  )  [inline, virtual]

Reimplemented from G4VSceneHandler.

Definition at line 54 of file G4XXXFileSceneHandler.hh.

References G4VSceneHandler::AddSolid().

void G4XXXFileSceneHandler::AddSolid ( const G4Box  )  [virtual]

Reimplemented from G4VSceneHandler.

Definition at line 98 of file G4XXXFileSceneHandler.cc.

References G4VSceneHandler::fpViewer, G4cout, G4endl, G4VSolid::GetName(), G4Box::GetXHalfLength(), G4Box::GetYHalfLength(), and G4Box::GetZHalfLength().

00098                                                      {
00099 #ifdef G4XXXFileDEBUG
00100   G4cout <<
00101     "G4XXXFileSceneHandler::AddSolid(const G4Box& box) called for "
00102          << box.GetName()
00103          << G4endl;
00104 #endif
00105   //?? Process your box...
00106   std::ostringstream oss;
00107   oss << "G4Box(" <<
00108     G4String
00109     (G4BestUnit
00110      (G4ThreeVector
00111       (box.GetXHalfLength(), box.GetYHalfLength(), box.GetZHalfLength()),
00112       "Length")).strip() << ')';
00113   dynamic_cast<G4XXXFileViewer*>(fpViewer)->
00114     GetFileWriter().WriteItem(oss.str());
00115 }


Friends And Related Function Documentation

friend class G4XXXFileViewer [friend]

Definition at line 41 of file G4XXXFileSceneHandler.hh.


Field Documentation

G4int G4XXXFileSceneHandler::fSceneIdCount = 0 [static, protected]

Definition at line 116 of file G4XXXFileSceneHandler.hh.


The documentation for this class was generated from the following files:
Generated on Mon May 27 17:54:01 2013 for Geant4 by  doxygen 1.4.7