49 LIST RemainingOutlines;
61 RemainingOutlines = Outlines;
134 FeatureStart =
PointAt(Next)->Point;
143 FeatureEnd =
PointAt(Next)->Point;
147 while (Next != First);
178 TotalWeight += Length;
180 Origin = TotalX / TotalWeight;
void ConvertToOutlineFeatures(MFOUTLINE Outline, FEATURE_SET FeatureSet)
FLOAT32 NormalizedAngleFrom(FPOINT *Point1, FPOINT *Point2, FLOAT32 FullScale)
#define NextPointAfter(E)
FLOAT32 DistanceBetween(FPOINT A, FPOINT B)
FEATURE_SET ExtractOutlineFeatures(TBLOB *Blob)
void NormalizeOutlineX(FEATURE_SET FeatureSet)
BOOL8 AddFeature(FEATURE_SET FeatureSet, FEATURE Feature)
const FEATURE_DESC_STRUCT OutlineFeatDesc
#define DegenerateOutline(O)
void FreeOutlines(LIST Outlines)
LIST ConvertBlob(TBLOB *blob)
FEATURE NewFeature(const FEATURE_DESC_STRUCT *FeatureDesc)
FEATURE_SET NewFeatureSet(int NumFeatures)
#define MAX_OUTLINE_FEATURES
void NormalizeOutlines(LIST Outlines, FLOAT32 *XScale, FLOAT32 *YScale)
void AddOutlineFeatureToSet(FPOINT *Start, FPOINT *End, FEATURE_SET FeatureSet)