copy_object_model_3d
— Kopieren eines 3D-Objektmodells.
copy_object_model_3d( : : ObjectModel3D, Attributes : CopiedObjectModel3D)
Ein 3D-Objektmodell besteht aus einer Menge von Attributen. Der
Operator copy_object_model_3d
erstellt ein neues
3D-Objektmodell und kopiert die ausgewählten Attribute
des 3D-Eingabeobjektmodells in das neue 3D-Ausgabeobjektmodell.
Das 3D-Eingabeobjektmodell ist durch das Handle ObjectModel3D
definiert. Der Operator gibt das Handle CopiedObjectModel3D
des neuen 3D-Objektmodells zurück. Der Operator kann genutzt werden,
um Speicherplatz zu sparen wenn nicht benötigte Attribute entfernt
werden. Zugriff auf die Attribute des 3D-Objektmodells ist z.B. mit
dem Operator get_object_model_3d_params
möglich.
Mit dem Parameter Attributes
wird festgelegt, welche Attribute
kopiert werden sollen. Zusätzlich ist es auch möglich, Attribute, die nicht
kopiert werden sollen, über ein vorgesetztes '~'
Zeichen im String auszuschließen. Zum Entfernen von Attributen kann
alternativ der Operator remove_object_model_3d_attrib
verwendet
werden.
Es ist zu beachten, dass das eigentliche 3D-Objektmodell selbst
aus einer Menge von Attributen besteht. So sind auch die
Punktkoordinaten des Objektmodells ein Attribut. Dies bedeutet,
dass mindestens dieses Attribut für copy_object_model_3d
ausgewählt werden muss, damit
ein 3D-Objektmodell kopiert werden kann. Ansonsten wäre das
zu kopierende Objektmodell leer. Falls also nur ein 3D-Objektmodell
kopiert werden soll ohne weitere Attribute, so muss Attributes
auf den Wert 'point_coord' gesetzt werden.
Wenn das zu kopierende Attribut nicht
vorhanden ist oder kein Attribut ausgewählt wurde, wird eine
Fehlerbehandlung durchgeführt.
Die folgenden
Werte für den Parameter Attributes
sind möglich:
Dieser Wert legt fest, dass das Attribut mit den Punktkoordinaten kopiert wird.
Dieser Wert legt fest, dass das Attribut mit den Punktnormalen und das Attribut mit den Punktkoordinaten kopiert werden.
Dieser Wert legt fest, dass das Attribut mit den Oberflächendreiecken und das Attribut mit den Punktkoordinaten kopiert werden.
Dieser Wert legt fest, dass das Attribut mit den Oberflächenpolygonen und das Attribut mit den Punktkoordinaten kopiert werden.
Dieser Wert legt fest, dass das Attribut mit den Linien und das Attribut mit den Punktkoordinaten kopiert werden.
Dieser Wert legt fest, dass das Attribut mit der Zuordnung der Bildkoordinaten und das Attribut mit den Punktkoordinaten kopiert werden.
Dieser Wert legt fest, dass alle erweiterten Attribute kopiert werden. Ist es notwendig, weitere Attribute zu kopieren, die mit den erweiterten Attributen zusammenhängen, werden diese ebenfalls kopiert. Diese Attribute können z.B. Punktkoordinaten, Oberflächendreiecke, Oberflächenpolygone oder Linienzüge sein.
Dieser Wert legt fest, dass
das Attribut mit den Parametern des 3D-Primitivs (eingeschlossen
leerer 3D-Primitive) kopiert wird (z.B. generiert vom Operator
fit_primitives_object_model_3d
).
Dieser Wert legt fest,
dass das Attribut mit einem 3D-Primitiv "Ebene" kopiert wird (z.B.
generiert vom Operator fit_primitives_object_model_3d
).
Dieser Wert legt fest,
dass das Attribut mit einem 3D-Primitiv "Kugel" kopiert wird (z.B.
generiert vom Operator fit_primitives_object_model_3d
)
Dieser Wert legt fest,
dass das Attribut mit einem 3D-Primitiv "Zylinder" kopiert wird (z.B.
generiert vom Operator fit_primitives_object_model_3d
).
Dieser Wert legt fest, dass das Attribut mit einem 3D-Primitiv "Quader" kopiert wird.
Dieser Wert legt fest, dass das Attribut mit dem vorbereiteten 3D-Formmodell für das formbasierte 3D-Matching kopiert wird.
Dieser Wert
legt fest, dass das Attribut mit der Datenstruktur für die
3D Distanzberechnung kopiert wird.
Diese Datenstruktur kann mit prepare_object_model_3d
erstellt
und mit distance_object_model_3d
verwendet werden.
Wenn dieses Attribut ausgewählt wurde, so werden auch die Attribute
kopiert, zu denen der Abstand berechnet werden soll.
Wurde die Datenstruktur der Abstandsberechnung beispielsweise für Dreiecke
vorbereitet, so werden Dreiecke und Punkte mit kopiert.
Dieser Wert legt fest, dass die Daten für das oberflächenbasierte 3D-Matching kopiert werden. Die Attribute sind die 3D Punktkoordinaten und die Punktnormalen. Ist das Attribut mit den Punktnormalen nicht vorhanden, wird das Attribut mit der Zuordnung der 3D Punktkoordinaten zu den Bildkoordinaten kopiert. Ist das Attribut mit der Zuordnung der 3D Punktkoordinaten zu den Bildkoordinaten nicht vorhanden, wird das Attribut mit den Oberflächendreiecken kopiert. Ist das Attribut mit den Oberflächendreiecken auch nicht vorhanden, wird das Attribute mit den Oberflächenpolygonen kopiert. Sind keine dieser Attribute vorhanden, wird eine Fehlerbehandlung durchgeführt.
Dieser Wert legt fest, dass die Daten für die 3D-Segmentierung kopiert werden. Es werden die Attribute mit den 3D Punktkoordinaten und die Attribute mit den Oberflächendreiecken kopiert. Sind die Attribute mit den Oberflächendreiecken nicht vorhanden wird das Attribut mit der Zuordnung der Punktkoordinaten zu den Bildkoordinaten kopiert. Sind keine dieser Attribute vorhanden, wird eine Fehlerbehandlung durchgeführt.
Dieser Wert legt fest, dass die Daten für das
Qualitätsmaß und das Attribut mit den Punktkoordinaten kopiert werden.
Das Qualitätsmaß wird in der Regel durch den Operator
reconstruct_surface_stereo
berechnet.
Dieser Wert legt fest, dass die Daten für den roten Kanal und das Attribut mit den Punktkoordinaten kopiert werden.
Dieser Wert legt fest, dass die Daten für den grünen Kanal und das Attribut mit den Punktkoordinaten kopiert werden.
Dieser Wert legt fest, dass die Daten für den blauen Kanal und das Attribut mit den Punktkoordinaten kopiert werden.
Dieser Wert legt fest, dass
das Attribut mit den originalen Punktindizes und das Attribut mit den
3D-Punktkoordinaten kopiert werden. Die originalen Punktindizes können
vom Operator triangulate_object_model_3d
generiert werden.
Dieser Wert legt fest, dass alle verfügbaren Attribute kopiert werden. Die Attribute sind die Punktkoordinaten, die Punktnormalen, die Oberflächendreiecke, die Oberflächenpolygone, das Mapping, das Formmodell für das Matching, die Parameter eines 3D-Primitivs und die erweiterten Attribute.
ObjectModel3D
(input_control) object_model_3d →
(handle)
Handle des 3D-Objektmodells.
Attributes
(input_control) string(-array) →
(string / real / integer)
Zu kopierende Attribute.
Defaultwert: 'all'
Werteliste: 'all' , 'blue' , 'distance_computation_data' , 'extended_attribute' , 'green' , 'original_point_indices' , 'point_coord' , 'point_normal' , 'polygons' , 'primitive_box' , 'primitive_cylinder' , 'primitive_plane' , 'primitive_sphere' , 'primitives_all' , 'red' , 'score' , 'segmentation_data' , 'shape_based_matching_3d_data' , 'surface_based_matching_data' , 'triangles' , 'xyz_mapping'
CopiedObjectModel3D
(output_control) object_model_3d →
(handle)
Handle des kopierten 3D-Objektmodells.
copy_object_model_3d
liefert den Wert 2 (H_MSG_TRUE), falls die
Parameter korrekt sind. Gegebenenfalls wird eine Fehlerbehandlung
durchgeführt.
read_object_model_3d
,
xyz_to_object_model_3d
remove_object_model_3d_attrib
,
set_object_model_3d_attrib
3D Metrology