BM.CPP
上传用户:fjejplh001
上传日期:2007-06-11
资源大小:324k
文件大小:2k
- // BM.cpp: implementation of the CBM class.
- //
- //////////////////////////////////////////////////////////////////////
- #include "stdafx.h"
- #include "Visual.h"
- #include "VisualDoc.h"
- #include "VisualView.h"
- #include "BM.h"
- #ifdef _DEBUG
- #undef THIS_FILE
- static char THIS_FILE[]=__FILE__;
- #define new DEBUG_NEW
- #endif
- //////////////////////////////////////////////////////////////////////
- // Construction/Destruction
- //////////////////////////////////////////////////////////////////////
- IMPLEMENT_SERIAL(CBM,CObject,1)
- CBM::CBM()
- {
- }
- CBM::CBM(double m_BMx,double m_BMy,double m_BMz,double m_BMl,double m_BMw,double m_BMh,double m_BMRX,double m_BMRY,double m_BMRZ,float m_BMCR,float m_BMCG,float m_BMCB)
- {
- BMx=m_BMx; BMy=m_BMy; BMz=m_BMz;
- BMl=m_BMl; BMw=m_BMw; BMh=m_BMh;
- BMRX=m_BMRX; BMRY=m_BMRY; BMRZ=m_BMRZ;
- BMCR=m_BMCR; BMCG=m_BMCG; BMCB=m_BMCB;
- }
- CBM::~CBM()
- {
- }
- void CBM::Serialize(CArchive& ar) //存贮所绘图形的各项参数
- {
- CObject::Serialize(ar);
- if(ar.IsStoring())
- {
- ar<<BMx; ar<<BMy; ar<<BMz;
- ar<<BMl; ar<<BMw; ar<<BMh;
- ar<<BMRX; ar<<BMRY; ar<<BMRZ;
- ar<<BMCR; ar<<BMCG; ar<<BMCB;
- }
- else
- {
- ar>>BMx; ar>>BMy; ar>>BMz;
- ar>>BMl; ar>>BMw; ar>>BMh;
- ar>>BMRX; ar>>BMRY; ar>>BMRZ;
- ar>>BMCR; ar>>BMCG; ar>>BMCB;
- }
- }
- void CBM::DrawBMSelf() //绘制板材
- {
- glPushMatrix();
- glColor3f(BMCR,BMCG,BMCB); //所绘图形的颜色
- glTranslated(BMx,BMy,BMz); //所绘图形距原点的距离
- glRotated(BMRX,1,0,0); //所绘图形绕X轴旋转角度
- glRotated(BMRY,0,1,0); //所绘图形绕Y轴旋转角度
- glRotated(BMRZ,0,0,1); //所绘图形绕Z轴旋转角度
- m_pView->DrawCube(BMl,BMw,BMh); //绘制板材
- glPopMatrix();
- }