DBcopyObject

Top  Previous  Next

Ein Objekt in ein anderes Segment kopieren.

Mit DBcopyElement wird eine Kopie eines beliebigen Objektes in einem anderen (oder demselben) Segment 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 Objekt beim Kopieren in der Größe verändert werden und eine neue Position erhalten. Zuerst findet die Größenänderung, dann die Rotation, zuletzt die Verschiebung statt. DBcopyObject ruft zu diesem Zweck nur in einer Schleife DBcopyElement auf.

Parameter

obj (POBJECT)                                           [IN]

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

plan (PPLANS)                                            [IN]

Das Handle des Plans, in das das neue Objekt eingefügt wird. Wenn hier NULL angegeben wird, dann gehört das Objekt zu keinem Plan.

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 aber vor der Translation mit dem Offset.

offsetX (DOUBLE)                                      [IN]

offsetY (DOUBLE)                                      [IN]

offsetZ (DOUBLE)                                      [IN]

Nach der Rotation werden alle Koordinaten um den 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

(POBJECT)                                             [OUT]

Das Handle des neu erzeugten Objekts 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"

 

POBJECT DLLENTRY DBcopyObject(

     POBJECT  obj,

     PPLANS      plan,

     DOUBLE      scaleX,

     DOUBLE      scaleY,

     DOUBLE      scaleZ,

     DOUBLE      offsetX,

     DOUBLE      offsetY,

     DOUBLE      offsetZ,

     DOUBLE      rotation,

     int         transformTextscale

);

Verwandte Funktionen

DBcopyElement

DBcopyPoint