00001 /********************************************************************** 00002 *< 00003 FILE: patchcap.h 00004 00005 DESCRIPTION: Patch Capping header file 00006 00007 CREATED BY: Tom Hudson 00008 00009 HISTORY: created 21 December, 1995 00010 00011 *> Copyright (c) 1995, All Rights Reserved. 00012 **********************************************************************/ 00013 00014 #pragma once 00015 00016 #include "maxheap.h" 00017 #include "linklist.h" 00018 #include "patch.h" 00019 00020 class PatchSeg: public MaxHeapOperators 00021 { 00022 public: 00023 int vert; 00024 int vec1; 00025 int vec2; 00026 PatchSeg() {} 00027 PatchSeg(int v, int v1, int v2) { vert=v; vec1=v1; vec2=v2; } 00028 }; 00029 00030 typedef LinkedEntryT<PatchSeg> PatchSegEntry; 00031 typedef LinkedListT<PatchSeg,PatchSegEntry> PatchSegList; 00032 00033 typedef LinkedEntryT<PatchSegList> PatchSegListEntry; 00034 typedef LinkedListT<PatchSegList,PatchSegListEntry> PatchSegListList; 00035 00036 typedef LinkedEntryT<Patch> PatchEntry; 00037 typedef LinkedListT<Patch,PatchEntry> PatchList; 00038 00039 typedef LinkedEntryT<PatchVert> PatchVertEntry; 00040 typedef LinkedListT<PatchVert,PatchVertEntry> PatchVertList; 00041 00042 typedef LinkedEntryT<PatchVec> PatchVecEntry; 00043 typedef LinkedListT<PatchVec,PatchVecEntry> PatchVecList; 00044 00045 class PatchCapWork: public MaxHeapOperators 00046 { 00047 public: 00048 PatchSegListList plist; 00049 PatchVertList newVerts; 00050 PatchVecList newVecs; 00051 PatchList newPatches; 00052 CoreExport void Dump(char *title = NULL); 00053 }; 00054