YZM1.CPP
上传用户:fjejplh001
上传日期:2007-06-11
资源大小:324k
文件大小:2k
- // YZM1.cpp: implementation of the CYZM1 class.
- //
- //////////////////////////////////////////////////////////////////////
- #include "stdafx.h"
- #include "Visual.h"
- #include "YZM1.h"
- #ifdef _DEBUG
- #undef THIS_FILE
- static char THIS_FILE[]=__FILE__;
- #define new DEBUG_NEW
- #endif
- //////////////////////////////////////////////////////////////////////
- // Construction/Destruction
- //////////////////////////////////////////////////////////////////////
- IMPLEMENT_SERIAL(CYZM1,CObject,1)
- CYZM1::CYZM1()
- {
- }
- CYZM1::CYZM1(double m_YZM1x,double m_YZM1y,double m_YZM1z,double m_YZM1r,double m_YZM1h,double m_YZM1RX,double m_YZM1RY,double m_YZM1RZ,float m_YZM1CR,float m_YZM1CG,float m_YZM1CB)
- {
- YZM1x=m_YZM1x; YZM1y=m_YZM1y; YZM1z=m_YZM1z;
- YZM1r=m_YZM1r; YZM1h=m_YZM1h;
- YZM1RX=m_YZM1RX; YZM1RY=m_YZM1RY; YZM1RZ=m_YZM1RZ;
- YZM1CR=m_YZM1CR; YZM1CG=m_YZM1CG; YZM1CB=m_YZM1CB;
- }
- CYZM1::~CYZM1()
- {
- }
- void CYZM1::Serialize(CArchive& ar) //存贮所绘图形的各项参数
- {
- CObject::Serialize(ar);
- if(ar.IsStoring())
- {
- ar<<YZM1x; ar<<YZM1y; ar<<YZM1z;
- ar<<YZM1r; ar<<YZM1h;
- ar<<YZM1RX; ar<<YZM1RY; ar<<YZM1RZ;
- ar<<YZM1CR; ar<<YZM1CG; ar<<YZM1CB;
- }
- else
- {
- ar>>YZM1x; ar>>YZM1y; ar>>YZM1z;
- ar>>YZM1r; ar>>YZM1h;
- ar>>YZM1RX; ar>>YZM1RY; ar>>YZM1RZ;
- ar>>YZM1CR; ar>>YZM1CG; ar>>YZM1CB;
- }
- }
- void CYZM1::DrawYZM1Self() //绘制圆锥体
- {
- glPushMatrix();
- glColor3f(YZM1CR,YZM1CG,YZM1CB); //所绘图形的颜色
- glTranslated(YZM1x,YZM1y,YZM1z); //所绘图形距原点的距离
- glRotated(YZM1RX-180,1,0,0); //所绘图形绕X轴旋转角度
- glRotated(YZM1RY,0,1,0); //所绘图形绕Y轴旋转角度
- glRotated(YZM1RZ,0,0,1); //所绘图形绕Z轴旋转角度
- GLUquadricObj* YZM1Obj;
- YZM1Obj=gluNewQuadric();
- gluQuadricDrawStyle(YZM1Obj,GLU_FILL);
- gluQuadricNormals(YZM1Obj,GLU_SMOOTH);
- gluQuadricOrientation(YZM1Obj,GLU_OUTSIDE);
- gluCylinder(YZM1Obj,0,YZM1r,YZM1h,25,25); //圆锥体锥面
- glTranslated(0,0,YZM1h);
- gluDisk(YZM1Obj,0,YZM1r,25,25); //圆锥体底面
- glPopMatrix();
- }