DBaddPlan

Top  Previous  Next

Anlegen eines Plans.

Mit dieser Routine wird innerhalb eines Segments ein neuer Plan angelegt. Jeder Plan kann als Untermenge des Koordinatenbereichs eines ganzen Segments aufgefasst werden. Dabei dürfen sich die Pläne überlappen. Innerhalb einer Planverwaltung werden einige Pläne gesondert betrachtet. Der Plan mit der ID 0 enthält alle Objekte, die noch keinem regulären Plan zugewiesen wurden. Der Plan mit der ID 1 enthält alle Objekte, die keine graphischen Informationen beinhalten und so auch keine Koordinaten haben. Diese müssen dann von allen Anwendern geladen werden.

Parameter

segment (PSEGMENT)                              [IN]

Dies ist das Handle des Segments, in dem der neue Plan angelegt werden soll. Dieses Handle wurde entweder mit DBnewSegment erzeugt, oder von einer der Auflistungsfunktionen DBfirstSegment und DBnextSegment geliefert.

name (const char *)                                     [IN]

Dies ist der Name des Plans und gleichzeitig der Name der Datei, in die dieser Plan gesichert wird. Der Pfad, unter der diese Datei zu finden ist, wird mit dem Parameter pfad bestimmt. Beim Sichern und Laden wird an name ein entsprechender Suffix, etwa ".DBB", angehängt. Deswegen darf name vorher noch keine Dateiextension haben.

version (USHORT)                                      [IN]

Diese Information wird intern nicht weitergegeben.

xlow (DOUBLE)                                           [IN]

Dies ist die x-Koordinate der linken Seite des neuen Plans. Diese Koordinaten werden als absolute Koordinaten, also üblicherweise im Gauß-Krüger-System, angegeben.

ylow (DOUBLE)                                           [IN]

Dies ist die y-Koordinate der linke Seite des neuen Plans. Diese Koordinaten werden als absolute Koordinaten, also üblicherweise im Gauß-Krüger-System, angegeben.

scale (double)                                             [IN]

Hiermit wird die relative Größe der Texte in diesem Plan festgelegt. So können Texte je nach Plotmaßstab in ihrer Größe angepasst werden. Angegeben wird hierbei der Maßstab, bei dem die Größe der Texte stimmt. Wird der Plot in einem anderen Maßstab ausgegeben, so werden die Textgrößen umgerechnet. Ist also ein Text mit 2,5mm bei Textscale 1000 angegeben und der Plan wird mit 1:2000 geplottet, so wird der Text mit 1,25mm Größe ausgegeben.

xhigh (DOUBLE)                                         [IN]

Dies ist die x-Koordinate der rechten Seite des neuen Plans. Diese Koordinaten werden als absolute Koordinaten, also üblicherweise im Gauß-Krüger-System, angegeben.

yhigh (DOUBLE)                                         [IN]

Dies ist die y-Koordinate der rechten Seite des neuen Plans. Diese Koordinaten werden als absolute Koordinaten, also üblicherweise im Gauß-Krüger-System, angegeben.

pfad (char *)                                                 [IN]

Unter diesem Pfad mit dem oben angegebenen Dateinamen name wird die Datei gesichert und geladen.

writeable (BOOLEAN)                                [IN]

Wenn writeable TRUE ist, darf der Anwender diesen Plan verändern. Der Plan wird dann außerdem beim Laden für andere Anwender gesperrt. Diese dürfen den Plan zwar ansehen, aber nicht verändern. Ist writeable FALSE, so darf der Anwender keine Änderungen an diesem Plan vornehmen, also auch keine Objekte einfügen.

blockId (ULONG)                                        [IN]

sysId (ULONG)                                           [IN]

Dies ist die innerhalb des Segments eindeutige Kennzeichnung des Plans. In einer Planverwaltung wird durch diese ID auch die Position und Ausdehnung des Plans bestimmt. Wenn als ID der Wert 0 angegeben wird, trägt die Datenbank einen eigenen Wert ein.

flags (int)                                                      [IN]

Momentan sind keine Flags definiert, als kann dieser Wert beliebig sein.

loader (char *)                                              [IN]

Name des Datenformats, mit dem dieser Plan behandelt wird. Dieses Format wird beim Sichern des Plans automatisch aufgerufen. Beispiele sind "HDF", "DGN" oder "DBB". Die volle Liste der Formate wird beim Kommando Load ausgegeben, ist aber abhängig von der installierten Software.

resolution (double)                                      [IN]

Auflösung der Koordinaten. Dies ist nur bei Datenformaten wie DBB ein signifikanter Wert, bei denen die Koordinaten als Fixkommazahl gespeichert werden.

Ergebnis

(PPLANS)                                               [OUT]

Die Prozedur liefert das Handle des neu erzeugten Plans zurück, im Fehlerfall wird NULL geliefert. Mit diesem Handle können z.B. neue Objekte angelegt werden, die dann sofort diesem Plan zugewiesen werden.

Deklaration

#include "database.h"

 

PPLANS DLLENTRY DBaddPlan (

     PSEGMENT    segment,

     const char *   name,

     USHORT         version,

     DOUBLE         xlow,

     DOUBLE         ylow,

     double         scale,

     DOUBLE         xhigh,

     DOUBLE         yhigh,

     ULONG       blockId,

     ULONG       sysId,

     int            flags,

     char *         loader,

     double         resolution

);

Verwandte Funktionen

DBaddSegment