vedge.h

Go to the documentation of this file.
00001 #pragma once
00002 #include "maxheap.h"
00003 #include <WTypes.h>
00004 
00005 // Moved from VEDGE.CPP -TH
00006 #define UNDEF 0xFFFFFFFF
00007 #define UNDEF_FACE 0x3FFFFFFF
00008 
00009 class VEdge: public MaxHeapOperators {
00010     DWORD f[2];
00011     public:
00012         void SetFace(int i, DWORD n) { f[i] =(f[i]&0xc0000000)|n;}
00013         void SetWhichSide(int i, int s) { f[i] =(f[i]&0x3FFFFFFF)|((s&3)<<30); }
00014         DWORD GetFace(int i){ return f[i]&0x3fffffff; }
00015         int GetWhichSide(int i) { return (f[i]>>30)&3; }
00016     };
00017 
00018 struct Edge: public MaxHeapOperators {
00019     Edge(unsigned short fl = 0, DWORD v0 = UNDEF, DWORD v1 = UNDEF, DWORD f0 = UNDEF, DWORD f1 = UNDEF)
00020     { flags = fl; v[0] = v0; v[1] = v1; f[0] = f0; f[1]= f1;}
00021     unsigned short flags;
00022     DWORD v[2];  /* indices of two vertices defining edge */
00023     DWORD f[2];  /* indices of two neighboring faces  */
00024 };
00025 
00026 
00027 
00028