?? entity.h
字號:
// Entity.h: interface for the CEntity class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_ENTITY_H__BE769D85_6C72_43F4_88FB_5521CA66FC8E__INCLUDED_)
#define AFX_ENTITY_H__BE769D85_6C72_43F4_88FB_5521CA66FC8E__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "..\inc\GeomCalc\cadbase.h"
class COpenGLDC;
class AFX_EXT_CLASS CEntity : public CObject
{
protected:
BOOL m_bModified;
CBox3D* m_pBox;
UINT m_id;
CString m_name;
COLORREF m_color;
BOOL m_bVisible;
BOOL m_bHighlight;
public:
//constructor and destructor
CEntity();
virtual ~CEntity();
//display
virtual void Draw(COpenGLDC* pDC)=0;
//serialize
virtual void Serialize(CArchive& ar);
//attrib accessing
BOOL GetBox(CBox3D& box);
void SetID(UINT nID);
UINT GetID();
void SetName(LPCTSTR name);
CString GetName();
void SetColor(COLORREF color);
COLORREF GetColor();
void SetVisible(BOOL bVisible);
BOOL IsVisible();
void SetHighlight(BOOL bHighlight);
BOOL IsHighlight();
protected:
virtual void UpdateBox()=0;
};
//triangle chip
class AFX_EXT_CLASS CTriChip:public CObject
{
DECLARE_SERIAL(CTriChip)
public:
//attribs
CPoint3D vex[3];
CVector3D normal;
public:
//constructor && destructor
CTriChip();
CTriChip(const CPoint3D& v0,const CPoint3D& v1,const CPoint3D& v2,const CVector3D& norm);
virtual ~CTriChip();
//display
virtual void Draw(COpenGLDC* pDC);
//serialize
virtual void Serialize(CArchive& ar);
//operator
const CTriChip& operator=(const CTriChip&);
protected:
};
//tessellated model
class AFX_EXT_CLASS CSTLModel: public CEntity
{
DECLARE_SERIAL(CSTLModel)
//attribs
public:
CTypedPtrArray<CObArray,CTriChip*> m_TriList;
public:
//constructor && destructor
CSTLModel();
virtual ~CSTLModel();
//display
void Draw(COpenGLDC* pDC);
//serialize
virtual void Serialize(CArchive& ar);
// operation
const CSTLModel& operator=(const CSTLModel&);
void Add(CTriChip* tri);
BOOL LoadSTLFile(LPCTSTR file);
void Clear();
//attrib accessing
BOOL IsEmpty();
protected:
virtual void UpdateBox();
};
class AFX_EXT_CLASS CPart : public CEntity
{
//attribs
protected:
CTypedPtrArray<CObArray,CEntity*> m_EntList;
public:
//constructor && destructor
CPart();
virtual ~CPart();
//draw
virtual void Draw(COpenGLDC* pDC);
//serialize
virtual void Serialize(CArchive& ar);
//operation
void AddEntity(CEntity* ent);
void RemoveEntity(CEntity* ent);
void RemoveAllEntity();
//attrib accessing
BOOL IsEmpty();
// BOOL GetBox(CBox3D& box);
UINT GetEntitySize();
CEntity* GetEntity(UINT i);
/* CString GetName();
void SetName(LPCTSTR name);
*/
protected:
virtual void UpdateBox();
};
#endif // !defined(AFX_ENTITY_H__BE769D85_6C72_43F4_88FB_5521CA66FC8E__INCLUDED_)
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -