Rechteck.
Ein allgemeines Beispiel zur Verwendung der Klasse rect finden sie hier.
Rechteck. Das Modul definiert Rechteckobjekte und eine Reihe gebräuchlicher Funktionen für Rechtecke
static Rect rect::alloc()
Erzeuge ein Rechteck-Objekt. Ohne weitere Parameter wird eine neues leeres Rechteck (0.0, 0.0, 0.0, 0.0) angelegt.
Name | Typ | Default | Beschreibung |
Return | Rect | Neues Rechteckobjekt. Das Objekt wird natürlich nicht als InDesign®-Rahmen angelegt. | |
⇨ Quadrat | |||
s | float | - | Seitenlänge des Quadrates. Ergebnis ist das Rechteck (0.0, 0.0, s, s) |
⇨ Rechteck an der Stelle (0.0, 0.0) | |||
w, h | float, float | - | Größe des Rechteckes. Ergebnis ist das Rechteck (0.0, 0.0, w, h) |
⇨ Rechteck | |||
left, top, right, bottom | float, float, float, float | - | Koordinaten des Rechteckes. Die Angaben werden nicht normalisiert! |
int wrect (Rect r, char * trailer) { if (strlen (trailer)) wlog ("", "%s ", trailer);
wlog ("", "%f, %f, %f, %f\n", rect::left (r), rect::top (r), rect::right (r), rect::bottom (r));
return 0; }
int main () { Rect r1 = rect::alloc (0.0, 0.0, 100.0, 200.0); Rect r2 = rect::alloc (80.0, 90.0, 110.0, 210.0); Rect intersect = rect::alloc (); Rect union_ = rect::alloc ();
rect::intersection (intersect, r1, r2); rect::union_ (union_, r1, r2);
wrect (r1, "R1"); wrect (r2, "R2"); wrect (intersect, "(-)"); wrect (union_, "(+)");
return 0; }
static Rect rect::clone(Rect org)
Erzeuge ein neues Rechteck als Kopie eines Rechteckes.
Name | Typ | Default | Beschreibung |
Return | Rect | Neu erzeugtes Rechteck | |
org | Rect | - | Original-Rechteck |
static int rect::release(Rect r)
Lösche ein Rechteckobjekt wieder aus dem Speicher.
Name | Typ | Default | Beschreibung |
Return | int | immer 0 | |
r | Rect | - | Rechteck |
static float rect::left(Rect rect)
Hole den linken Wert des Rechteckes.
Name | Typ | Default | Beschreibung |
Return | float | Linke Seite des Rechteckes | |
rect | Rect | - | Rechteck |
static float rect::top(Rect rect)
Hole den oberen Wert des Rechteckes.
Name | Typ | Default | Beschreibung |
Return | float | Obere Seite des Rechteckes | |
rect | Rect | - | Rechteck |
static float rect::right(Rect rect)
Hole den rechten Wert des Rechteckes.
Name | Typ | Default | Beschreibung |
Return | float | Rechte Seite des Rechteckes | |
rect | Rect | - | Rechteck |
static float rect::bottom(Rect rect)
Hole den unteren Wert des Rechteckes.
Name | Typ | Default | Beschreibung |
Return | float | Untere Seite des Rechteckes | |
rect | Rect | - | Rechteck |
static float rect::width(Rect rect)
Hole die Breite des Rechteckes.
Name | Typ | Default | Beschreibung |
Return | float | Breite des Rechteckes | |
rect | Rect | - | Rechteck |
static float rect::height(Rect rect)
Hole die Höhe des Rechteckes.
Name | Typ | Default | Beschreibung |
Return | float | Höhe des Rechteckes | |
rect | Rect | - | Rechteck |
static float rect::xcenter(Rect rect)
Mitte des Rechteckes auf der X-Achse.
Name | Typ | Default | Beschreibung |
Return | float | Mitte des Rechteckes auf der X-Achse. | |
rect | Rect | - | Rechteck |
static float rect::ycenter(Rect rect)
Mitte des Rechteckes auf der Y-Achse.
Name | Typ | Default | Beschreibung |
Return | float | Mitte des Rechteckes auf der Y-Achse. | |
rect | Rect | - | Rechteck |
static int rect::set_left(Rect rect, float l)
Setze den linken Wert des Rechteckes.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
rect | Rect | - | Rechteck |
l | float | - | Neuer Wert |
static int rect::set_top(Rect rect, float t)
Setze den oberen Wert des Rechteckes.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
rect | Rect | - | Rechteck |
t | float | - | Neuer Wert |
static int rect::set_right(Rect rect, float r)
Setze den rechten Wert des Rechteckes.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
rect | Rect | - | Rechteck |
r | float | - | Neuer Wert |
static int rect::set_bottom(Rect rect, float b)
Setze den unteren Wert des Rechteckes.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
rect | Rect | - | Rechteck |
b | float | - | Neuer Wert |
static int rect::set_width(Rect rect, float w)
Breite des Rechteckes setzen.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
Return | w | float - Neue Breite | |
rect | Rect | - | Rechteck |
static int rect::set_height(Rect rect, float h)
Höhe des Rechteckes setzen.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
rect | Rect | - | Rechteck |
h | float | - | Neue Höhe |
static int rect::move_rel(
Rect rect,
float x,
float y)
Rechteck relativ verschieben.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
rect | Rect | - | Rechteck |
x, y | float, float | - | Werte der Verschiebung |
static int rect::move_to(
Rect rect,
float x,
float y)
Rechteck an eine neue Position verschieben.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
rect | Rect | - | Rechteck |
x, y | float, float | - | Neue Rechteckposition |
static int rect::center_on(
Rect rect,
float x,
float y)
Rechteck an einer Position zentrieren.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
Return | x, y | float, float - Neue Rechteckmitte | |
rect | Rect | - | Rechteck |
static int rect::inset(
Rect rect,
float dx,
float dy)
Rechteck an alle Seiten verkleinern/vergrößern.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
rect | Rect | - | Rechteck |
dx, dy | float, float | - | Größenveränderungen. Positive Werte verkleinern das Rechteck, negative Werte vergrößern das Rechteck. |
static int rect::intersect(Rect r1, Rect r2)
Haben zwei Rechtecke eine überschneidung?
Name | Typ | Default | Beschreibung |
Return | int | 0 : keine gemeinsame Fläche 1 : Ja, die Rechtecke überschneiden sich. Eine Kante darf sich dabei überschneiden. |
|
r1 | Rect | - | Rechteck 1 |
r2 | Rect | - | Rechteck 2 |
static int rect::intersection(
Rect result,
Rect r1,
Rect r2)
überschneidungsfläche zweier Rechtecke.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
result | Rect | - | Gemeinsame Fläche von r1 und r2 (leeres Rechteck, wenn die r1 und r2 keine Schnittmenge haben) |
r1 | Rect | - | Rechteck 1 |
r2 | Rect | - | Rechteck 2 |
int wrect (Rect r, char * trailer) { if (strlen (trailer)) wlog ("", "%s ", trailer);
wlog ("", "%f, %f, %f, %f\n", rect::left (r), rect::top (r), rect::right (r), rect::bottom (r));
return 0; }
int main () { Rect r1 = rect::alloc (0.0, 0.0, 100.0, 200.0); Rect r2 = rect::alloc (80.0, 90.0, 110.0, 210.0); Rect intersect = rect::alloc (); Rect union_ = rect::alloc ();
rect::intersection (intersect, r1, r2); rect::union_ (union_, r1, r2);
wrect (r1, "R1"); wrect (r2, "R2"); wrect (intersect, "(-)"); wrect (union_, "(+)");
return 0; }
static int rect::union_(
Rect result,
Rect r1,
Rect r2)
Vereinigung zweier Rechtecke. Das Ergebnis die Bounding box um beide Rechtecke.
Name | Typ | Default | Beschreibung |
Return | int | 0 oder Fehlercode | |
result | Rect | - | Bounding box um r1 und r2 |
r1 | Rect | - | Rechteck 1 |
r2 | Rect | - | Rechteck 2 |
int wrect (Rect r, char * trailer) { if (strlen (trailer)) wlog ("", "%s ", trailer);
wlog ("", "%f, %f, %f, %f\n", rect::left (r), rect::top (r), rect::right (r), rect::bottom (r));
return 0; }
int main () { Rect r1 = rect::alloc (0.0, 0.0, 100.0, 200.0); Rect r2 = rect::alloc (80.0, 90.0, 110.0, 210.0); Rect intersect = rect::alloc (); Rect union_ = rect::alloc ();
rect::intersection (intersect, r1, r2); rect::union_ (union_, r1, r2);
wrect (r1, "R1"); wrect (r2, "R2"); wrect (intersect, "(-)"); wrect (union_, "(+)");
return 0; }
static int rect::contains_point(
Rect rect,
float x,
float y)
Enthält ein Rechteck einen gegebenen Punkt?
Name | Typ | Default | Beschreibung |
Return | int | 0 : Nein 1 : Der Punkt liegt innerhalb des Rechteckes |
|
rect | Rect | - | Rechteck |
x, y | float, float | - | Punkt |
static int rect::contains(Rect r1, Rect r2)
Enthält ein Rechteck ein gegbenes Rechteck?
Name | Typ | Default | Beschreibung |
Return | int | 0 : Nein, r2 ist nicht in r1 enthalten 1 : Ja, r1 enthält r2 |
|
r1 | Rect | - | Rechteck |
r2 | Rect | - | Rechteck |
static float rect::aspect_ratio(Rect rect)
Verhältnis von Breite zu Höhe eines Rechteckes.
Name | Typ | Default | Beschreibung |
Return | float | Seitenverhälnis (Breite zu Höhe) des Rechteckes. Das leere Rechteck gibt 0.0 zurück. | |
rect | Rect | - | Rechteck |
static float rect::area(Rect rect)
Größe eines Rechteckes.
Name | Typ | Default | Beschreibung |
Return | float | Größe des Rechteckes. | |
rect | Rect | - | Rechteck |
static float rect::is_equal(Rect r1, Rect r2)
Sind zwei Rechtecke gleich?
int wrect (Rect r, char * trailer) { if (strlen (trailer)) wlog ("", "%s ", trailer);
wlog ("", "%f, %f, %f, %f\n", rect::left (r), rect::top (r), rect::right (r), rect::bottom (r));
return 0; }
int main () { Rect r1 = rect::alloc (0.0, 0.0, 100.0, 200.0); Rect r2 = rect::alloc (80.0, 90.0, 110.0, 210.0); Rect intersect = rect::alloc (); Rect union_ = rect::alloc ();
rect::intersection (intersect, r1, r2); rect::union_ (union_, r1, r2);
wrect (r1, "R1"); wrect (r2, "R2"); wrect (intersect, "(-)"); wrect (union_, "(+)");
return 0; }
Alphabetic index HTML hierarchy of classes or Java