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
Edge3d.h
Package: display_list.zip [view]
Upload User: hcfgz168
Upload Date: 2011-09-11
Package Size: 116k
Code Size: 2k
Category:
OpenGL program
Development Platform:
WINDOWS
- //********************************************
- // Edge3d.h
- // class CEdge3d
- //********************************************
- // An edge :
- // + Two vertex ref
- // + Two neighbors ref
- // + A flag
- //********************************************
- // pierre.alliez@cnet.francetelecom.fr
- // Created : 15/12/97
- // Modified : 18/02/98
- //********************************************
- #ifndef _EDGE_3D_
- #define _EDGE_3D_
- #include "Object3d.h"
- class CVertex3d;
- class CFace3d;
- class CEdge3d : public CObject3d
- {
- private :
- // Geometry
- CVertex3d *m_pVertex1;
- CVertex3d *m_pVertex2;
- CFace3d *m_pFace1;
- CFace3d *m_pFace2;
- // Flag
- char m_Flag;
- public :
- CEdge3d();
- virtual ~CEdge3d() {}
- // Constructors
- CEdge3d(CVertex3d *pVertex1,CVertex3d *pVertex2);
- CEdge3d(CVertex3d *pVertex1,CVertex3d *pVertex2,CFace3d *pFace1,CFace3d *pFace2);
- CEdge3d(CEdge3d *pEdge);
- // Data setting
- virtual int GetType();
- // Copy Edge
- void Set(CEdge3d *pEdge);
- // Vertices
- void Set(CVertex3d *pVertex1,CVertex3d *pVertex2);
- void v1(CVertex3d *pVertex) { m_pVertex1 = pVertex; }
- void v2(CVertex3d *pVertex) { m_pVertex2 = pVertex; }
- void v(int index,CVertex3d *pVertex)
- {
- if(index == 0)
- m_pVertex1 = pVertex;
- else
- m_pVertex2 = pVertex;
- }
- // Faces
- void Set(CFace3d *pFace1,CFace3d *pFace2);
- void f1(CFace3d *pFace) { m_pFace1 = pFace; }
- void f2(CFace3d *pFace) { m_pFace2 = pFace; }
- void f(int index,CFace3d *pFace)
- {
- if(index == 0)
- m_pFace1 = pFace;
- else
- m_pFace2 = pFace;
- }
- // Vertices
- CVertex3d *v1(void) { return m_pVertex1; }
- CVertex3d *v2(void) { return m_pVertex2; }
- CVertex3d *v(int index) { return ((index == 0) ? m_pVertex1 : m_pVertex2); }
- CVertex3d *GetVertexDiff(CVertex3d *pVertexDiff);
- // Faces
- CFace3d *f1(void) { return m_pFace1; }
- CFace3d *f2(void) { return m_pFace2; }
- CFace3d *f(int index) { return ((index == 0) ? m_pFace1 : m_pFace2); }
- // Flag
- void SetFlag(char flag) { m_Flag = flag; }
- char GetFlag() { return m_Flag; }
- // Processing
- int Equal(CEdge3d *pEdge);
- int sharp(float threshold); // threshold : sin(angle)
- // OpenGL
- void glDrawHighlight(unsigned char *color);
- void glDrawHighlight(unsigned char *color,unsigned char *ColorNeighbor);
- };
- #endif // _EDGE_3D_