#pragma once /** CDxSRenderView クラス (サーフェイスレンダリング) CDxVTXBaseViewクラスからの継承クラス 対応する Document の msGraph (pDoc->msGraph) からデータを受け取り (cmnHeadではないので注意),(簡易)サーフェイスレンダリングを行い, DirectXの機能を使って 3D表示する. 3D表示する場合の色は,ボクセルの輝度値(16bit)に対して,ARGB16(各4bit) と解釈する.輝度値(16bit)の設定には uWord ARGB2Word(uWord a, uWord r, uWord g, uWord b) (要 #include "Gdata.h") uWord RGBA2Word(uWord r, uWord g, uWord b, uWord a) (要 #include "Gdata.h") uWord RGB2Word (uWord r, uWord g, uWord b) (要 #include "Gdata.h") を使用すると良い.因みに逆の関数は D3DCOLOR Dx9Word2RGBA(uWord pp) (要 #include "Dx9.h") D3DCOLOR Dx9Word2ARGB(uWord pp) (要 #include "Dx9.h") D3DCOLOR Dx9Word2RGB (uWord pp) (要 #include "Dx9.h") */ #include "DxBaseClass.h" #include "ProgressBarDLG.h" // namespace jbxwl { typedef struct _SVERTEXV { float x, y, z; // D3DXVECTOR3 頂点座標 float nx, ny, nz; // D3DXVECTOR3 法線ベクトル float ps; // ピクセルサイズ D3DCOLOR color; // DWORD ディフューズ色 // float tu, tv; // D3DXVECTOR2 テクスチャ座標 } SVERTEXV; //#define FVF_SVERTEX (D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1) //#define FVF_SVERTEX (D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE | D3DFVF_TEX1) #define FVF_SVERTEXV (D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_PSIZE | D3DFVF_DIFFUSE) //#define FVF_SVERTEXV (D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE) ///////////////////////////////////////////////////////////////////////////// // CDxSRenderView ビュー class CDxSRenderView : public CDxVTXBaseView { protected: CDxSRenderView(); // 動的生成に使用されるプロテクト コンストラクタ DECLARE_DYNCREATE(CDxSRenderView) // アトリビュート public: RBound Rbound; CProgressBarDLG* pCounter; int xsize; int ysize; int zsize; int msize; int datano; BOOL volumeColor; // オペレーション public: // CDxGRDoc* GetDocument() { return (CDxGRDoc*)m_pDocument;} virtual void SetState(); virtual BOOL PrepareVB(); virtual void ExecRender(); virtual void ClearObject(); virtual void InitObject(); virtual void ExRotationAngle(); virtual void ExMouseWheel(); int GetValidVoxelNum(); // オーバーライド //{{AFX_VIRTUAL(CDxSRenderView) public: virtual void OnInitialUpdate(); protected: virtual void OnDraw(CDC* pDC) {} //}}AFX_VIRTUAL // インプリメンテーション protected: virtual ~CDxSRenderView(); #ifdef _DEBUG virtual void AssertValid() const; virtual void Dump(CDumpContext& dc) const; #endif protected: //{{AFX_MSG(CDxSRenderView) //}}AFX_MSG DECLARE_MESSAGE_MAP() }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} } // namespace