Unit to realize a polygon based contouring routine. The basic idea of the algorithm is the desciption of the movement of an unintelligent mouse in a labyrinth with clockwise spin if the move fails and a counter clock wise spin if the move succeeds for the next exploring direction. Versus the contouring other authors like of Paul. D. Brouke it delivers open or closed polygons (rings) and it is possible to create faces over on height intersection plane. To build a DEM or body of heigth lines the algorithm will take more than height intersections and therefore more computational power. The contouring routine was published in germany 1987 by Markus Weber Turbopascal Tools Practical usage of Turbo Pascal in nature science and I adopt it in 1990 for general use from the third edition of these book ISBN-3-528-24543-3. In technical terms of the time the routine was implemented as a direct drawing routine to the, in recent considerations, low resoluted PC DOS screen. I extract the these parts from the routine and try to make it industial hard, to check border conditions, uniqe existence polygons of each height itnersected part.
|cData||Point to mark the data field as data point greater than the intersection height|
|cSmaller||Point to mark the data field as smaller than the intersection height|
|cVisited||Point to mark the data field as visited|
|TDataMatrix||to declare a data field|
|TMaskMatrix||to maskerade the data field|
|TMoveLocation||Location type (inside,outside) of the cursor moving arround the binary field|
Create a contour over one intersection height by a given data field . Debug - If TRUE .. Write out all infos to STDIO ! use $APPTYPE CONSOLE and datafields < 32x32 Height - Is Intersection height.! The interpolation will in every time treated as <=Height. Data - your data field. Contour the resulting contour.
|Class TContour||A contour describes a complex set of contouring polygons over ONE intersection height|
|Class TContourRing||Representation of one contoured object|
|Class TMoveRecord||Representation of one move. The Class has more a didactical function so many datas are stored twice.|