MarkDamageLimits

| ALPHA-VISION® DCS

## MarkDamageLimits

### Syntax

`MarkDamageLimits(class, affliction_type, context_figure, cur_file);`

### Wirkung

Der Mauszeiger wird in den angegebenen Cursor umgewandelt. Der Bediener kann nun in eine Abteilung im rechten Fenster der BDCRUN-Applikation klicken. Daraufhin wird für diese Abteilung ein Flag für den entsprechenden `affliction_type` gesetzt. Außerdem werden für diesen `affliction_type` die Flags der betroffenen Grenzenpolygone folgendermaßen angepaßt:

Anklicken einer Abteilung mit schon aktiven Grenzen
  Bei entsprechender Projektierung wird das zu diesen Grenzen gehörige Kontextmenü angezeigt
Anklicken einer Abteilung ohne aktive Grenzen, die neben einer Abteilung mit aktiven Grenzen liegt
  Die zwischen den Abteilungen liegende Grenze wird an den Rand der angeklickten Abteilung verschoben
Anklicken einer Abteilung ohne aktive Grenzen
  Die Grenzen dieser Abteilung werden aktiviert

Über die Abfrage der Abteilungsseite des Grenzpolygons und der `affliction_type` abhängigen Flags (siehe Grenzenpolygon) im Refresh-Skript der Grenzpolygone ist die Farb- bzw. Füllmusterumschaltung der Grenzen realisierbar.
Wenn der Bediener nicht auf eine Abteilung klickt, dann passiert nichts.

### Argumente

class (String)
  Die benutzerdefinierte Datenobjektklasse die die Schadensdaten verwaltet. Beim Anklicken wird eine Instanz dieser Klasse angelegt. Eine solche Klasse muß folgende Eingenschaften enthalten:
  ContextFigure (String)
    Der Name der Figur für das Kontextmenü des Schadens. Dieser Wert wird aus dem entsprechenden Argument des MarkDamageLimits-Jobs entnommen.
  Display (String)
    Der Name des Bildes, in dem die Grenzenpolygone liegen.
  SectionPolyName (String)
    Der Name des angewählten Abteilungspolygons. Dieser Wert wird intern gehandhabt.
  Section (String)
    Die Bezeichnung der Sektion in welcher der Schaden aufgetreten ist. Dieser Wert wird intern gehandhabt.
  DamageType
    Dieser Wert wird aus dem `affliction_type` Argument des MarkDamageLimits-Jobs entnommen.
  LBorderPolyName (String) bzw. RBorderPolyName (String)
    Der Name des linksseitigen bzw. rechtsseitigen Grenzpolygons. Dieser Wert wird intern gehandhabt.
  LPotL (bool)
    Flag für einen dem `affliction_type` entsprechenden Schaden links des linken Grenzenpolygons, d.h. im links benachbarten Abteil. Dieser Wert wird intern gehandhabt.
  LPotR (bool)
    Flag für einen dem `affliction_type` entsprechenden Schaden rechts des linken Grenzenpolygons, d.h. im angewählten Abteil. Dieser Wert wird intern gehandhabt.
  RPotL (bool)
    Flag für einen dem `affliction_type` entsprechenden Schaden links des rechten Grenzenpolygons, d.h. im angewählten Abteil. Dieser Wert wird intern gehandhabt.
  RPotR (bool)
    Flag für einen dem `affliction_type` entsprechenden Schaden rechts des rechten Grenzenpolygons, d.h. im rechts benachbarten Abteil. Dieser Wert wird intern gehandhabt.
  Created (Zeit)
    Diese Zeit wird beim Einfügen des Symbols automatisch gesetzt.
  Das Datenobjekt des aktuell selektierten Schadens kann über `BDC.ActDamage` angesprochen werden.
affliction_type (String)
  Die Schadensart in der betroffenen Abteilung. Es gibt folgende drei Typenkennungen:
  Fire - greift auf Rauchgrenzen zu
  Water - greift auf Flutgrenzen zu
  ABC - greift auf Kontaminationgrenzen zu
  Dieser Text wird im Eintrag `DamageType` des Schadens-Datenobjekts gespeichert und dient zum Zeichnen der Rauchgrenzen nach einem Bildwechsel.
context_figure (String)
  Die Figur (nur der Name, nicht die Datei) für das Kontextmenü. Dieser Text wird in der Eingenschaft `ContextFigure` des Schadens-Datenobjekts gespeichert und dient zur Umschaltung der Figur für das Kontextmenü.
cur_file (String)
  Der Dateiname des anzuzeigenden Cursors relativ zum Projektverzeichnis. Die Datei muß sich im Projektverzeichis oder einem Unterverzeichnis davon befinden. Animierte Cursor sind ebenfalls möglich.

### Beispiel

Icon (Button) in der Iconleiste: (Aktion)

    //Der Cursor befindet sich im Unterverzeichnis Cursors
    MarkDamageLimits("DamageLimits", "Fire", "DamageLimitsContext", "Cursors\FireLimits.cur");

    Plazierte Figur für das Kontextmenü: (Refresh)
    SetVal(Figure, BDC.ActDamage.ContextFigure);

    Grafikobjekte innerhalb der Kontextmenü-Figur: z.B. Anzeige des Schadenstyps in einem Text: (Refresh)
    SetVal(Text, BDC.ActDamage.DamageType);