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