📄 blockdata.h
字号:
#ifndef BLOCKDATA_H#define BLOCKDATA_H#include <xmmintrin.h>struct stMinMax;class RxProgressWnd;class RxBlockData{// member variablesprivate: int m_iVolumeSizeX, m_iVolumeSizeY, m_iVolumeSizeZ; int m_iBlockNumberX, m_iBlockNumberY, m_iBlockNumberZ; int m_iSBlockNumberY; int m_iScanlineSizeofByte; int m_iScanlineSizeofByteX; int m_iBlockSizeofByte; int m_iBufferSize; int m_iBuffer8x8Size; stMinMax *m_pmmBlock; stMinMax *m_pmmScanline; stMinMax *m_pmmScanlineX; RxProgressWnd *m_pWndProgress;public: enum {SBLOCKSIZE=8, BLOCKSIZE=16, BLOCKSIZEZ=16, CACHESIZE = 32}; stMinMax *m_pmmBuffer; stMinMax *m_pmmBuffer8x8; // by jjchoi, 10/16 int *m_piIdx[3]; // x, y, z density buffer index table int *m_piSkipIdx[3]; // x, y, z minmaxden buffer index table int *m_piBlockIdx[3]; // x, y, z minmaxblk buffer index table // by jjchoi, endpublic: RxBlockData(); ~RxBlockData(); // member functionsprivate: BOOL CreateMinMaxVolume2x2(int iX, int iY, int iZ, const unsigned short *pVolume); BOOL CreateMinMaxVolume8x8(int iX, int iY, int iZ, const unsigned short *pVolume); BOOL inline ScanlineMinMax8x8(int iX, __m64 *vVolume, __m64 *vMin, __m64 *vMax); BOOL inline SliceMinMax8x8(int iX, int iY, __m64 *vVolume, __m64 *pMinBuf, __m64 *pMaxBuf);public: // construct / destruct BOOL CreateData(int iX, int iY, int iZ, const unsigned short *pVolume, RxProgressWnd *pWndProgress); BOOL MakeIndex4Iso(float fRatioZ); BOOL CreateMinMax4Iso(int iX, int iY, int iZ, const unsigned short *pVolume, float fRatioZ, RxProgressWnd *pWndProgress); BOOL CreateBlockMinMax(int iX, int iY, int iZ, const unsigned short *pVolume, stMinMax *minmax); BOOL DestroyData(); // Interface functions int GetBlockSizeX(); int GetBlockSizeY(); int GetBlockSizeZ(); BOOL GetBlockNumber(int *px, int *py, int *pz);};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -