Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
BM.CPP
Package: 本科作品-三维图形系统.rar [view]
Upload User: fjejplh001
Upload Date: 2007-06-11
Package Size: 324k
Code Size: 2k
Category:
3D Graphic
Development Platform:
Visual C++
- // 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();
- }