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

volumebar Class Reference

#include <volumebar.h>

List of all members.

Public Methods

 volumebar ()

Protected Methods

virtual void DoDataExchange (CDataExchange *pDX)
afx_msg void OnButtonRenderVolume ()
afx_msg void OnRadioVolumeNn ()
afx_msg void OnRadioVolumeTri ()
afx_msg void OnShowWindow (BOOL bShow, UINT nStatus)
afx_msg void OnRadioRaycaster ()
afx_msg void OnRadioPerspective ()
afx_msg void OnUpdateButtonRenderVolume (CCmdUI *pCmdUI)

Private Types

enum  { IDD = IDR_VOLUMEFRAME }

Private Attributes

float m_fVolumeStepLength
int m_dRenderType
int m_dRayType


Member Enumeration Documentation

anonymous enum [private]
 

Enumeration values:
IDD 

Definition at line 18 of file volumebar.h.

00018 { IDD = IDR_VOLUMEFRAME };


Constructor & Destructor Documentation

volumebar::volumebar  
 

Definition at line 24 of file volumebar.cpp.

References m_dRayType, m_dRenderType, m_fVolumeStepLength, NN, and RAYCASTER.

00025         : CDialog(volumebar::IDD, pParent)
00026         : CDialogBar()
00027 {
00028         //{{AFX_DATA_INIT(volumebar)
00029         m_fVolumeStepLength = 1.0f;
00030         //}}AFX_DATA_INIT
00031 
00032         
00033         m_dRenderType = NN;
00034         m_dRayType = RAYCASTER;
00035 }


Member Function Documentation

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

Definition at line 38 of file volumebar.cpp.

00039 {
00040 //      CDialog::DoDataExchange(pDX);
00041         //{{AFX_DATA_MAP(volumebar)
00042         DDX_Text(pDX, IDC_EDIT_STEP_LENGTH, m_fVolumeStepLength);
00043         DDV_MinMaxFloat(pDX, m_fVolumeStepLength, 1.f, 10.f);
00044         //}}AFX_DATA_MAP
00045 }

void volumebar::OnButtonRenderVolume   [protected]
 

Definition at line 119 of file volumebar.cpp.

References Raycaster::Raycast(), and raycaster.

00120 {
00121         // TODO: Add your control notification handler code here
00122         if (!raycaster)
00123                 return;
00124         
00125 //      raycaster->UpdateSize();
00126         raycaster->Raycast();
00127         
00128 }

void volumebar::OnRadioPerspective   [protected]
 

Definition at line 153 of file volumebar.cpp.

References Raycaster::m_dOwnType, m_dRayType, PERSPECTIVE, raycaster, Raycaster::SetPreCalcGradients(), Raycaster::SetRaytype(), Raycaster::SetRendermode(), Raycaster::SetTreshold(), Raycaster::SetViewingCondition(), and Raycaster::Zoom().

00153                                    {
00154 
00155         if (raycaster->m_dOwnType == PERSPECTIVE)
00156                 return;
00157 
00158         m_dRayType = PERSPECTIVE;
00159 
00160         if (raycaster)
00161                 delete raycaster;
00162 
00163         raycaster = new Perspective();
00164         raycaster->SetViewingCondition(VECTOR(300,300,300),Color(0.0f,1.0f,0.0f),0.2f,0.2f,0.2f,8);
00165         ((Perspective *)raycaster)->Initialize(VECTOR(92,-20,85),40,400,400,1.0f,data3D,((CMy3dvisApp *)AfxGetApp())->transferFunction);
00166         raycaster->Zoom(1.1f); // werte > 1.0 hinein zoomen <1.0 wegzoomen
00167 
00168         raycaster->SetTreshold(1500);
00169         raycaster->SetRaytype(NN);
00170         raycaster->SetRendermode(FH);
00171         raycaster->SetPreCalcGradients(true);
00172 }

void volumebar::OnRadioRaycaster   [protected]
 

Definition at line 130 of file volumebar.cpp.

References Raycaster::Initialize(), Raycaster::m_dOwnType, m_dRayType, RAYCASTER, raycaster, Raycaster::SetPreCalcGradients(), Raycaster::SetRaytype(), Raycaster::SetRendermode(), Raycaster::SetTreshold(), Raycaster::SetViewingCondition(), and Raycaster::Zoom().

00131 {
00132         // TODO: Add your control notification handler code here
00133         if (raycaster->m_dOwnType == RAYCASTER)
00134                 return;
00135 
00136         m_dRayType = RAYCASTER;
00137 
00138         if (raycaster)
00139                 delete raycaster;
00140 
00141         raycaster = new Raycaster();
00142 
00143         raycaster->SetViewingCondition(VECTOR(300,300,300),Color(0.0f,1.0f,0.0f),0.2f,0.2f,0.2f,8);
00144         raycaster->Initialize(VECTOR(92,-20,85),400,400,1.0f,data3D,((CMy3dvisApp *)AfxGetApp())->transferFunction);
00145         raycaster->Zoom(1.1f); // werte > 1.0 hinein zoomen <1.0 wegzoomen
00146 
00147         raycaster->SetTreshold(1500);
00148         raycaster->SetRaytype(NN);
00149         raycaster->SetRendermode(FH);
00150         raycaster->SetPreCalcGradients(true);
00151 }

void volumebar::OnRadioVolumeNn   [protected]
 

Definition at line 68 of file volumebar.cpp.

References m_dRenderType, NN, raycaster, and Raycaster::SetRaytype().

00069 {
00070         // TODO: Add your control notification handler code here
00071         if (!raycaster)
00072                 return;
00073 
00074         raycaster->SetRaytype(NN);
00075         m_dRenderType = NN;
00076 }

void volumebar::OnRadioVolumeTri   [protected]
 

Definition at line 78 of file volumebar.cpp.

References m_dRenderType, raycaster, Raycaster::SetRaytype(), and TRI.

00079 {
00080         // TODO: Add your control notification handler code here
00081         if (!raycaster)
00082                 return;
00083 
00084         raycaster->SetRaytype(TRI);
00085         m_dRenderType = TRI;
00086 }

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

Definition at line 88 of file volumebar.cpp.

References IDC_RADIO_PERSPECTIVE, IDC_RADIO_RAYCASTER, IDC_RADIO_VOLUME_NN, IDC_RADIO_VOLUME_TRI, NN, PERSPECTIVE, RAYCASTER, and TRI.

00089 {
00090         CDialogBar::OnShowWindow(bShow, nStatus);
00091         
00092         UpdateData(FALSE);
00093 
00094         // TODO: Add your message handler code here
00095         int button;
00096         switch (m_dRenderType) {
00097                 case NN:
00098                         button = IDC_RADIO_VOLUME_NN;
00099                         break;
00100                 case TRI:
00101                         button = IDC_RADIO_VOLUME_TRI;
00102                         break;
00103         }
00104         ((CButton *)GetDlgItem(button))->SetCheck(1);
00105 
00106 
00107         switch (m_dRayType) {
00108                 case RAYCASTER:
00109                         button = IDC_RADIO_RAYCASTER;
00110                         break;
00111                 case PERSPECTIVE:
00112                         button = IDC_RADIO_PERSPECTIVE;
00113                         break;
00114         }
00115         ((CButton *)GetDlgItem(button))->SetCheck(1);
00116 }

afx_msg void volumebar::OnUpdateButtonRenderVolume CCmdUI *    pCmdUI [protected]
 


Member Data Documentation

int volumebar::m_dRayType [private]
 

Definition at line 24 of file volumebar.h.

Referenced by OnRadioPerspective(), OnRadioRaycaster(), and volumebar().

int volumebar::m_dRenderType [private]
 

Definition at line 23 of file volumebar.h.

Referenced by OnRadioVolumeNn(), OnRadioVolumeTri(), and volumebar().

float volumebar::m_fVolumeStepLength [private]
 

Definition at line 19 of file volumebar.h.

Referenced by volumebar().


The documentation for this class was generated from the following files:
Generated on Thu Jan 23 12:32:17 2003 by doxygen1.3-rc2