CMGDK r49-rc2
K:/CMGDKv18/SDK/Include/hgl/ut/FindPath.H
浏览该文件的文档。
00001 # i f n d e f   H G L _ A S T A R _ F I N D _ P A T H _ I N C L U D E 
00002  
00003  # d e f i n e   H G L _ A S T A R _ F I N D _ P A T H _ I N C L U D E 
00004  
00005  
00006  
00007  # i n c l u d e < h g l / t y p e / L i s t . H > 
00008  
00009  n a m e s p a c e   h g l 
00010  
00011  { 
00012  
00013      / * * 
00014  
00015      *   [!jWWW{|c
00016  
00017      * / 
00018  
00019      c l a s s   F i n d P a t h                                                                                     / / / [!jWWW{|
00020  
00021      { 
00022  
00023      p r o t e c t e d : 
00024  
00025  
00026  
00027              i n t   L e f t , T o p ; 
00028  
00029          i n t   S t a r t X , S t a r t Y ; 
00030  
00031          i n t   E n d X , E n d Y ; 
00032  
00033          i n t   W i d t h , H e i g h t ; 
00034  
00035  
00036  
00037          v i r t u a l   b o o l   f i n d _ p a t h ( ) = 0 ; 
00038  
00039  
00040  
00041      p u b l i c :   / / NN
00042  
00043  
00044  
00045          D e f E v e n t ( b o o l , C h e c k P o i n t , ( i n t , i n t , i n t , i n t ) ) ;                                                 / / / < hg N*Np/f&TSpNN
00046  
00047  
00048  
00049      p u b l i c :   / / ^\'`
00050  
00051  
00052  
00053          s t r u c t   S t e p C o o r d 
00054  
00055          { 
00056  
00057              i n t   x , y ; 
00058  
00059  
00060  
00061              S t e p C o o r d ( ) { x = y = 0 ; } 
00062  
00063              S t e p C o o r d ( i n t   _ x , i n t   _ y ) { x = _ x ; y = _ y ; } 
00064  
00065          } ; 
00066  
00067  
00068  
00069          c l a s s   S t e p L i s t : p u b l i c   L i s t < S t e p C o o r d > 
00070  
00071          { 
00072  
00073          p u b l i c : 
00074  
00075  
00076  
00077              v o i d   A d d ( i n t   x , i n t   y ) 
00078  
00079              { 
00080  
00081                  L i s t < S t e p C o o r d > : : A d d ( S t e p C o o r d ( x , y ) ) ; 
00082  
00083              } 
00084  
00085  
00086  
00087              v o i d   I n s e r t ( i n t   i n d e x , i n t   x , i n t   y ) 
00088  
00089              { 
00090  
00091                  L i s t < S t e p C o o r d > : : I n s e r t ( i n d e x , S t e p C o o r d ( x , y ) ) ; 
00092  
00093              } 
00094  
00095          } ; 
00096  
00097  
00098  
00099          S t e p L i s t   S t e p s ;                                                                               / / / < g~bvekP[~g
00100  
00101  
00102  
00103          i n t   M a x F i n d ;                                                                                 / / / <  g'Yg~bppe, ؞1 2 8 
00104  
00105  
00106  
00107      p u b l i c :   / / el
00108  
00109  
00110  
00111          F i n d P a t h ( i n t   w , i n t   h ) ; 
00112  
00113          v i r t u a l   ~ F i n d P a t h ( ) { S t e p s . C l e a r ( ) ; } 
00114  
00115  
00116  
00117          v o i d   S e t S t a r t ( i n t   x , i n t   y ) ;                                                                   / / / < nwYp
00118  
00119          v o i d   S e t E n d ( i n t   x , i n t   y ) ;                                                                   / / / < nvhp
00120  
00121  
00122  
00123          b o o l   F i n d ( ) ;                                                                                 / / / <  _Yg~b
00124  
00125          b o o l   F i n d ( i n t   l , i n t   t , i n t   s x , i n t   s y , i n t   e x , i n t   e y ) ;                                           / / / <  _Yg~b
00126  
00127          b o o l   F i n d ( i n t   s x , i n t   s y , i n t   e x , i n t   e y ) ;                                                       / / / <  _Yg~b
00128  
00129      } ; / / c l a s s   F i n d P a t h 
00130  
00131  
00132  
00133      / * * 
00134  
00135      *   [{lg>N
00136  
00137      * / 
00138  
00139      e n u m   F i n d P a t h A l g o r i t h m l               / / / [{lg>N
00140  
00141      { 
00142  
00143          f p a N o n e = 0 , 
00144  
00145  
00146  
00147          f p a A S t a r ,                       / / / < A * VeT
00148  
00149          f p a A S t a r 8 ,                         / / / < A * kQeT
00150  
00151          f p a L i n e ,                         / / / < v~
00152  
00153  
00154  
00155  	 	 f p a E n d 
00156  
00157      } ; 
00158  
00159  
00160  
00161      t y p e d e f   F i n d P a t h A l g o r i t h m l   F P A ; 
00162  
00163  
00164  
00165      F i n d P a t h   * C r e a t e F i n d P a t h ( F P A , i n t , i n t ) ;                     / / / < R^[!jWW
00166  
00167  } / / n a m e s p a c e   h g l 
00168  
00169  # e n d i f / / H G L _ A S T A R _ F I N D _ P A T H _ I N C L U D E 
00170  
00171  
 全部  名字空间 文件 函数 变量 类型定义 枚举 枚举值 友元 宏定义