// X3DEffectCylinder.h: interface for the CX3DEffectCylinder class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_X3DEFFECTCYLINDER_H__21EB02CB_6CA5_4DA9_9AD2_EBED7AFE8320__INCLUDED_) #define AFX_X3DEFFECTCYLINDER_H__21EB02CB_6CA5_4DA9_9AD2_EBED7AFE8320__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 #include "X3DEffectBase.h" class CX3DEffectCylinder : public CX3DEffectBase { protected: unsigned long m_dwSidePlane, m_dwPrimitive; float m_fUpperHeight; float m_fLowerHeight; float m_fUpperRadius; float m_fLowerRadius; float m_fTileU; float m_fTileV; float m_fStartU; float m_fStartV; float m_fTexFrame; LPDIRECT3DVERTEXBUFFER8 m_lpVertices; LPDIRECT3DVERTEXBUFFER8 m_lpVerticesBlend; public: CKeyList m_lstUpperHeight; CKeyList m_lstLowerHeight; CKeyList m_lstUpperRadius; CKeyList m_lstLowerRadius; CKeyList m_lstTileU; CKeyList m_lstTileV; CKeyList m_lstStartU; CKeyList m_lstStartV; CKeyList m_lstTexFrame; public: CX3DEffectCylinder(); virtual ~CX3DEffectCylinder(); void SetSidePlane(unsigned long dwSidePlane) { m_dwSidePlane = dwSidePlane; } unsigned long GetSidePlane(void) { return m_dwSidePlane; } void SetUpperHeight(float fUpperHeight) { m_fUpperHeight = fUpperHeight; } float GetUpperHeight(void) { return m_fUpperHeight; } void SetLowerHeight(float fLowerHeight) { m_fLowerHeight = fLowerHeight; } float GetLowerHeight(void) { return m_fLowerHeight; } void SetUpperRadius(float fUpperRadius) { m_fUpperRadius = fUpperRadius; } float GetUpperRadius(void) { return m_fUpperRadius; } void SetLowerRadius(float fLowerRadius) { m_fLowerRadius = fLowerRadius; } float GetLowerRadius(void) { return m_fLowerRadius; } void SetTileU(float fTileU) { m_fTileU = fTileU; } float GetTileU(void) { return m_fTileU; } void SetTileV(float fTileV) { m_fTileV = fTileV; } float GetTileV(void) { return m_fTileV; } void SetStartU(float fStartU) { m_fStartU = fStartU; } float GetStartU(void) { return m_fStartU; } void SetStartV(float fStartV) { m_fStartV = fStartV; } float GetStartV(void) { return m_fStartV; } void SetTexFrame(float fTexFrame) { m_fTexFrame = fTexFrame; } float GetTexFrame(void) { return m_fTexFrame; } void Create(unsigned long dwStartFrame, unsigned long dwEndFrame); BOOL CreateBuffer(void); void Render(void); BOOL Interpolation(float fFrame); void Load(FILE *fp, const char *strOriginalPath = NULL); void Save(FILE *fp, const char *strOriginalPath = NULL); }; #endif // !defined(AFX_X3DEFFECTCYLINDER_H__21EB02CB_6CA5_4DA9_9AD2_EBED7AFE8320__INCLUDED_)