template<class DstArrayT, class SrcArrayT, class MaskArrayT, class VecPointT, class VecNeighborT, class NeighborsT>
Definition at line 26 of file FuncQueueBased.h. References ArrayCPB(), ArrayCW(), Impala::Core::Geometry::PointZ::mX, and PtrRead(). Referenced by FuncQueueBasedDispatch(). 00030 { 00031 typedef typename DstArrayT::StorType DstStorT; 00032 typedef typename DstArrayT::ArithType DstArithT; 00033 typedef typename SrcArrayT::StorType SrcStorT; 00034 typedef typename SrcArrayT::ArithType SrcArithT; 00035 typedef typename MaskArrayT::StorType MaskStorT; 00036 typedef typename MaskArrayT::ArithType MaskArithT; 00037 00038 vecneighbors.clear(); 00039 int imgsizex = ArrayCW(dst); 00040 int imgsizey = ArrayCW(dst); 00041 for (int i=0; i<neighborCoordinates.size(); i++) 00042 { 00043 Geometry::PointZ p = neighborCoordinates[i]+centralPoint; 00044 int tempx=p.mX, tempy=p.mY; 00045 if (tempx>=0 && tempy>=0 && tempx<imgsizex && tempy<imgsizey) 00046 { 00047 DstStorT* dPtr = ArrayCPB(dst, tempx, tempy); 00048 SrcStorT* sPtr = ArrayCPB(src, tempx, tempy); 00049 SrcStorT* mPtr = ArrayCPB(mask, tempx, tempy); 00050 NeighborsT neighbors; 00051 neighbors.point=p; 00052 neighbors.arith=PtrRead(dPtr, DstArithT()); 00053 neighbors.img=PtrRead(sPtr, SrcArithT()); 00054 neighbors.mask=PtrRead(mPtr, MaskArithT()); 00055 vecneighbors.push_back(neighbors); 00056 } 00057 } 00058 }
Here is the call graph for this function:
|