SYSreplaceStringSections

Top  Previous  Next

Schnitt von Polygon.

Schneidet die in Bezug auf das Clippolygon inneren oder äußeren Abschnitte des Linienzugs aus.

Bei einem offenen Linienzug werden sie je nach Topologie gelöscht oder ersetzt, bei der Ersetzung wird im Falle dass zwei Abschnitte des Clippolygons in Frage kommen der kürzere gewählt.

Bei einem geschlossenen Linienzug werden sie, wie beim Parameter input_insert beschrieben, durch Abschnitte des Clippolygon ersetzt.

Parameter

input_poly (const PSTRING_ELEMENT) [IN]

Linienzug, der vom Clippolygon zerlegt wird.

input_clip (const PSTRING_ELEMENT)  [IN]

Das Clippolygon bestimmt, an welchen Stellen der Linienzug zerteilt wird.

input_inside (const BOOLEAN)                 [IN]

Mögliche Werte sind: TRUE, wenn die inneren Abschnitte ersetzt werden. FALSE, wenn die äußeren Abschnitte ersetzt werden.

input_bounds (const BOOLEAN)              [IN]

Mögliche Werte sind: TRUE, wenn die Abschnitte des Linienzuges, die auf dem Clippolygon liegen, ersetzt werden sollen. FALSE, wenn die Abschnitte des Linienzuges, die auf dem Clippolygon liegen, nicht ersetzt werden sollen.

input_insert (const BOOLEAN)                  [IN]

Auswahl der einzusetzenden Abschnitte des Clippolygons, wenn der Linienzug eine Fläche ist. Sollen die inneren Abschnitte des Linienzugs ersetzt werden, dann werden sie bei TRUE durch die inneren des Clippolygons ersetzt, das Resultat ist die Fläche des Linienzugs ohne die des Clippolygons. Bei FALSE werden sie durch die äußeren ersetzt, das Resultat ist die Vereinigungsfläche. Beim Ersetzen der äußeren Abschnitte werden sie bei TRUE durch die äußeren ersetzt, das Resultat ist die Fläche des Clippolygons ohne die des Linienzugs. Bei FALSE werden sie durch die inneren ersetzt, das Resultat ist die Schnittfläche.

Ergebnis

(int)                                                           [OUT]

Bei einem Fehler wird –1 zurückgeliefert, sonst die Anzahl der erzeugten Stringelemente.

Deklaration

#include "system.h"

 

int DLLENTRY SYSreplaceStringSections (

     const PSTRING_ELEMENT         input_poly,

     const PSTRING_ELEMENT         input_clip,

     const BOOLEAN           input_inside,

     const BOOLEAN           input_bounds,

     const BOOLEAN           input_insert

);

Verwandte Funktionen

SYSlocationOfString

Bemerkungen

Das Clippolygon darf sich in einem Schnittpunkt mit dem Linienzug nicht selbst schneiden.

Ein offener Linienzug mit einem DKA <> 0 wird automatisch geschlossen.

Liegt der Linienzug vollständig im auszuschneidenden Bereich, dann wird er gelöscht.