src/classify/picofeat.cpp
void ConvertToPicoFeatures2(MFOUTLINE Outline, FEATURE_SET FeatureSet) {
  MFOUTLINE Next;
  MFOUTLINE First;
  MFOUTLINE Current;

  if (DegenerateOutline(Outline)) {
    return;
  }

  First = Outline;
  Current = First;
  Next = NextPointAfter(Current);
  do {
    /* note that an edge is hidden if the ending point of the edge is
   marked as hidden.  This situation happens because the order of
   the outlines is reversed when they are converted from the old
   format.  In the old format, a hidden edge is marked by the
   starting point for that edge. */
    if (!(PointAt(Next)->Hidden)) {
      ConvertSegmentToPicoFeat(&(PointAt(Current)->Point), &(PointAt(Next)->Point), FeatureSet);
    }

    Current = Next;
    Next = NextPointAfter(Current);
  } while (Current != First);

}
/*---------------------------------------------------------------------------*/
/**
 * This routine steps through the specified outline and cuts it
 * up into pieces of equal length.  These pieces become the
 * desired pico-features.  Each segment in the outline
 * is converted into an integral number of pico-features.
 * Results are returned in FeatureSet.
 *
 * Globals:
 * - classify_pico_feature_length length of features to be extracted
 * @param Outline outline to extract micro-features from
 * @param FeatureSet set of features to add pico-features to
 */
This routine steps through the specified outline and cuts it
up into pieces of equal length.  These pieces become the
desired pico-features.  Each segment in the outline
is converted into an integral number of pico-features.
Results are returned in FeatureSet.

- classify_pico_feature_length length of features to be extracted
@param Outline outline to extract micro-features from
@param FeatureSet set of features to add pico-features to
This routine steps through the specified outline and cuts it up into pieces of equal length . These pieces become the desired pico - features . Each segment in the outline is converted into an integral number of pico - features . Results are returned in FeatureSet . - classify_pico_feature_length length of features to be extracted @param Outline outline to extract micro - features from @param FeatureSet set of features to add pico - features to
void ConvertToPicoFeatures2(MFOUTLINE Outline, FEATURE_SET FeatureSet) {
  MFOUTLINE Next;
  MFOUTLINE First;
  MFOUTLINE Current;
  if (DegenerateOutline(Outline)) {
    return;
  }
  First = Outline;
  Current = First;
  Next = NextPointAfter(Current);
  do {
    if (!(PointAt(Next)->Hidden)) {
      ConvertSegmentToPicoFeat(&(PointAt(Current)->Point), &(PointAt(Next)->Point), FeatureSet);
    }
    Current = Next;
    Next = NextPointAfter(Current);
  } while (Current != First);
}
void ConvertToPicoFeatures2 ( MFOUTLINE Outline , FEATURE_SET FeatureSet ) { MFOUTLINE Next ; MFOUTLINE First ; MFOUTLINE Current ; if ( DegenerateOutline ( Outline ) ) { return ; } First = Outline ; Current = First ; Next = NextPointAfter ( Current ) ; do { if ( ! ( PointAt ( Next ) -> Hidden ) ) { ConvertSegmentToPicoFeat ( & ( PointAt ( Current ) -> Point ) , & ( PointAt ( Next ) -> Point ) , FeatureSet ) ; } Current = Next ; Next = NextPointAfter ( Current ) ; } while ( Current != First ) ; }
This routine steps through the specified outline and cuts it
 up into pieces of equal length.
This routine steps through the specified outline and cuts it up into pieces of equal length .
/* note that an edge is hidden if the ending point of the edge is
   marked as hidden.  This situation happens because the order of
   the outlines is reversed when they are converted from the old
   format.  In the old format, a hidden edge is marked by the
   starting point for that edge. */