CKMSceneDataSeries *pSeries = g_Doc.m_pSceneData->GetDefaultSeries();
CKMVolume *pVol = pSeries->m_pVolume;
short *pVolData = (short*)(pVol->GetDataSource());
int nDim[3] = {pVol->m_nDim[0], pVol->m_nDim[1], pVol->m_nDim[2]};
m_fPixelSpacing[0] = (float)(pVol->m_fSpacing[0]);
m_fPixelSpacing[1] = (float)(pVol->m_fSpacing[1]);
m_fPixelSpacing[2] = (float)(pVol->m_fSpacing[2]);
m_volumeData->data.setValue(SbVec3i32(dimension), SbDataType(SbDataType::SIGNED_SHORT), 0, pData, SoSFArray::COPY);
m_volumeData->extent.setValue(-(spacing[0] * dimension[0])/2, -(spacing[1] * dimension[1])/2, -(spacing[2] * dimension[2])/2,
(spacing[0] * dimension[0])/2, (spacing[1] * dimension[1])/2, (spacing[2] * dimension[2])/2);
SbVec3i32 dimension = pVolumeData->data.getSize();
/*SoVolumeData* volumeData = new SoVolumeData();
short* rawData = (short*)m_pSceneData->GetDefaultSeries()->m_pVolume->GetDataSource();
int dimension[3] = { m_pVolume->m_nDim[0], m_pVolume->m_nDim[1], m_pVolume->m_nDim[2] };
float spacing[3] = { m_pVolume->m_fSpacing[0], m_pVolume->m_fSpacing[1], m_pVolume->m_fSpacing[2] };
volumeData->data.setValue(SbVec3i32(dimension), SbDataType(SbDataType::SIGNED_SHORT), 0, rawData, SoSFArray::COPY);
volumeData->extent.setValue(-(spacing[0] * dimension[0])/2, -(spacing[1] * dimension[1])/2, -(spacing[2] * dimension[2])/2,
( spacing[0] * dimension[0])/2, (spacing[1] * dimension[1])/2, (spacing[2] * dimension[2])/2);
m_pRootSeparator->addChild(volumeData);*/
#define SO_MOUSE_PRESS_EVENT(EVENT,BUTTON) \
(SoMouseButtonEvent::isButtonPressEvent(EVENT,SoMouseButtonEvent::BUTTON))
#define SO_MOUSE_RELEASE_EVENT(EVENT,BUTTON) \
(SoMouseButtonEvent::isButtonReleaseEvent(EVENT,SoMouseButtonEvent::BUTTON))