#include <grid_queue2.h>
Collaboration diagram for wustl_mm::SkeletonMaker::GridQueue2:
Public Member Functions | |
GridQueue2 () | |
~GridQueue2 () | |
gridQueueEle * | getNext () |
void | reset () |
int | getNumElements () |
void | prepend (int xx, int yy, int zz) |
gridQueueEle * | remove () |
gridQueueEle * | swap () |
Private Attributes | |
gridQueueEle * | head |
gridQueueEle * | pre |
gridQueueEle * | prepre |
gridQueueEle * | cur |
int | numEles |
Definition at line 13 of file grid_queue2.h.
GridQueue2::GridQueue2 | ( | ) |
GridQueue2::~GridQueue2 | ( | ) |
Definition at line 18 of file grid_queue2.cpp.
References getNext(), remove(), and reset().
00019 { 00020 gridQueueEle* ele; 00021 reset(); 00022 ele=getNext(); 00023 while ( (ele=remove()) != NULL ){}; 00024 }
gridQueueEle * GridQueue2::getNext | ( | ) |
Definition at line 25 of file grid_queue2.cpp.
References cur, head, wustl_mm::SkeletonMaker::gridQueueEle::next, pre, and prepre.
Referenced by wustl_mm::SkeletonMaker::Volume::curveSkeleton(), wustl_mm::SkeletonMaker::Volume::curveSkeleton2D(), wustl_mm::SkeletonMaker::Volume::erodeHelix(), wustl_mm::SkeletonMaker::Volume::erodeSheet(), wustl_mm::SkeletonMaker::Volume::skeleton(), wustl_mm::SkeletonMaker::Volume::surfaceSkeletonPres(), and ~GridQueue2().
00026 { 00027 if ( cur == NULL ) 00028 { 00029 prepre = NULL ; 00030 pre = NULL ; 00031 cur = head ; 00032 } 00033 else 00034 { 00035 prepre = pre ; 00036 pre = cur ; 00037 cur = cur->next ; 00038 } 00039 00040 return cur ; 00041 }
int GridQueue2::getNumElements | ( | ) |
Definition at line 50 of file grid_queue2.cpp.
References numEles.
Referenced by wustl_mm::SkeletonMaker::Volume::curveSkeleton(), wustl_mm::SkeletonMaker::Volume::curveSkeleton2D(), wustl_mm::SkeletonMaker::Volume::erodeHelix(), wustl_mm::SkeletonMaker::Volume::erodeSheet(), wustl_mm::SkeletonMaker::Volume::skeleton(), and wustl_mm::SkeletonMaker::Volume::surfaceSkeletonPres().
00051 { 00052 return numEles ; 00053 }
void GridQueue2::prepend | ( | int | xx, | |
int | yy, | |||
int | zz | |||
) |
Definition at line 55 of file grid_queue2.cpp.
References head, wustl_mm::SkeletonMaker::gridQueueEle::next, numEles, reset(), wustl_mm::SkeletonMaker::gridQueueEle::score, wustl_mm::SkeletonMaker::gridQueueEle::x, wustl_mm::SkeletonMaker::gridQueueEle::y, and wustl_mm::SkeletonMaker::gridQueueEle::z.
Referenced by wustl_mm::SkeletonMaker::Volume::curveSkeleton(), wustl_mm::SkeletonMaker::Volume::curveSkeleton2D(), wustl_mm::SkeletonMaker::Volume::erodeHelix(), wustl_mm::SkeletonMaker::Volume::erodeSheet(), wustl_mm::SkeletonMaker::Volume::skeleton(), and wustl_mm::SkeletonMaker::Volume::surfaceSkeletonPres().
00056 { 00057 gridQueueEle* ele = new gridQueueEle ; 00058 ele->x = xx ; 00059 ele->y = yy ; 00060 ele->z = zz ; 00061 ele->score = 0 ; 00062 ele->next = head; 00063 head = ele ; 00064 numEles ++ ; 00065 00066 reset() ; 00067 }
gridQueueEle * GridQueue2::remove | ( | ) |
Definition at line 70 of file grid_queue2.cpp.
References cur, head, wustl_mm::SkeletonMaker::gridQueueEle::next, numEles, and pre.
Referenced by wustl_mm::SkeletonMaker::Volume::curveSkeleton(), wustl_mm::SkeletonMaker::Volume::curveSkeleton2D(), wustl_mm::SkeletonMaker::Volume::erodeHelix(), wustl_mm::SkeletonMaker::Volume::erodeSheet(), wustl_mm::SkeletonMaker::Volume::skeleton(), wustl_mm::SkeletonMaker::Volume::surfaceSkeletonPres(), and ~GridQueue2().
00071 { 00072 gridQueueEle* temp = cur ; 00073 if ( cur != NULL ) 00074 { 00075 cur = cur->next ; 00076 delete temp ; 00077 00078 if ( pre != NULL ) 00079 { 00080 pre->next = cur ; 00081 } 00082 else 00083 { 00084 head = cur ; 00085 } 00086 numEles -- ; 00087 } 00088 00089 00090 return cur ; 00091 }
void GridQueue2::reset | ( | ) |
Definition at line 43 of file grid_queue2.cpp.
References cur, pre, and prepre.
Referenced by wustl_mm::SkeletonMaker::Volume::curveSkeleton(), wustl_mm::SkeletonMaker::Volume::curveSkeleton2D(), wustl_mm::SkeletonMaker::Volume::erodeHelix(), wustl_mm::SkeletonMaker::Volume::erodeSheet(), prepend(), wustl_mm::SkeletonMaker::Volume::skeleton(), wustl_mm::SkeletonMaker::Volume::surfaceSkeletonPres(), and ~GridQueue2().
gridQueueEle * GridQueue2::swap | ( | ) |
Definition at line 94 of file grid_queue2.cpp.
References cur, head, wustl_mm::SkeletonMaker::gridQueueEle::next, pre, and prepre.
00095 { 00096 if ( prepre != NULL ) 00097 { 00098 pre->next = cur->next ; 00099 cur->next = prepre->next ; 00100 prepre->next = cur ; 00101 00102 } 00103 else 00104 { 00105 pre->next = cur->next ; 00106 cur->next = pre ; 00107 head = cur ; 00108 } 00109 00110 gridQueueEle* temp = pre ; 00111 pre = cur ; 00112 cur = temp ; 00113 00114 return cur ; 00115 }
Definition at line 28 of file grid_queue2.h.
Referenced by getNext(), GridQueue2(), remove(), reset(), and swap().
Definition at line 25 of file grid_queue2.h.
Referenced by getNext(), GridQueue2(), prepend(), remove(), and swap().
int wustl_mm::SkeletonMaker::GridQueue2::numEles [private] |
Definition at line 29 of file grid_queue2.h.
Referenced by getNumElements(), GridQueue2(), prepend(), and remove().
Definition at line 26 of file grid_queue2.h.
Referenced by getNext(), GridQueue2(), remove(), reset(), and swap().
Definition at line 27 of file grid_queue2.h.
Referenced by getNext(), GridQueue2(), reset(), and swap().