00001 /* 00002 * PROPRIETARY INFORMATION. This software is proprietary to 00003 * Side Effects Software Inc., and is not to be reproduced, 00004 * transmitted, or disclosed in any way without written permission. 00005 * 00006 * Produced by: 00007 * Cristin Barghiel 00008 * Side Effects 00009 * 477 Richmond Street West 00010 * Toronto, Ontario 00011 * Canada M5V 3E7 00012 * 416-504-9876 00013 * 00014 * NAME: GD library (C++) 00015 * 00016 * COMMENTS: Point List 00017 * 00018 */ 00019 00020 #ifndef __GD_PointList_h__ 00021 #define __GD_PointList_h__ 00022 00023 #include "GD_API.h" 00024 #include <GB/GB_ElementList.h> 00025 #include <GB/GB_Group.h> 00026 #include "GD_Point.h" 00027 00028 class GD_API GD_PointList : public GB_ElementList { 00029 public: 00030 GD_PointList(unsigned size = 0) : GB_ElementList(size) {} 00031 virtual ~GD_PointList(); 00032 00033 const GD_Point *entry(unsigned n) const 00034 { return (const GD_Point *)rawEntry(n); } 00035 GD_Point *entry(unsigned n) 00036 { return (GD_Point *)rawEntry(n); } 00037 00038 const GD_Point *head() const 00039 { return (const GD_Point *)rawHead();} 00040 GD_Point *head() 00041 { return (GD_Point *)rawHead();} 00042 const GD_Point *head(const GB_PointGroup &group) const 00043 { return (const GD_Point *)rawHead(group); } 00044 GD_Point *head(const GB_PointGroup &group) 00045 { return (GD_Point *)rawHead(group); } 00046 00047 const GD_Point *tail() const 00048 { return (const GD_Point *)rawTail(); } 00049 GD_Point *tail() 00050 { return (GD_Point *)rawTail(); } 00051 const GD_Point *tail(const GB_PointGroup &group) const 00052 { return (const GD_Point *)rawTail(group); } 00053 GD_Point *tail(const GB_PointGroup &group) 00054 { return (GD_Point *)rawTail(group); } 00055 00056 const GD_Point *next(const GD_Point *item) const 00057 { return (const GD_Point *)rawNext(item); } 00058 GD_Point *next(GD_Point *item) 00059 { return (GD_Point *)rawNext(item); } 00060 const GD_Point *next(const GD_Point *p, const GB_PointGroup &g) const 00061 { return (const GD_Point *)rawNext(p, g); } 00062 GD_Point *next(GD_Point *pt, const GB_PointGroup &grp) 00063 { return (GD_Point *)rawNext(pt, grp); } 00064 00065 const GD_Point *prev(const GD_Point *item) const 00066 { return (const GD_Point *)rawPrev(item); } 00067 GD_Point *prev(GD_Point *item) 00068 { return (GD_Point *)rawPrev(item); } 00069 const GD_Point *prev(const GD_Point *p, const GB_PointGroup &g) const 00070 { return (const GD_Point *)rawPrev(p, g); } 00071 GD_Point *prev(GD_Point *pt, const GB_PointGroup &grp) 00072 { return (GD_Point *)rawPrev(pt, grp); } 00073 00074 GD_Point *operator()(unsigned i) 00075 { 00076 return (GD_Point *) 00077 UT_PtrArray<GB_Element *>::operator()(i); 00078 } 00079 const GD_Point *operator()(unsigned i) const 00080 { 00081 return (const GD_Point *) 00082 UT_PtrArray<GB_Element *>::operator()(i); 00083 } 00084 00085 GD_Point *operator[](unsigned i) 00086 { 00087 return (GD_Point *) 00088 UT_PtrArray<GB_Element *>::operator[](i); 00089 } 00090 const GD_Point *operator[](unsigned i) const 00091 { 00092 return (const GD_Point *) 00093 UT_PtrArray<GB_Element *>::operator[](i); 00094 } 00095 protected: 00096 }; 00097 00098 #endif
1.5.9