Fork me on GitHub

source: svn/trunk/Utilities/FROG/Includes/FROG/FROG_Element_Event_NuclInt.h@ 238

Last change on this file since 238 was 95, checked in by severine ovyn, 16 years ago

first commit frog

File size: 2.6 KB
Line 
1#ifndef _FROG_ELEMENT_EVENT_NUCLINT_H__
2#define _FROG_ELEMENT_EVENT_NUCLINT_H__
3
4#include "FROG_Element_Base.h"
5#include "FROG_Objects_Extended.h"
6
7class FROG_Element_Event_NuclInt : public FROG_Element_Base {
8public :
9 float PosX; float PosY; float PosZ; float likelihood;
10 FROG_Objects_Extended* frogObjects_;
11 unsigned int nameId_;
12
13 virtual bool isCompactible(){ return true; }
14
15 static unsigned int sizeOf(){ return FROG_Element_Base::sizeOf() + 4*sizeof(float);}
16
17 FROG_Element_Event_NuclInt(float posX, float posY, float posZ, float likeli):
18 FROG_Element_Base(C_RECO_NUCL),
19 PosX(posX), PosY(posY), PosZ(posZ), likelihood(likeli)
20 {
21 size_ = sizeOf();
22 }
23
24 FROG_Element_Event_NuclInt(FILE* pFile) : FROG_Element_Base(C_RECO_NUCL)
25 {
26 size_ = sizeOf();
27 fread(&PosX ,sizeof(PosX) ,1,pFile);
28 fread(&PosY ,sizeof(PosY) ,1,pFile);
29 fread(&PosZ ,sizeof(PosZ) ,1,pFile);
30 fread(&likelihood ,sizeof(likelihood) ,1,pFile);
31 }
32
33 virtual void write () {
34 size_ = sizeOf();
35 data_ = new unsigned char[size_-6];
36 data_ = FillBuffer( data_, &PosX, sizeof(PosX));
37 data_ = FillBuffer( data_, &PosY, sizeof(PosY));
38 data_ = FillBuffer( data_, &PosZ, sizeof(PosZ));
39 data_ = FillBuffer( data_, &likelihood, sizeof(likelihood));
40 data_ = (unsigned char*)((unsigned long)data_ - (size_-6) );
41 }
42
43 #ifdef FROG_OPENGL
44 virtual void display(bool UseDisplayList=true, float* color=NULL){
45 // first Init Colors & Style!
46 init(NULL);
47 glColor4fv (style_->color_);
48
49 if(Start_Display(UseDisplayList)){
50 glLoadName( nameId_ );
51
52 if(style_->marker_>0){
53 glBindTexture(GL_TEXTURE_2D,frogObjects_->getMarker(style_->marker_));
54 glEnable(GL_TEXTURE_2D);
55 glTexEnvf( GL_POINT_SPRITE_ARB, GL_COORD_REPLACE_ARB, GL_TRUE );
56 glEnable( GL_POINT_SPRITE_ARB );
57 }
58
59 glPointSize (style_->markerSize_);
60 glBegin (GL_POINTS);
61 glVertex3f(PosX, PosY, PosZ);
62 glEnd();
63
64 if(style_->marker_>0){
65 glDisable( GL_POINT_SPRITE_ARB );
66 glDisable(GL_TEXTURE_2D);
67 glBindTexture(GL_TEXTURE_2D,0);
68 }
69
70 End_Display(UseDisplayList);
71 }
72 }
73 #endif
74
75 virtual void init(void* frogObjects){
76 if(frogObjects!=NULL){
77 frogObjects_ = (FROG_Objects_Extended*) frogObjects;
78 nameId_ = frogObjects_->frogEvent_->name_map.size();
79 frogObjects_->frogEvent_->name_map.push_back(this);
80 }else if(frogObjects==NULL && frogObjects_ != NULL){
81 if(mother_ != NULL && mother_->style_ !=NULL){ style_ = mother_->style_;
82 }else{ style_ = new FROG_Objects_Style(); }
83 }
84 }
85
86};
87#endif
Note: See TracBrowser for help on using the repository browser.