SetIndexDrawBegin Function HELP

 
Hello,
I'd really appreciate if someone can help me to understand the features of this function. It's especially burdensome in ichimoku kinko hyo coding. Here's the code part. (indise init function)

a_begin=Kijun; if(a_begin<Tenkan) a_begin=Tenkan;
   SetIndexStyle(2,DRAW_HISTOGRAM,STYLE_DOT);
   SetIndexBuffer(2,SpanA_Buffer);
   SetIndexDrawBegin(2,Kijun+a_begin-1);
   SetIndexShift(2,Kijun);
   SetIndexLabel(2,NULL);

and the second part:

   SetIndexStyle(3,DRAW_HISTOGRAM,STYLE_DOT);
   SetIndexBuffer(3,SpanB_Buffer);
   SetIndexDrawBegin(3,Kijun+Senkou-1);
   SetIndexShift(3,Kijun);
   SetIndexLabel(3,NULL);

As you see in drawing of Senkou Span A, drawing begins from 2*Kijun before the current bar, and for Senkou Span B it's far more behind, Kijun + Senkou . Why do we use such a function, what is its exact purpose? Is it necessary in the code part?


Thanks already for your help.
Korhan