2015. 10. 26. 15:40

Visual Studio 2013 버전에서 돌아가게 해놨습니다


잘 보고 공부하세요 ^^


실행할 때 opencv_world300.dll 파일 필요합니다


opencv 3.0 설치해서 같은 실행 파일 위치에 dll 파일 두시면 됩니다



VolumeRendering_OpenMP.zip



opencv_world300.7z



opencv_world300d.7z


2015. 9. 22. 09:31

라이센스 파일 환경 변수는 VSG_LICENSE_FILE 에 들어간다


password.dat 파일이 저 환경변수 경로에 있도록 설정한다

2015. 9. 21. 23:31

원   형   char *fgets(char *s, int n, FILE *fp);

기   능   파일에서 n-1문자를 읽어들여 포인터 s가 가리키는 위치에 수록한다.  문자를 읽어들이는 도중 행의 끝에 도달하면 읽기가 중단된다.



원   형   int fscanf(FILE *fp, char *format, ... );

함수값   파일에서 읽혀진 자료의 갯수, 에러 발생시에는 ~1(EOF)



원   형   unsigned fwrite(void *buffer, unsigned size, unsigned n, FILE *fp);

기   능   fp가 가리키는 파일의 현재의 입출력 위치에서 size 바이트의 블록 n개를 읽어(size × n 바이트를 읽어) buffer에 수록

함수값   실제로 입력된 블록의 갯수



출력은 fputs( ), fprintf( ), fwrite( )

2015. 9. 17. 13:24

#include <gdiplus.h>

using namespace Gdiplus;

#pragma comment(lib, "gdiplus")

class CGdiPlusStarter

{

private:

     ULONG_PTR m_gpToken;

 

public:

     bool m_bSuccess;

     CGdiPlusStarter() {

          GdiplusStartupInput gpsi;

  m_bSuccess=(GdiplusStartup(&m_gpToken,&gpsi,NULL) == Ok);

     }

     ~CGdiPlusStarter() {

          GdiplusShutdown(m_gpToken);

     }

};

CGdiPlusStarter g_gps;

2015. 9. 10. 19:55

Open Inventor 에서 Raw Volume 데이터를 SoVolume에 넣기


BYTE* pVolumeData = new BYTE[nDim[0] * nDim[1] * nDim[2]];

m_pVolume = new SoVolume();

m_pVolume->SetDataSource(pVolumeData); // VolumeData 원본 필요 
m_pVolume->data.setValue(SbVec3i32(infoVolume.nDim), SbDataType(SbDataType::SIGNED_SHORT), 0, 
pVolumeData, SoSFArray::COPY);
m_pVolume->ldmResourceParameters.getValue()->overlapping = 0;
m_pVolume->ldmResourceParameters.getValue()->
tileDimension.setValue(512,512,512);
m_pVolume->extent.setValue(SbBox3f(
-(infoVolume.nDim[0]*infoVolume.fSpacing[0])/2, 
             -(infoVolume.nDim[1]*infoVolume.fSpacing[1])/2, 
             -(infoVolume.nDim[2]*infoVolume.fSpacing[2])/2,
+(infoVolume.nDim[0]*infoVolume.fSpacing[0])/2, 
             +(infoVolume.nDim[1]*infoVolume.fSpacing[1])/2, 
             +(infoVolume.nDim[2]*infoVolume.fSpacing[2])/2 )); m_pVolume->SetVolumeInfo(infoVolume.nDim, infoVolume.fSpacing);