Geant4-11
Public Types | Public Member Functions | Static Public Member Functions | Data Fields | Private Member Functions | Private Attributes
SoG4MarkerSet Class Reference

#include <SoG4MarkerSet.h>

Inheritance diagram for SoG4MarkerSet:
HEPVis_SoMarkerSet G4AttHolder

Public Types

enum  MarkerType {
  PLUS_5_5 = 0 , ASTERISK_5_5 , CROSS_5_5 , STAR_5_5 ,
  CIRCLE_LINE_5_5 , CIRCLE_FILLED_5_5 , TRIANGLE_UP_LINE_5_5 , TRIANGLE_UP_FILLED_5_5 ,
  TRIANGLE_DOWN_LINE_5_5 , TRIANGLE_DOWN_FILLED_5_5 , DAVID_STAR_LINE_5_5 = 10 , DAVID_STAR_FILLED_5_5 ,
  SWISS_CROSS_LINE_5_5 , SWISS_CROSS_FILLED_5_5 , DIAMOND_LINE_5_5 , DIAMOND_FILLED_5_5 ,
  SQUARE_LINE_5_5 , SQUARE_FILLED_5_5 = 17 , PLUS_7_7 = 18 , ASTERISK_7_7 ,
  CROSS_7_7 , STAR_7_7 , CIRCLE_LINE_7_7 , CIRCLE_FILLED_7_7 ,
  TRIANGLE_UP_LINE_7_7 , TRIANGLE_UP_FILLED_7_7 , TRIANGLE_DOWN_LINE_7_7 , TRIANGLE_DOWN_FILLED_7_7 ,
  DAVID_STAR_LINE_7_7 , DAVID_STAR_FILLED_7_7 , SWISS_CROSS_LINE_7_7 = 30 , SWISS_CROSS_FILLED_7_7 ,
  DIAMOND_LINE_7_7 , DIAMOND_FILLED_7_7 , SQUARE_LINE_7_7 , SQUARE_FILLED_7_7 = 35 ,
  PLUS_9_9 = 36 , ASTERISK_9_9 , CROSS_9_9 , STAR_9_9 ,
  CIRCLE_LINE_9_9 , CIRCLE_FILLED_9_9 , TRIANGLE_UP_LINE_9_9 , TRIANGLE_UP_FILLED_9_9 ,
  TRIANGLE_DOWN_LINE_9_9 , TRIANGLE_DOWN_FILLED_9_9 , DAVID_STAR_LINE_9_9 , DAVID_STAR_FILLED_9_9 ,
  SWISS_CROSS_LINE_9_9 = 30 , SWISS_CROSS_FILLED_9_9 , DIAMOND_LINE_9_9 , DIAMOND_FILLED_9_9 ,
  SQUARE_LINE_9_9 , SQUARE_FILLED_9_9 = 53
}
 

Public Member Functions

void AddAtts (const std::vector< G4AttValue > *values, const std::map< G4String, G4AttDef > *defs)
 
const std::vector< const std::map< G4String, G4AttDef > * > & GetAttDefs () const
 
const std::vector< const std::vector< G4AttValue > * > & GetAttValues () const
 
virtual void GLRender (SoGLRenderAction *)
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 

Static Public Member Functions

static void initClass ()
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!// More...
 

Data Fields

SoMFInt32 markerIndex
 

Private Member Functions

 SO_NODE_HEADER (HEPVis_SoMarkerSet)
 

Private Attributes

std::vector< const std::map< G4String, G4AttDef > * > fDefs
 
std::vector< const std::vector< G4AttValue > * > fValues
 

Detailed Description

Definition at line 37 of file SoG4MarkerSet.h.

Member Enumeration Documentation

◆ MarkerType

Enumerator
PLUS_5_5 
ASTERISK_5_5 
CROSS_5_5 
STAR_5_5 
CIRCLE_LINE_5_5 
CIRCLE_FILLED_5_5 
TRIANGLE_UP_LINE_5_5 
TRIANGLE_UP_FILLED_5_5 
TRIANGLE_DOWN_LINE_5_5 
TRIANGLE_DOWN_FILLED_5_5 
DAVID_STAR_LINE_5_5 
DAVID_STAR_FILLED_5_5 
SWISS_CROSS_LINE_5_5 
SWISS_CROSS_FILLED_5_5 
DIAMOND_LINE_5_5 
DIAMOND_FILLED_5_5 
SQUARE_LINE_5_5 
SQUARE_FILLED_5_5 
PLUS_7_7 
ASTERISK_7_7 
CROSS_7_7 
STAR_7_7 
CIRCLE_LINE_7_7 
CIRCLE_FILLED_7_7 
TRIANGLE_UP_LINE_7_7 
TRIANGLE_UP_FILLED_7_7 
TRIANGLE_DOWN_LINE_7_7 
TRIANGLE_DOWN_FILLED_7_7 
DAVID_STAR_LINE_7_7 
DAVID_STAR_FILLED_7_7 
SWISS_CROSS_LINE_7_7 
SWISS_CROSS_FILLED_7_7 
DIAMOND_LINE_7_7 
DIAMOND_FILLED_7_7 
SQUARE_LINE_7_7 
SQUARE_FILLED_7_7 
PLUS_9_9 
ASTERISK_9_9 
CROSS_9_9 
STAR_9_9 
CIRCLE_LINE_9_9 
CIRCLE_FILLED_9_9 
TRIANGLE_UP_LINE_9_9 
TRIANGLE_UP_FILLED_9_9 
TRIANGLE_DOWN_LINE_9_9 
TRIANGLE_DOWN_FILLED_9_9 
DAVID_STAR_LINE_9_9 
DAVID_STAR_FILLED_9_9 
SWISS_CROSS_LINE_9_9 
SWISS_CROSS_FILLED_9_9 
DIAMOND_LINE_9_9 
DIAMOND_FILLED_9_9 
SQUARE_LINE_9_9 
SQUARE_FILLED_9_9 

Definition at line 41 of file SoMarkerSet.h.

41 {
42 //************ 5x5 markers
43 PLUS_5_5 = 0,
61
62 //************ 7x7 markers
63 PLUS_7_7 = 18,
81
82 //************ 9x9 markers
83 PLUS_9_9 = 36,
101 } ;

Member Function Documentation

◆ AddAtts()

void G4AttHolder::AddAtts ( const std::vector< G4AttValue > *  values,
const std::map< G4String, G4AttDef > *  defs 
)
inlineinherited

Definition at line 64 of file G4AttHolder.hh.

66 {fValues.push_back(values); fDefs.push_back(defs);}
std::vector< const std::vector< G4AttValue > * > fValues
Definition: G4AttHolder.hh:74
std::vector< const std::map< G4String, G4AttDef > * > fDefs
Definition: G4AttHolder.hh:75

References G4AttHolder::fDefs, and G4AttHolder::fValues.

Referenced by G4VSceneHandler::LoadAtts().

◆ GetAttDefs()

const std::vector< const std::map< G4String, G4AttDef > * > & G4AttHolder::GetAttDefs ( ) const
inlineinherited

◆ GetAttValues()

const std::vector< const std::vector< G4AttValue > * > & G4AttHolder::GetAttValues ( ) const
inlineinherited

◆ GLRender()

void HEPVis_SoMarkerSet::GLRender ( SoGLRenderAction *  aAction)
virtualinherited

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 656 of file SoMarkerSet.cc.

661{
662 SoState* state = aAction->getState();
663
664 const SoCoordinateElement* coordinateElement =
665 SoCoordinateElement::getInstance(state);
666 if(coordinateElement==NULL) return;
667
668 if(aAction->isOfType(SoGL2PSAction::getClassTypeId())) {
669 SoCacheElement::invalidate(state);
670 }
671
672 const SbColor& color = SoLazyElement::getDiffuse(aAction->getState(),0);
673 float red,green,blue;
674 color.getValue(red,green,blue);
675
676 int mark = markerIndex[0];
677
678 int starti = startIndex.getValue();
679 int pointn = numPoints.getValue();
680 int pointi;
681
682 glPushAttrib( (GLbitfield)(GL_CURRENT_BIT | GL_ENABLE_BIT));
683 glDisable(GL_LIGHTING);
684 glColor3f(red,green,blue);
685
686#ifdef WIN32
687 //WIN32 : depth test is out over bitmap !
688 glDisable(GL_DEPTH_TEST);
689#endif
690
691 glPixelStorei(GL_UNPACK_ALIGNMENT,1);
692 for(pointi=starti;pointi<pointn;pointi++){
693 const SbVec3f& vec = coordinateElement->get3(pointi);
694 glRasterPos3f(vec[0],vec[1],vec[2]);
695 // Do a push, pop to correct a deffect of Mesa-3.1.
696 // If not, further line drawing will have bad colors.
697 // The glPopAttrib will compell a reinitialisation of
698 // some internal Mesa state.
699 //glPushAttrib(GL_ALL_ATTRIB_BITS);
700 //glPopAttrib();
701 //
702 drawMarker(aAction,mark);
703 }
704
705 glPopAttrib();
706}
static void drawMarker(SoAction *, int)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//
Definition: SoMarkerSet.cc:708
SoMFInt32 markerIndex
Definition: SoMarkerSet.h:38

References drawMarker(), and HEPVis_SoMarkerSet::markerIndex.

◆ initClass()

void HEPVis_SoMarkerSet::initClass ( void  )
staticinherited

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!//

Definition at line 627 of file SoMarkerSet.cc.

631{
632 static bool first = true;
633 if (first) {
634 first = false;
635 SO_NODE_INIT_CLASS(HEPVis_SoMarkerSet,SoPointSet,"PointSet");
636 }
637}

Referenced by G4OpenInventor::InitNodes().

◆ SO_NODE_HEADER()

HEPVis_SoMarkerSet::SO_NODE_HEADER ( HEPVis_SoMarkerSet  )
privateinherited

Field Documentation

◆ fDefs

std::vector<const std::map<G4String,G4AttDef>*> G4AttHolder::fDefs
privateinherited

Definition at line 75 of file G4AttHolder.hh.

Referenced by G4AttHolder::AddAtts(), and G4AttHolder::GetAttDefs().

◆ fValues

std::vector<const std::vector<G4AttValue>*> G4AttHolder::fValues
privateinherited

◆ markerIndex

SoMFInt32 HEPVis_SoMarkerSet::markerIndex
inherited

The documentation for this class was generated from the following file: