Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

CVolumeDialog Class Reference

#include <VolumeDialog.h>

List of all members.

Public Methods

 CVolumeDialog (CWnd *pParent=NULL)

Protected Methods

virtual void DoDataExchange (CDataExchange *pDX)
afx_msg void OnShowWindow (BOOL bShow, UINT nStatus)
afx_msg void OnRadioFirsthit ()
afx_msg void OnRadioStandard ()
afx_msg void OnRadioMip ()
afx_msg void OnChangeEditFhThreshold ()
afx_msg void OnChangeEditZoom ()
afx_msg void OnChangeEditHeight ()
afx_msg void OnChangeEditWidth ()
afx_msg void OnChangeEditAmbient ()
afx_msg void OnChangeEditDiffuse ()
afx_msg void OnButtonBgcolor ()
afx_msg void OnPaint ()
afx_msg void OnCheckLight ()
afx_msg void OnChangeEditLightposX ()
afx_msg void OnChangeEditLightposY ()
afx_msg void OnChangeEditLightposZ ()
afx_msg void OnChangeEditHighlight ()
afx_msg void OnChangeEditSpecular ()
afx_msg void OnRadioXray ()
afx_msg void OnChangeEditXrayMax ()
afx_msg void OnChangeEditXrayMin ()
afx_msg void OnChangeEditXAngle ()
afx_msg void OnChangeEditYAngle ()
afx_msg void OnButtonXPlus ()
afx_msg void OnButtonXMinus ()
afx_msg void OnButtonYPlus ()
afx_msg void OnButtonYMinus ()
afx_msg void OnChangeEditZAngle ()
afx_msg void OnButtonZPlus ()
afx_msg void OnButtonZMinus ()

Private Types

enum  { IDD = IDD_VOLUME_DIALOG }

Private Attributes

int m_dRotateTo
int m_dRenderMode
int m_dRenderPlane
bool m_bfirst
COLORREF m_BGColor
int m_dFHTreshold
float m_fAmbient
float m_fDiffuse
int m_dHeight
int m_dWidth
float m_fZoom
int m_dHighlight
int m_dLX
int m_dLY
int m_dLZ
float m_fSpecular
BOOL m_bLight
int m_dXRayMax
int m_dXRayMin
int m_dXAngle
int m_dYAngle
int m_dZAngle


Member Enumeration Documentation

anonymous enum [private]
 

Enumeration values:
IDD 

Definition at line 31 of file VolumeDialog.h.

00031 { IDD = IDD_VOLUME_DIALOG };


Constructor & Destructor Documentation

CVolumeDialog::CVolumeDialog CWnd *    pParent = NULL
 

Definition at line 43 of file VolumeDialog.cpp.

References FH, m_bfirst, m_BGColor, m_bLight, m_dFHTreshold, m_dHeight, m_dHighlight, m_dLX, m_dLY, m_dLZ, m_dRenderMode, m_dRenderPlane, m_dRotateTo, m_dWidth, m_dXAngle, m_dXRayMax, m_dXRayMin, m_dYAngle, m_dZAngle, m_fAmbient, m_fDiffuse, m_fSpecular, m_fZoom, NONE, and XZ.

00044         : CDialog(CVolumeDialog::IDD, pParent) {
00045         //{{AFX_DATA_INIT(CVolumeDialog)
00046         m_dFHTreshold = 1500;
00047         m_fAmbient = 0.2f;
00048         m_fDiffuse = 0.2f;
00049         m_dHeight = 0;
00050         m_dWidth = 0;
00051         m_fZoom = 1.1f;
00052         m_dHighlight = 8.0f;
00053         m_dLX = 300;
00054         m_dLY = 300;
00055         m_dLZ = 300;
00056         m_fSpecular = 0.2f;
00057         m_bLight = FALSE;
00058         m_dXRayMax = 4095;
00059         m_dXRayMin = 0;
00060         m_dXAngle = 0;
00061         m_dYAngle = 0;
00062         m_dZAngle = 0;
00063         //}}AFX_DATA_INIT
00064 
00065 
00066         m_dRotateTo = NONE;
00067         m_dRenderPlane = XZ;
00068         m_dRenderMode = FH;
00069 
00070         //black
00071         m_BGColor = 0x00000000;
00072 
00073         m_bfirst = true;
00074 }


Member Function Documentation

void CVolumeDialog::DoDataExchange CDataExchange *    pDX [protected, virtual]
 

Definition at line 77 of file VolumeDialog.cpp.

00077                                                      {
00078         CDialog::DoDataExchange(pDX);
00079         //{{AFX_DATA_MAP(CVolumeDialog)
00080         DDX_Text(pDX, IDC_EDIT_FH_THRESHOLD, m_dFHTreshold);
00081         DDV_MinMaxInt(pDX, m_dFHTreshold, 0, 4095);
00082         DDX_Text(pDX, IDC_EDIT_AMBIENT, m_fAmbient);
00083         DDV_MinMaxFloat(pDX, m_fAmbient, 0.f, 1.f);
00084         DDX_Text(pDX, IDC_EDIT_DIFFUSE, m_fDiffuse);
00085         DDV_MinMaxFloat(pDX, m_fDiffuse, 0.f, 1.f);
00086         DDX_Text(pDX, IDC_EDIT_HEIGHT, m_dHeight);
00087         DDV_MinMaxInt(pDX, m_dHeight, 0, 1600);
00088         DDX_Text(pDX, IDC_EDIT_WIDTH, m_dWidth);
00089         DDV_MinMaxInt(pDX, m_dWidth, 0, 1800);
00090         DDX_Text(pDX, IDC_EDIT_ZOOM, m_fZoom);
00091         DDV_MinMaxFloat(pDX, m_fZoom, 0.1f, 10.f);
00092         DDX_Text(pDX, IDC_EDIT_HIGHLIGHT, m_dHighlight);
00093         DDX_Text(pDX, IDC_EDIT_LIGHTPOS_X, m_dLX);
00094         DDX_Text(pDX, IDC_EDIT_LIGHTPOS_Y, m_dLY);
00095         DDX_Text(pDX, IDC_EDIT_LIGHTPOS_Z, m_dLZ);
00096         DDX_Text(pDX, IDC_EDIT_SPECULAR, m_fSpecular);
00097         DDX_Check(pDX, IDC_CHECK_LIGHT, m_bLight);
00098         DDX_Text(pDX, IDC_EDIT_XRAY_MAX, m_dXRayMax);
00099         DDV_MinMaxInt(pDX, m_dXRayMax, 0, 4095);
00100         DDX_Text(pDX, IDC_EDIT_XRAY_MIN, m_dXRayMin);
00101         DDV_MinMaxInt(pDX, m_dXRayMin, 0, 4095);
00102         DDX_Text(pDX, IDC_EDIT_X_ANGLE, m_dXAngle);
00103         DDV_MinMaxInt(pDX, m_dXAngle, 0, 180);
00104         DDX_Text(pDX, IDC_EDIT_Y_ANGLE, m_dYAngle);
00105         DDV_MinMaxInt(pDX, m_dYAngle, 0, 180);
00106         DDX_Text(pDX, IDC_EDIT_Z_ANGLE, m_dZAngle);
00107         DDV_MinMaxInt(pDX, m_dZAngle, 0, 180);
00108         //}}AFX_DATA_MAP
00109 }

void CVolumeDialog::OnButtonBgcolor   [protected]
 

Definition at line 250 of file VolumeDialog.cpp.

References m_BGColor, raycaster, and Raycaster::SetBackgroundColor().

00250                                     {
00251         CColorDialog colDiag;
00252         if (colDiag.DoModal() != IDOK)
00253                 return;
00254 
00255         m_BGColor = colDiag.GetColor();
00256 
00257         CDC *cdc = (CDC *)this->GetDC();
00258         cdc->FillSolidRect(114, 443, 30, 22, m_BGColor);
00259 
00260         unsigned char col[3] = { m_BGColor & 0x000000FF,
00261                                                         (m_BGColor & 0x0000FF00) >> 8,
00262                                                         (m_BGColor & 0x00FF0000) >> 16 };
00263 
00264         raycaster->SetBackgroundColor(col[0], col[1], col[2]);
00265 }

void CVolumeDialog::OnButtonXMinus   [protected]
 

Definition at line 339 of file VolumeDialog.cpp.

References m_dXAngle, and raycaster.

void CVolumeDialog::OnButtonXPlus   [protected]
 

Definition at line 332 of file VolumeDialog.cpp.

References m_dXAngle, raycaster, and Raycaster::RotateX().

00332                                   {
00333         if (m_dXAngle == 0)
00334                 return;
00335         raycaster->RotateX(m_dXAngle);
00336 }
00337 

void CVolumeDialog::OnButtonYMinus   [protected]
 

Definition at line 351 of file VolumeDialog.cpp.

References m_dYAngle, and raycaster.

void CVolumeDialog::OnButtonYPlus   [protected]
 

Definition at line 345 of file VolumeDialog.cpp.

References m_dYAngle, and raycaster.

void CVolumeDialog::OnButtonZMinus   [protected]
 

Definition at line 363 of file VolumeDialog.cpp.

References m_dZAngle, and raycaster.

void CVolumeDialog::OnButtonZPlus   [protected]
 

Definition at line 357 of file VolumeDialog.cpp.

References m_dZAngle, and raycaster.

void CVolumeDialog::OnChangeEditAmbient   [protected]
 

Definition at line 240 of file VolumeDialog.cpp.

References raycaster, and Raycaster::SetAmbient().

00240                                         {
00241         UpdateData(TRUE);
00242         raycaster->SetAmbient(m_fAmbient);
00243 }

void CVolumeDialog::OnChangeEditDiffuse   [protected]
 

Definition at line 245 of file VolumeDialog.cpp.

References raycaster, and Raycaster::SetDiffuse().

00245                                         {
00246         UpdateData(TRUE);
00247         raycaster->SetDiffuse(m_fDiffuse);
00248 }

void CVolumeDialog::OnChangeEditFhThreshold   [protected]
 

Definition at line 220 of file VolumeDialog.cpp.

References raycaster, and Raycaster::SetTreshold().

00220                                             {
00221         UpdateData(TRUE);
00222         raycaster->SetTreshold(m_dFHTreshold);
00223 }

void CVolumeDialog::OnChangeEditHeight   [protected]
 

Definition at line 230 of file VolumeDialog.cpp.

References raycaster, and Raycaster::SetHeight().

00230                                        {
00231         UpdateData(TRUE);
00232         raycaster->SetHeight(m_dHeight);
00233 }

void CVolumeDialog::OnChangeEditHighlight   [protected]
 

Definition at line 300 of file VolumeDialog.cpp.

References raycaster, and Raycaster::SetHighlight().

00300                                           {
00301         UpdateData(TRUE);
00302         raycaster->SetHighlight(m_dHighlight);
00303 }

void CVolumeDialog::OnChangeEditLightposX   [protected]
 

Definition at line 285 of file VolumeDialog.cpp.

References raycaster, and Raycaster::SetLightpos().

00285                                           {
00286         UpdateData(TRUE);
00287         raycaster->SetLightpos(VECTOR(m_dLX, m_dLY, m_dLZ));
00288 }

void CVolumeDialog::OnChangeEditLightposY   [protected]
 

Definition at line 290 of file VolumeDialog.cpp.

References raycaster, and Raycaster::SetLightpos().

00290                                           {
00291         UpdateData(TRUE);
00292         raycaster->SetLightpos(VECTOR(m_dLX, m_dLY, m_dLZ));
00293 }

void CVolumeDialog::OnChangeEditLightposZ   [protected]
 

Definition at line 295 of file VolumeDialog.cpp.

References raycaster, and Raycaster::SetLightpos().

00295                                           {
00296         UpdateData(TRUE);
00297         raycaster->SetLightpos(VECTOR(m_dLX, m_dLY, m_dLZ));
00298 }

void CVolumeDialog::OnChangeEditSpecular   [protected]
 

Definition at line 305 of file VolumeDialog.cpp.

References raycaster, and Raycaster::SetSpecular().

00305                                          {
00306         UpdateData(TRUE);
00307         raycaster->SetSpecular(m_fSpecular);
00308 }

void CVolumeDialog::OnChangeEditWidth   [protected]
 

Definition at line 235 of file VolumeDialog.cpp.

References raycaster, and Raycaster::SetWidth().

00235                                       {
00236         UpdateData(TRUE);
00237         raycaster->SetWidth(m_dWidth);
00238 }

void CVolumeDialog::OnChangeEditXAngle   [protected]
 

Definition at line 320 of file VolumeDialog.cpp.

00320                                        {
00321         UpdateData(TRUE);
00322 }

void CVolumeDialog::OnChangeEditXrayMax   [protected]
 

Definition at line 310 of file VolumeDialog.cpp.

References raycaster, and Raycaster::SetDensRange().

00310                                         {
00311         UpdateData(TRUE);
00312         raycaster->SetDensRange(m_dXRayMin, m_dXRayMax);
00313 }

void CVolumeDialog::OnChangeEditXrayMin   [protected]
 

Definition at line 315 of file VolumeDialog.cpp.

References raycaster, and Raycaster::SetDensRange().

00315                                         {
00316         UpdateData(TRUE);
00317         raycaster->SetDensRange(m_dXRayMin, m_dXRayMax);
00318 }

void CVolumeDialog::OnChangeEditYAngle   [protected]
 

Definition at line 324 of file VolumeDialog.cpp.

00324                                        {
00325         UpdateData(TRUE);
00326 }

void CVolumeDialog::OnChangeEditZAngle   [protected]
 

Definition at line 328 of file VolumeDialog.cpp.

00328                                        {
00329         UpdateData(TRUE);
00330 }

void CVolumeDialog::OnChangeEditZoom   [protected]
 

Definition at line 225 of file VolumeDialog.cpp.

References raycaster, and Raycaster::Zoom().

00225                                      {
00226         UpdateData(TRUE);
00227         raycaster->Zoom(m_fZoom);
00228 }

void CVolumeDialog::OnCheckLight   [protected]
 

Definition at line 277 of file VolumeDialog.cpp.

References raycaster, and Raycaster::SetLight().

00277                                  {
00278         UpdateData(TRUE);
00279         raycaster->SetLight(m_bLight);
00280 }

void CVolumeDialog::OnPaint   [protected]
 

Definition at line 267 of file VolumeDialog.cpp.

00267                             {
00268         CPaintDC dc(this); // device context for painting
00269         
00270         dc.FillSolidRect(114, 443, 30, 22, m_BGColor);
00271 }

void CVolumeDialog::OnRadioFirsthit   [protected]
 

Definition at line 192 of file VolumeDialog.cpp.

References FH, m_dRenderMode, raycaster, and Raycaster::SetRendermode().

00192                                     {
00193         if (!raycaster)
00194                 return;
00195         
00196         raycaster->SetRendermode(FH);
00197         m_dRenderMode = FH;
00198 }

void CVolumeDialog::OnRadioMip   [protected]
 

Definition at line 209 of file VolumeDialog.cpp.

References m_dRenderMode, MI, raycaster, and Raycaster::SetRendermode().

00209                                {
00210         raycaster->SetRendermode(MI);
00211         m_dRenderMode = MI;
00212 }

void CVolumeDialog::OnRadioStandard   [protected]
 

Definition at line 200 of file VolumeDialog.cpp.

References m_bLight, m_dRenderMode, raycaster, Raycaster::SetLight(), Raycaster::SetRendermode(), and STANDARD.

00200                                     {
00201         raycaster->SetRendermode(STANDARD);
00202         raycaster->SetLight(true);
00203         m_dRenderMode = STANDARD;
00204         m_bLight = TRUE;
00205         UpdateData(FALSE);
00206 }

void CVolumeDialog::OnRadioXray   [protected]
 

Definition at line 215 of file VolumeDialog.cpp.

References m_dRenderMode, raycaster, Raycaster::SetRendermode(), and XRAY.

00215                                 {
00216         raycaster->SetRendermode(XRAY);
00217         m_dRenderMode = XRAY;
00218 }

void CVolumeDialog::OnShowWindow BOOL    bShow,
UINT    nStatus
[protected]
 

Definition at line 150 of file VolumeDialog.cpp.

References FH, Raycaster::GetScreenShotImage(), IDC_RADIO_FIRSTHIT, IDC_RADIO_MIP, IDC_RADIO_STANDARD, IDC_RADIO_XRAY, MI, raycaster, STANDARD, and XRAY.

00150                                                          {
00151         CDialog::OnShowWindow(bShow, nStatus);
00152         // TODO: Add your message handler code here
00153         if (!bShow || !raycaster)
00154                 return;
00155 
00156         
00157         int button;
00158         
00159         switch (m_dRenderMode) {
00160                 case FH:
00161                         button = IDC_RADIO_FIRSTHIT;
00162                         break;
00163                 case STANDARD:
00164                         button = IDC_RADIO_STANDARD;
00165                         break;
00166                 case MI:
00167                         button = IDC_RADIO_MIP;
00168                         break;
00169                 case XRAY:
00170                         button = IDC_RADIO_XRAY;
00171                         break;
00172                 default:
00173                         button = -1;
00174                         break;
00175         }
00176 
00177         if (button != -1)
00178                 ((CButton *)GetDlgItem(button))->SetCheck(1);
00179 
00180 
00181         
00182         CDC *cdc = (CDC *)this->GetDC();
00183         cdc->FillSolidRect(114, 443, 30, 22, m_BGColor);
00184 
00185 
00186         raycaster->GetScreenShotImage(m_dWidth, m_dHeight);
00187 
00188         UpdateData(FALSE);
00189 }


Member Data Documentation

bool CVolumeDialog::m_bfirst [private]
 

Definition at line 24 of file VolumeDialog.h.

Referenced by CVolumeDialog().

COLORREF CVolumeDialog::m_BGColor [private]
 

Definition at line 26 of file VolumeDialog.h.

Referenced by CVolumeDialog(), and OnButtonBgcolor().

BOOL CVolumeDialog::m_bLight [private]
 

Definition at line 43 of file VolumeDialog.h.

Referenced by CVolumeDialog(), and OnRadioStandard().

int CVolumeDialog::m_dFHTreshold [private]
 

Definition at line 32 of file VolumeDialog.h.

Referenced by CVolumeDialog().

int CVolumeDialog::m_dHeight [private]
 

Definition at line 35 of file VolumeDialog.h.

Referenced by CVolumeDialog().

int CVolumeDialog::m_dHighlight [private]
 

Definition at line 38 of file VolumeDialog.h.

Referenced by CVolumeDialog().

int CVolumeDialog::m_dLX [private]
 

Definition at line 39 of file VolumeDialog.h.

Referenced by CVolumeDialog().

int CVolumeDialog::m_dLY [private]
 

Definition at line 40 of file VolumeDialog.h.

Referenced by CVolumeDialog().

int CVolumeDialog::m_dLZ [private]
 

Definition at line 41 of file VolumeDialog.h.

Referenced by CVolumeDialog().

int CVolumeDialog::m_dRenderMode [private]
 

Definition at line 22 of file VolumeDialog.h.

Referenced by CVolumeDialog(), OnRadioFirsthit(), OnRadioMip(), OnRadioStandard(), and OnRadioXray().

int CVolumeDialog::m_dRenderPlane [private]
 

Definition at line 23 of file VolumeDialog.h.

Referenced by CVolumeDialog().

int CVolumeDialog::m_dRotateTo [private]
 

Definition at line 21 of file VolumeDialog.h.

Referenced by CVolumeDialog().

int CVolumeDialog::m_dWidth [private]
 

Definition at line 36 of file VolumeDialog.h.

Referenced by CVolumeDialog().

int CVolumeDialog::m_dXAngle [private]
 

Definition at line 46 of file VolumeDialog.h.

Referenced by CVolumeDialog(), OnButtonXMinus(), and OnButtonXPlus().

int CVolumeDialog::m_dXRayMax [private]
 

Definition at line 44 of file VolumeDialog.h.

Referenced by CVolumeDialog().

int CVolumeDialog::m_dXRayMin [private]
 

Definition at line 45 of file VolumeDialog.h.

Referenced by CVolumeDialog().

int CVolumeDialog::m_dYAngle [private]
 

Definition at line 47 of file VolumeDialog.h.

Referenced by CVolumeDialog(), OnButtonYMinus(), and OnButtonYPlus().

int CVolumeDialog::m_dZAngle [private]
 

Definition at line 48 of file VolumeDialog.h.

Referenced by CVolumeDialog(), OnButtonZMinus(), and OnButtonZPlus().

float CVolumeDialog::m_fAmbient [private]
 

Definition at line 33 of file VolumeDialog.h.

Referenced by CVolumeDialog().

float CVolumeDialog::m_fDiffuse [private]
 

Definition at line 34 of file VolumeDialog.h.

Referenced by CVolumeDialog().

float CVolumeDialog::m_fSpecular [private]
 

Definition at line 42 of file VolumeDialog.h.

Referenced by CVolumeDialog().

float CVolumeDialog::m_fZoom [private]
 

Definition at line 37 of file VolumeDialog.h.

Referenced by CVolumeDialog().


The documentation for this class was generated from the following files:
Generated on Thu Jan 30 21:35:44 2003 for 3DVis by doxygen1.3-rc2