Пример #1
0
 private void MarshalInputAndOutput(FloodFillInput input, FloodFillResult ret, Block block, BlockIR_FF bir)
 {
     if (bir.GetIsFirst())
     {
         input.width        = block.actualWidth;
         input.height       = block.actualHeight;
         input.depth        = block.actualDepth;
         input.data         = buffer;
         input.seed         = bir.singleSeed;
         input.mask         = block.boundaryMask;
         input.flagsMap     = block.GetFlagMap3d();
         input.overstepList = null;
         ret.ClearResult();
     }
     else
     {
         input.width        = block.actualWidth;
         input.height       = block.actualHeight;
         input.depth        = block.actualDepth;
         input.data         = buffer;
         input.mask         = block.boundaryMask;
         input.flagsMap     = block.GetFlagMap3d();
         input.seed         = new Int16Triple(-1, -1, -1);
         input.overstepList = bir.boundarySeedsInside;
         ret.ClearResult();
     }
 }