44 LIST RemainingOutlines;
56 RemainingOutlines = Outlines;
123 FeatureStart =
PointAt(Next)->Point;
132 FeatureEnd =
PointAt(Next)->Point;
136 while (Next != First);
155 float TotalWeight = 0.0;
165 TotalWeight += Length;
167 Origin = TotalX / TotalWeight;
void NormalizeOutlineX(FEATURE_SET FeatureSet)
void NormalizeOutlines(LIST Outlines, float *XScale, float *YScale)
FEATURE_SET NewFeatureSet(int NumFeatures)
void FreeOutlines(LIST Outlines)
#define DegenerateOutline(O)
float DistanceBetween(FPOINT A, FPOINT B)
float NormalizedAngleFrom(FPOINT *Point1, FPOINT *Point2, float FullScale)
const FEATURE_DESC_STRUCT OutlineFeatDesc
LIST ConvertBlob(TBLOB *blob)
void AddOutlineFeatureToSet(FPOINT *Start, FPOINT *End, FEATURE_SET FeatureSet)
FEATURE NewFeature(const FEATURE_DESC_STRUCT *FeatureDesc)
FEATURE_SET ExtractOutlineFeatures(TBLOB *Blob)
#define NextPointAfter(E)
void ConvertToOutlineFeatures(MFOUTLINE Outline, FEATURE_SET FeatureSet)
bool AddFeature(FEATURE_SET FeatureSet, FEATURE Feature)
#define MAX_OUTLINE_FEATURES