CEDRIC  Revision_backup-2009-02
Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
PhastGeometryBuilder Class Reference

Collection of functions to create OSG geometry (nodes) for Phast classes (detectors/tracks). More...

#include <PhastGeometryBuilder.h>

Public Member Functions

 PhastGeometryBuilder ()
 
virtual ~PhastGeometryBuilder ()
 
Create geometry for PHAST objects

Create detector geometry

osg::ref_ptr< osg::Node > create (const PaDetect &det, osg::Vec3 color=osg::Vec3(1, 1, 1))
 
osg::ref_ptr< osg::Node > create (const PaCalorimeter &cal, osg::Vec3 color=osg::Vec3(1, 1, 1))
 Create Calorimeter geometry. More...
 
osg::ref_ptr< osg::Node > create (const PaRich &rich, osg::Vec3 color=osg::Vec3(1, 1, 1))
 Create Rich geometry. More...
 
osg::ref_ptr< osg::Node > create (const PaEvent &event)
 Create all tracks of an event (calls internally create(track) for every track) More...
 
osg::ref_ptr< osg::Node > create (const PaTrack &track, osg::Vec3 color=osg::Vec3(1, 1, 1))
 Create event track. More...
 

Static Public Member Functions

static void setShadowDistance (float dist)
 Must be set BEFORE creating any geometry with shadow. More...
 

Protected Member Functions

osg::ref_ptr< osgText::Text > createLabel (const std::string &label, osg::Node *node=0)
 Returns a Text placed on the upper right of the nodes bounding sphere (if one is given) More...
 
void setBlendState (osg::Node *node, bool enable)
 Enable/Disable blending. More...
 

Detailed Description

Collection of functions to create OSG geometry (nodes) for Phast classes (detectors/tracks).

See Also
PhastParser
Author
Max Hermann <mhermann[at]mail.cern.ch>

Constructor & Destructor Documentation

PhastGeometryBuilder::PhastGeometryBuilder ( )
PhastGeometryBuilder::~PhastGeometryBuilder ( )
virtual

Member Function Documentation

osg::ref_ptr<osg::Node> PhastGeometryBuilder::create ( const PaDetect &  det,
osg::Vec3  color = osg::Vec3(1, 1, 1) 
)
osg::ref_ptr<osg::Node> PhastGeometryBuilder::create ( const PaCalorimeter &  cal,
osg::Vec3  color = osg::Vec3(1, 1, 1) 
)

Create Calorimeter geometry.

osg::ref_ptr<osg::Node> PhastGeometryBuilder::create ( const PaRich &  rich,
osg::Vec3  color = osg::Vec3(1, 1, 1) 
)

Create Rich geometry.

ref_ptr< Node > PhastGeometryBuilder::create ( const PaEvent &  event)

Create all tracks of an event (calls internally create(track) for every track)

osg::ref_ptr<osg::Node> PhastGeometryBuilder::create ( const PaTrack &  track,
osg::Vec3  color = osg::Vec3(1, 1, 1) 
)

Create event track.

ref_ptr< osgText::Text > PhastGeometryBuilder::createLabel ( const std::string &  label,
osg::Node *  node = 0 
)
protected

Returns a Text placed on the upper right of the nodes bounding sphere (if one is given)

Todo:
Use global font (at the moment "Arial.ttf" hardcoded)
void PhastGeometryBuilder::setBlendState ( osg::Node *  node,
bool  enable 
)
protected

Enable/Disable blending.

static void PhastGeometryBuilder::setShadowDistance ( float  dist)
inlinestatic

Must be set BEFORE creating any geometry with shadow.