DBcopyElement

Top  Previous  Next

Ein Element in ein anderes Objekt kopieren

Mit DBcopyElement wird eine Kopie eines beliebigen Elements in einem anderen (oder demselben) Objekt angelegt, wenn dies nach den Datenbankregeln erlaubt ist. Beim Kopieren werden die Auflösung und der Textmaßstab umgerechnet, wenn dies notwendig ist. Ebenso kann das Element beim Kopieren in der Größe verändert werden und eine neue Position erhalten. Zuerst findet die Größenänderung, dann die Rotation und zuletzt die Verschiebung statt.

Parameter

element (PELEMENT)                                [IN]

Das Handle des zu kopierenden Elements. Das Element kann auch zu einem der Sondersegmente gehören, um z.B. ein Symbol in seine Bestandteile zu zerlegen.

zielObject (POBJECT)                               [IN]

Das Handle des Objekts, in das das neue Element eingefügt wird.

scaleX (DOUBLE)                                      [IN]

scaleY (DOUBLE)                                       [IN]

scaleZ (DOUBLE)                                       [IN]

Die Koordinaten werden vor dem Kopieren mit diesen Faktoren multipliziert. Dies ist unabhängig vom Umrechnen der Auflösungen und geschieht nach dem Anwenden der Rotation, vor der Translation mit dem Offset.

offsetX (DOUBLE)                                      [IN]

offsetY (DOUBLE)                                      [IN]

offsetZ (DOUBLE)                                      [IN]

Nach der Rotation werden alle Koordinaten mit Offset verschoben. Die Werte sind in Meter angegeben, also unabhängig von der Auflösung des Quell- oder Zielelements.

rotation (DOUBLE)                                      [IN]

Als zweite Umformung wird eine Rotation um den Nullpunkt mit dem Winkel rotation durchgeführt, also nach der Größenänderung und vor der Translation. Die Angabe ist in rad, also 2*PI sind ein Vollkreis.

transformTextscale (int)                              [IN]

Bei TRUE wird in kopierten Texten die Texthöhe an den neuen Textscale angepasst.

Ergebnis

(PELEMENT)                                          [OUT]

Das Handle des neu erzeugten Elements wird als Ergebnis zurückgegeben. Wenn ein Fehler aufgetreten ist, wird statt dessen NULL als Ergebnis geliefert.

Anmerkungen

Masterelemente werden kopiert und alle Member des ursprünglichen Master werden auch Member des neuen Master.

Member-Elemente werden zusätzlich Member des Masters, zu dem der ursprüngliche Member gehört.

Wenn ein Textelement eine Standlinie besitzt, so wird diese automatisch mitkopiert und als Element in das Zielobjekt eingefügt.

Deklaration

#include "database.h"

 

PELEMENT DLLENTRY DBcopyElement(

     PELEMENT element,

     POBJECT  zielObject,

     DOUBLE      scaleX,

     DOUBLE      scaleY,

     DOUBLE      scaleZ,

     DOUBLE      offsetX,

     DOUBLE      offsetY,

     DOUBLE      offsetZ,

     DOUBLE      rotation,

     int         transformTextscale

);

Verwandte Funktionen

DBcopyObject

DBcopyPoint