src/ccstruct/stepblob.cpp
int32_t C_BLOB::perimeter() {
  C_OUTLINE_IT it = &outlines; // outlines of blob
  int32_t total = 0;           // total perimeter

  for (it.mark_cycle_pt(); !it.cycled_list(); it.forward()) {
    C_OUTLINE *outline = it.data();
    total += outline->perimeter();
  }
  return total;
}
/**********************************************************************
 * C_BLOB::perimeter
 *
 * Return the perimeter of the top and 2nd level outlines.
 **********************************************************************/
:perimeter
Return the perimeter of the top and 2nd level outlines.
: perimeter Return the perimeter of the top and 2nd level outlines .
int32_t C_BLOB::perimeter() {
  C_OUTLINE_IT it = &outlines; 
  int32_t total = 0;           
  for (it.mark_cycle_pt(); !it.cycled_list(); it.forward()) {
    C_OUTLINE *outline = it.data();
    total += outline->perimeter();
  }
  return total;
}
int32_t C_BLOB :: perimeter ( ) { C_OUTLINE_IT it = & outlines ; int32_t total = 0 ; for ( it . mark_cycle_pt ( ) ; ! it . cycled_list ( ) ; it . forward ( ) ) { C_OUTLINE * outline = it . data ( ) ; total += outline -> perimeter ( ) ; } return total ; }
C_BLOB::perimeter
 Return the perimeter of the top and 2nd level outlines.
C_BLOB :: perimeter Return the perimeter of the top and 2nd level outlines .
// outlines of blob // total perimeter