You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.4 KiB
C++

//////////////////////////////////////////////////////////////////////////////
//文件 ImageRect.h
//主要功能:
//
//程序编写:周国强 2005-12-07
/////////////////////////////////////////////////////////////////////////////
#pragma once
#include ".\name.h"
#include ".\rect8ex.h"
#include ".\Texture.h"
namespace N3D
{
#define RECT_3D_TEXTRUE 0x00000001 //使用纹理
//矩形图片
class AFX_EXT_CLASS CImageRect :
public CTexture
{
public:
CImageRect(void);
virtual ~CImageRect(void);
virtual void Serialize(CArchive& ar, const short &ver);
virtual void Write(CFile& fw, const short &ver);
virtual int Read(CFile& fr, const short &ver);
virtual BOOL IsInRange(CRect8& range);
virtual void GetRange(CRect8& range);
virtual void GetRange(CPoint3D& minPoint, CPoint3D& maxPoint);
void operator=(CImageRect& ir);
DWORD m_nFlags;
CPoint3D m_point[2];
CString m_FileName;
};
//柱状图片(圆柱,圆锥等)
class AFX_EXT_CLASS CImageCylinde :
public CImageRect
{
public:
CImageCylinde(void);
virtual ~CImageCylinde(void);
virtual void Serialize(CArchive& ar, const short &ver);
virtual void Write(CFile& fw, const short &ver);
virtual int Read(CFile& fr, const short &ver);
virtual void GetRange(CPoint3D& minPoint, CPoint3D& maxPoint);
void operator=(CImageCylinde& ic);
int GetPoint(CPoint3D** pPoint, double zscale);
double m_baseRadius;
double m_topRadius;
int m_nSlices;
int m_nStacks;
};
};