Changeset 116 in Sophya for trunk/SophyaPI
- Timestamp:
- Jul 3, 1998, 5:39:48 PM (27 years ago)
- Location:
- trunk/SophyaPI/PI
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaPI/PI/pi3ddrw.cc
r115 r116 99 99 cTeta = cPhi = 0.; cUlen = 1.; 100 100 101 ActivateButton( 1); // Pour pouvoir tourner la camera102 ActivateMove( 1);103 ActivateButton( 2); // Pour deplacer la camera le long de son axe104 ActivateMove( 2);105 ActivateButton( 3); // Pour pouvoir tourner la camera101 ActivateButton(2); // Pour pouvoir tourner la camera 102 ActivateMove(2); 103 ActivateButton(3); // Pour deplacer la camera le long de son axe 104 ActivateMove(3); 105 ActivateButton(1); 106 106 107 107 mGr3d = new PIGraphic3D(mWGrC, 0, 0, sx, sy); … … 213 213 214 214 /* --Methode-- */ 215 void PIDraw3DWdg::But 1Press(int x, int y)215 void PIDraw3DWdg::But2Press(int x, int y) 216 216 { 217 217 mGr3d->SetBaseGraphic(mWGrC, 0, 0, XSize(), YSize()); … … 220 220 float dax, day, co, dco; 221 221 mGr3d->Get3DCS(xc, yc, zc, xo, yo, zo, teta, phi, psi, dax, day, co, dco); 222 // puts("\n PIDraw3DWdg::But 1Press() ");222 // puts("\n PIDraw3DWdg::But2Press() "); 223 223 // mGr3d->PrintCS(); 224 224 lPx = x; lPy = y; … … 232 232 { 233 233 char buff[256]; 234 sprintf(buff, "But 1Press() C=%g %g %g T,P=%g %g ", xc, yc, zc, cTeta, cPhi);234 sprintf(buff, "But2Press() C=%g %g %g T,P=%g %g ", xc, yc, zc, cTeta, cPhi); 235 235 mWGrC->DrawOpaqueString(0,20,buff); 236 236 } … … 241 241 242 242 /* --Methode-- */ 243 void PIDraw3DWdg::Ptr 1Move(int x, int y)243 void PIDraw3DWdg::Ptr2Move(int x, int y) 244 244 { 245 245 DrawXYZAxes(); … … 251 251 /* { 252 252 char buff[256]; 253 sprintf(buff, "Ptr 1Move() T,P=%g %g -> %g %g ", cTeta, cPhi, teta, phi);253 sprintf(buff, "Ptr2Move() T,P=%g %g -> %g %g ", cTeta, cPhi, teta, phi); 254 254 mWGrC->DrawOpaqueString(0,20,buff); 255 255 } … … 260 260 261 261 /* --Methode-- */ 262 void PIDraw3DWdg::But 1Release(int x, int y)263 { 264 DrawXYZAxes(); 265 // puts("\n PIDraw3DWdg::But 1Release()");262 void PIDraw3DWdg::But2Release(int x, int y) 263 { 264 DrawXYZAxes(); 265 // puts("\n PIDraw3DWdg::But2Release()"); 266 266 // mGr3d->PrintCS(); 267 267 SelPointerShape(PI_ArrowPointer); … … 273 273 274 274 /* --Methode-- */ 275 void PIDraw3DWdg::But 2Press(int x, int y)275 void PIDraw3DWdg::But3Press(int x, int y) 276 276 { 277 277 float xc, yc, zc, xo, yo, zo; … … 290 290 { 291 291 char buff[256]; 292 sprintf(buff, "But 2Press() C=%g %g %g O= %g %g %g L= %g ", xc, yc, zc, xo, yo, zo, co);292 sprintf(buff, "But3Press() C=%g %g %g O= %g %g %g L= %g ", xc, yc, zc, xo, yo, zo, co); 293 293 mWGrC->DrawOpaqueString(0,20,buff); 294 294 } … … 299 299 300 300 /* --Methode-- */ 301 void PIDraw3DWdg::Ptr 2Move(int x, int y)301 void PIDraw3DWdg::Ptr3Move(int x, int y) 302 302 { 303 303 DrawXYZAxes(); … … 315 315 { 316 316 char buff[256]; 317 sprintf(buff, "Ptr 2Move() Rap=%g %g -> %g %g %g ", rapx, rapy, rapy*clCO, rapx*cDax, rapx*cDay);317 sprintf(buff, "Ptr3Move() Rap=%g %g -> %g %g %g ", rapx, rapy, rapy*clCO, rapx*cDax, rapx*cDay); 318 318 mWGrC->DrawOpaqueString(0,20,buff); 319 319 } … … 324 324 325 325 /* --Methode-- */ 326 void PIDraw3DWdg::But 2Release(int x, int y)326 void PIDraw3DWdg::But3Release(int x, int y) 327 327 { 328 328 DrawXYZAxes(); … … 367 367 368 368 /* --Methode-- */ 369 void PIDraw3DWdg::But3Press(int x, int y) 370 { 369 void PIDraw3DWdg::But1Press(int x, int y) 370 { 371 Send(Msg(), PIMsg_Active); 372 if ( (x > 50) || ( y > 50) ) return; 371 373 list<int>::iterator it = m3DrIl.begin(); 372 374 if (it == m3DrIl.end()) return; -
trunk/SophyaPI/PI/pi3ddrw.h
r113 r116 64 64 65 65 virtual void But1Press(int x, int y); 66 virtual void But1Release(int x, int y);67 virtual void Ptr1Move(int x, int y);68 66 69 67 virtual void But2Press(int x, int y); … … 72 70 73 71 virtual void But3Press(int x, int y); 72 virtual void But3Release(int x, int y); 73 virtual void Ptr3Move(int x, int y); 74 74 75 75 76 protected : -
trunk/SophyaPI/PI/piimage.cc
r113 r116 11 11 12 12 #include "piimage.h" 13 #include "piimgtools.h" 13 14 14 15 // -------------------------------------------------------------------------------- … … 387 388 if (kmod == PIKM_Alt) { 388 389 if (key == 'V' || key == 'v') RequestSelection(); // Pour coller (copier/coller) 389 if (key == 'Z' || key == 'z') mdrw->ElDelAll(); // Pour supprimer tous les signes 390 if (key == 'Z' || key == 'z') { mdrw->ElDelAll(); Refresh(); } // Pour supprimer tous les signes 391 if (key == 'O' || key == 'o') PIImgLutWind::ShowPIImgLutWind(); // Fentre LUT et options 390 392 } 391 393 -
trunk/SophyaPI/PI/piimgtools.cc
r114 r116 12 12 // ------ Menu des options et fenetre de dialogue pour changement de LUT -------- 13 13 14 PIImgLutWind* PIImgLutWind::curlutw = NULL; 15 /* --Methode-- */ 16 void PIImgLutWind::ShowPIImgLutWind() 17 { 18 if (curlutw == NULL) curlutw = new PIImgLutWind(PIApplicationGetApp()); 19 curlutw->Show(); 20 } 14 21 15 22 /* --Methode-- */ … … 17 24 : PIWindow((PIMsgHandler*)par, "PIImageTools", PIWK_dialog, 240, 240, 150, 150) 18 25 { 19 int bsx, bsy ;26 int bsx, bsy, spx, spy; 20 27 21 28 // On definit la taille a partir de la taille par defaut des composantes 22 29 // PIApplicationPrefCompSize(bsx, bsy); 23 30 par->PrefCompSz(bsx, bsy); 24 mLab[0] = new PILabel(this, "MinPixel", 60, 35, 30, 20); 25 mLab[1] = new PILabel(this, "MaxPixel", 60, 35, 30, 65); 26 31 spx = bsx/10; 32 spy = bsy/4; 33 34 int wszx = 8*spx+3*bsx+1.5*bsy; 35 int wszy = 10*spy+7*bsy; 36 SetSize(wszx, wszy); 37 38 int cpx = spx*2; 39 int cpy = spy*2; 40 int csx = cpx; 41 int csy = cpy; 42 mLab[0] = new PILabel(this, "MinPixel", bsx, bsy, cpx, cpy); 43 cpy += spy+bsy; 44 mLab[1] = new PILabel(this, "MaxPixel", bsx, bsy, cpx, cpy); 27 45 mLab[0]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic); 28 46 mLab[1]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic); 29 47 30 mText[0] = new PIText(this, "MinVal", 100, 35, 110, 20); 48 cpy = spy*2; 49 cpx += spx+bsx; 50 mText[0] = new PIText(this, "MinVal", 1.75*bsx, bsy, cpx, cpy); 31 51 mText[0]->SetText("1"); 32 mText[1] = new PIText(this, "MaxVal", 100, 35, 110, 65); 52 cpy += spy+bsy; 53 mText[1] = new PIText(this, "MaxVal", 1.75*bsx, bsy, cpx, cpy); 33 54 mText[1]->SetText("32000"); 34 55 mText[0]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic); 35 56 mText[1]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic); 36 37 mOlb[0] = new PILabel(this, "LutType", 60, 30, 30, 110); 57 cpy += spy+bsy; 58 cpx = spx*2; 59 mOlb[0] = new PILabel(this, "LutType", bsx, bsy, cpx, cpy); 38 60 mOlb[0]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic); 39 mOpt[0] = new PIOptMenu(this, "imglut-opt-1", 100, 30, 110, 110); 61 cpx += spx+bsx; 62 mOpt[0] = new PIOptMenu(this, "imglut-opt-1", 1.75*bsx, bsy, cpx, cpy); 40 63 mOpt[0]->AppendItem("Linear", 1100); 41 64 mOpt[0]->AppendItem("Log.", 1101); … … 43 66 mOpt[0]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic); 44 67 45 mOlb[1] = new PILabel(this, "AutoLut", 60, 30, 30, 140); 68 cpy += spy+bsy; 69 cpx = spx*2; 70 mOlb[1] = new PILabel(this, "AutoLut", bsx, bsy, cpx, cpy); 46 71 mOlb[1]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic); 47 mOpt[1] = new PIOptMenu(this, "imglut-opt-2", 100, 30, 110, 140); 72 cpx += spx+bsx; 73 mOpt[1] = new PIOptMenu(this, "imglut-opt-2", 1.75*bsx, bsy, cpx, cpy); 48 74 mOpt[1]->AppendItem("+3 Sig", 1203); 49 75 mOpt[1]->AppendItem("+2 Sig", 1202); … … 56 82 mOpt[1]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic); 57 83 58 mBut[0] = new PIButton(this, "Apply", 1500, 70, 30, 30, 190); 59 mBut[1] = new PIButton(this, "Dismiss", 1600, 70, 30, 140, 190); 84 cpy += spy+bsy; 85 cpx = bsx/2; 86 mBut[0] = new PIButton(this, "Apply", 2500, bsx*1.5, bsy, cpx, cpy); 87 cpx += bsx*2; 88 mBut[1] = new PIButton(this, "Dismiss", 2600, bsx*1.5, bsy, cpx, cpy); 60 89 mBut[0]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic); 61 90 mBut[1]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic); 91 92 int offy = cpy+bsy+spy*2; 93 printf("-DBG- PIImgLutWind() SzX,Y= %d %d , ButPos= %d %d (off=%d)\n", wszx, wszy, cpx, cpy, offy); 94 95 cpx = 5*spx+2.5*bsx; 96 cpy = 2*spy; 97 mSc[0] = new PIScale(this, "offset-lut", 2700, false, bsy*0.75, 4.5*bsy, cpx, cpy); 98 cpx += 1.5*bsy; 99 mSc[1] = new PIScale(this, "offset-lut", 2800, false, bsy*0.75, 4.5*bsy, cpx, cpy); 100 mSc[0]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic); 101 mSc[0]->SetMinMax(-50, 50); 102 mSc[0]->SetValue(0); 103 mSc[1]->SetBinding(PIBK_elastic,PIBK_elastic, PIBK_elastic,PIBK_elastic); 104 mSc[1]->SetMinMax(-50, 50); 105 mSc[1]->SetValue(0); 106 107 // Option-Menu Couleur/Zoom 108 cpx = 2*spx; 109 cpy = offy; 110 mOptzc[0] = new PIOptMenu(this, "imglut-opt-3", 1.5*bsx, bsy, cpx, cpy); 111 mOptzc[0]->AppendItem("Grey32", 201); 112 mOptzc[0]->AppendItem("GreyInv32", 202); 113 mOptzc[0]->AppendItem("ColRJ32", 203); 114 mOptzc[0]->AppendItem("ColBR32", 204); 115 mOptzc[0]->AppendItem("ColRV32", 205); 116 mOptzc[0]->AppendItem("Grey128", 206); 117 mOptzc[0]->AppendItem("GreyInv128", 207); 118 mOptzc[0]->AppendItem("ColRJ128", 208); 119 mOptzc[0]->AppendItem("ColBR128", 209); 120 mOptzc[0]->AppendItem("Col16", 210); 121 mOptzc[0]->SetValue(203); 122 123 cpx += 1.5*bsx+2*spx; 124 mOptzc[1] = new PIOptMenu(this, "imglut-opt-4", 1.5*bsx, bsy, cpx, cpy); 125 mOptzc[1]->AppendItem("Agr. x10", 110); 126 mOptzc[1]->AppendItem("Agr. x 8", 108); 127 mOptzc[1]->AppendItem("Agr. x 6", 106); 128 mOptzc[1]->AppendItem("Agr. x 5", 105); 129 mOptzc[1]->AppendItem("Agr. x 4", 104); 130 mOptzc[1]->AppendItem("Agr. x 3", 103); 131 mOptzc[1]->AppendItem("Agr. x 2", 102); 132 mOptzc[1]->AppendItem("Zoom x 1", 101); 133 mOptzc[1]->AppendItem("Red. / 2", 98); 134 mOptzc[1]->AppendItem("Red. / 3", 97); 135 mOptzc[1]->AppendItem("Red. / 4", 96); 136 mOptzc[1]->AppendItem("Red. / 5", 95); 137 mOptzc[1]->AppendItem("Red. / 6", 94); 138 mOptzc[1]->AppendItem("Red. / 8", 92); 139 mOptzc[1]->AppendItem("Red. /10", 90); 140 mOptzc[1]->SetValue(101); 141 142 curlutw = this; 143 62 144 } 63 145 … … 65 147 PIImgLutWind::~PIImgLutWind() 66 148 { 149 if (curlutw == this) curlutw = NULL; 67 150 for(int i=0; i<2; i++) 68 151 { … … 72 155 delete mOpt[i]; 73 156 delete mOlb[i]; 157 delete mSc[i]; 158 delete mOptzc[i]; 74 159 } 75 160 } … … 92 177 string s("NoAuto"); 93 178 mOpt[1]->SetValueStr(s); 179 mSc[0]->SetValue(0); 180 mSc[1]->SetValue(0); 94 181 return; 95 182 } … … 99 186 void PIImgLutWind::Process(PIMessage msg, PIMsgHandler* /*sender*/, void* /*data*/) 100 187 { 101 float min, max ;188 float min, max, del; 102 189 int lauto, typ; 103 190 int typlut[2] = {kLutType_Lin, kLutType_Log} ; … … 106 193 switch (msg) 107 194 { 108 case 1600:195 case 2600: 109 196 this->Hide(); 110 197 break; 111 case 1500: 198 case 2500: 199 case 2700 : 200 case 2800 : 201 { 112 202 if (PIImage::CurrentPIImage() == NULL) return; 113 203 min = atof(mText[0]->GetText().c_str()); 114 204 max = atof(mText[1]->GetText().c_str()); 205 if (msg == 2700) { 206 min += (float)mSc[0]->GetValue()/100*del; 207 max += (float)mSc[0]->GetValue()/100*del; 208 } 209 if (msg == 2800) { 210 min -= (float)mSc[0]->GetValue()/100*del*0.5; 211 max += (float)mSc[0]->GetValue()/100*del*0.5; 212 } 213 if ( (msg == 2700) || (msg == 2800) ) { 214 char buff[92]; 215 sprintf(buff,"%g", min); 216 mText[0]->SetText(buff); 217 sprintf(buff,"%g", max); 218 mText[1]->SetText(buff); 219 } 115 220 lauto = mOpt[1]->GetValue() - 1200; 116 221 typ = mOpt[0]->GetValue() - 1100; 117 222 if ( (typ < 0) || (typ > 1) ) typ = 0; 118 223 (PIImage::CurrentPIImage())->SetLut(min, max, typlut[typ], lauto); 224 mSc[0]->SetValue(0); 225 mSc[1]->SetValue(0); 119 226 // ((PIImage::CurrentPIImage())->Lut())->Print(); 120 break; 227 } 228 break; 229 121 230 default: 122 231 // printf("PIImgLutWind::Process Msg %d received \n", (int)msg); 123 232 break; 124 233 } 234 235 if (PIImage::CurrentPIImage() == NULL) return; 236 237 CMapId cmap[10] = { CMAP_GREY32, CMAP_GREYINV32, CMAP_COLRJ32, 238 CMAP_COLBR32, CMAP_COLRV32, CMAP_GREY128, 239 CMAP_GREYINV128, CMAP_COLRJ128, CMAP_COLBR128, 240 CMAP_COL16 }; 241 242 if ((msg <= 110) && (msg >= 90)) // Zoom 243 PIImage::CurrentPIImage()->SetZoom((int)(msg-100)); 244 else if ((msg > 200) && (msg < 206)) // Changement de couleur 245 PIImage::CurrentPIImage()->SetColMap(cmap[msg-201]); 246 125 247 } 126 248 … … 140 262 141 263 pdm[1] = new PIMenu(this, "Zoom"); 142 pdm[1]->AppendItem("Agr. *10", 110);143 pdm[1]->AppendItem("Agr. *8", 108);144 pdm[1]->AppendItem("Agr. *6", 106);145 pdm[1]->AppendItem("Agr. *5", 105);146 pdm[1]->AppendItem("Agr. *4", 104);147 pdm[1]->AppendItem("Agr. *3", 103);148 pdm[1]->AppendItem("Agr. *2", 102);149 pdm[1]->AppendItem(" *1", 101);264 pdm[1]->AppendItem("Agr. x10", 110); 265 pdm[1]->AppendItem("Agr. x 8", 108); 266 pdm[1]->AppendItem("Agr. x 6", 106); 267 pdm[1]->AppendItem("Agr. x 5", 105); 268 pdm[1]->AppendItem("Agr. x 4", 104); 269 pdm[1]->AppendItem("Agr. x 3", 103); 270 pdm[1]->AppendItem("Agr. x 2", 102); 271 pdm[1]->AppendItem("Zoom x1", 101); 150 272 pdm[1]->AppendItem("Red. / 2", 98); 151 273 pdm[1]->AppendItem("Red. / 3", 97); -
trunk/SophyaPI/PI/piimgtools.h
r112 r116 22 22 virtual void Show(); 23 23 24 static PIImgLutWind* curlutw; 25 static void ShowPIImgLutWind(); 24 26 protected: 25 27 virtual void Process(PIMessage msg, PIMsgHandler* sender, void* data=NULL); 26 28 27 29 private: 28 PILabel * mLab[2]; 29 PIButton * mBut[2]; 30 PIText * mText[2]; 31 PIOptMenu * mOpt[2]; 32 PILabel * mOlb[2]; 30 // Pour changer la LUT 31 PILabel* mLab[2]; 32 PIButton* mBut[2]; 33 PIText* mText[2]; 34 PIOptMenu* mOpt[2]; 35 PILabel* mOlb[2]; 36 PIScale* mSc[2]; 37 // Pour la couleur et le zoom 38 PIOptMenu* mOptzc[2]; 39 // Pour expand et compress 40 PIButton* mButsz[5]; 41 // Pour options d'affichage 42 PIButton* mButoa[6]; 43 // Config axes 44 PIButton* mButcax[3]; 33 45 }; 46 34 47 35 48 class PIImgMenu : public PIMenu … … 44 57 }; 45 58 59 46 60 #endif -
trunk/SophyaPI/PI/pisurfdr.cc
r115 r116 52 52 float D = xmax-xmin; 53 53 if (D < (ymax-ymin)) D = ymax-ymin; 54 D *= 1. 4;54 D *= 1.5; 55 55 56 Set3DView((xmin+xmax)/2., (ymin+ymax)/2, (zmin+zmax) /2.,56 Set3DView((xmin+xmax)/2., (ymin+ymax)/2, (zmin+zmax)*0.4, 57 57 (xmin+xmax)/2.+D , (ymin+ymax)/2.+2.*D , zmin+(zmax-zmin)*0.1, 0.3, 0.3); 58 58 // printf("PISurfaceDrawer::UpdateSize() : %g-%g %g-%g %g-%g (%g) \n", xmin,xmax,ymin,ymax,zmin,zmax,D);
Note:
See TracChangeset
for help on using the changeset viewer.