copy_object_model_3dT_copy_object_model_3dCopyObjectModel3dCopyObjectModel3d (Operator)

Name

copy_object_model_3dT_copy_object_model_3dCopyObjectModel3dCopyObjectModel3d — Kopieren eines 3D-Objektmodells.

Signatur

copy_object_model_3d( : : ObjectModel3D, Attributes : CopiedObjectModel3D)

Herror T_copy_object_model_3d(const Htuple ObjectModel3D, const Htuple Attributes, Htuple* CopiedObjectModel3D)

void CopyObjectModel3d(const HTuple& ObjectModel3D, const HTuple& Attributes, HTuple* CopiedObjectModel3D)

HObjectModel3D HObjectModel3D::CopyObjectModel3d(const HTuple& Attributes) const

HObjectModel3D HObjectModel3D::CopyObjectModel3d(const HString& Attributes) const

HObjectModel3D HObjectModel3D::CopyObjectModel3d(const char* Attributes) const

HObjectModel3D HObjectModel3D::CopyObjectModel3d(const wchar_t* Attributes) const   (Nur Windows)

static void HOperatorSet.CopyObjectModel3d(HTuple objectModel3D, HTuple attributes, out HTuple copiedObjectModel3D)

HObjectModel3D HObjectModel3D.CopyObjectModel3d(HTuple attributes)

HObjectModel3D HObjectModel3D.CopyObjectModel3d(string attributes)

Beschreibung

Ein 3D-Objektmodell besteht aus einer Menge von Attributen. Der Operator copy_object_model_3dcopy_object_model_3dCopyObjectModel3dCopyObjectModel3dCopyObjectModel3d 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 ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D definiert. Der Operator gibt das Handle CopiedObjectModel3DCopiedObjectModel3DCopiedObjectModel3DCopiedObjectModel3DcopiedObjectModel3D 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_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParamsGetObjectModel3dParams möglich.

Mit dem Parameter AttributesAttributesAttributesAttributesattributes 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_attribremove_object_model_3d_attribRemoveObjectModel3dAttribRemoveObjectModel3dAttribRemoveObjectModel3dAttrib 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_3dcopy_object_model_3dCopyObjectModel3dCopyObjectModel3dCopyObjectModel3d 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 AttributesAttributesAttributesAttributesattributes auf den Wert 'point_coord'"point_coord""point_coord""point_coord""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 AttributesAttributesAttributesAttributesattributes sind möglich:

'point_coord'"point_coord""point_coord""point_coord""point_coord":

Dieser Wert legt fest, dass das Attribut mit den Punktkoordinaten kopiert wird.

'point_normal'"point_normal""point_normal""point_normal""point_normal":

Dieser Wert legt fest, dass das Attribut mit den Punktnormalen und das Attribut mit den Punktkoordinaten kopiert werden.

'triangles'"triangles""triangles""triangles""triangles":

Dieser Wert legt fest, dass das Attribut mit den Oberflächendreiecken und das Attribut mit den Punktkoordinaten kopiert werden.

'polygons'"polygons""polygons""polygons""polygons":

Dieser Wert legt fest, dass das Attribut mit den Oberflächenpolygonen und das Attribut mit den Punktkoordinaten kopiert werden.

'lines'"lines""lines""lines""lines":

Dieser Wert legt fest, dass das Attribut mit den Linien und das Attribut mit den Punktkoordinaten kopiert werden.

'xyz_mapping'"xyz_mapping""xyz_mapping""xyz_mapping""xyz_mapping":

Dieser Wert legt fest, dass das Attribut mit der Zuordnung der Bildkoordinaten und das Attribut mit den Punktkoordinaten kopiert werden.

'extended_attribute'"extended_attribute""extended_attribute""extended_attribute""extended_attribute":

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.

'primitives_all'"primitives_all""primitives_all""primitives_all""primitives_all":

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_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d).

'primitive_plane'"primitive_plane""primitive_plane""primitive_plane""primitive_plane":

Dieser Wert legt fest, dass das Attribut mit einem 3D-Primitiv "Ebene" kopiert wird (z.B. generiert vom Operator fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d).

'primitive_sphere'"primitive_sphere""primitive_sphere""primitive_sphere""primitive_sphere":

Dieser Wert legt fest, dass das Attribut mit einem 3D-Primitiv "Kugel" kopiert wird (z.B. generiert vom Operator fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d)

'primitive_cylinder'"primitive_cylinder""primitive_cylinder""primitive_cylinder""primitive_cylinder":

Dieser Wert legt fest, dass das Attribut mit einem 3D-Primitiv "Zylinder" kopiert wird (z.B. generiert vom Operator fit_primitives_object_model_3dfit_primitives_object_model_3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3dFitPrimitivesObjectModel3d).

'primitive_box'"primitive_box""primitive_box""primitive_box""primitive_box":

Dieser Wert legt fest, dass das Attribut mit einem 3D-Primitiv "Quader" kopiert wird.

'shape_based_matching_3d_data'"shape_based_matching_3d_data""shape_based_matching_3d_data""shape_based_matching_3d_data""shape_based_matching_3d_data":

Dieser Wert legt fest, dass das Attribut mit dem vorbereiteten 3D-Formmodell für das formbasierte 3D-Matching kopiert wird.

'distance_computation_data'"distance_computation_data""distance_computation_data""distance_computation_data""distance_computation_data":

Dieser Wert legt fest, dass das Attribut mit der Datenstruktur für die 3D Distanzberechnung kopiert wird. Diese Datenstruktur kann mit prepare_object_model_3dprepare_object_model_3dPrepareObjectModel3dPrepareObjectModel3dPrepareObjectModel3d erstellt und mit distance_object_model_3ddistance_object_model_3dDistanceObjectModel3dDistanceObjectModel3dDistanceObjectModel3d 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.

'surface_based_matching_data'"surface_based_matching_data""surface_based_matching_data""surface_based_matching_data""surface_based_matching_data":

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.

'segmentation_data'"segmentation_data""segmentation_data""segmentation_data""segmentation_data":

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.

'score'"score""score""score""score":

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_stereoreconstruct_surface_stereoReconstructSurfaceStereoReconstructSurfaceStereoReconstructSurfaceStereo berechnet.

'red'"red""red""red""red":

Dieser Wert legt fest, dass die Daten für den roten Kanal und das Attribut mit den Punktkoordinaten kopiert werden.

'green'"green""green""green""green":

Dieser Wert legt fest, dass die Daten für den grünen Kanal und das Attribut mit den Punktkoordinaten kopiert werden.

'blue'"blue""blue""blue""blue":

Dieser Wert legt fest, dass die Daten für den blauen Kanal und das Attribut mit den Punktkoordinaten kopiert werden.

'original_point_indices'"original_point_indices""original_point_indices""original_point_indices""original_point_indices":

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_3dtriangulate_object_model_3dTriangulateObjectModel3dTriangulateObjectModel3dTriangulateObjectModel3d generiert werden.

'all'"all""all""all""all":

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.

Ausführungsinformationen

Parameter

ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D (input_control)  object_model_3d HObjectModel3D, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des 3D-Objektmodells.

AttributesAttributesAttributesAttributesattributes (input_control)  string(-array) HTupleHTupleHtuple (string / real / integer) (string / double / int / long) (HString / double / Hlong) (char* / double / Hlong)

Zu kopierende Attribute.

Defaultwert: 'all' "all" "all" "all" "all"

Werteliste: 'all'"all""all""all""all", 'blue'"blue""blue""blue""blue", 'distance_computation_data'"distance_computation_data""distance_computation_data""distance_computation_data""distance_computation_data", 'extended_attribute'"extended_attribute""extended_attribute""extended_attribute""extended_attribute", 'green'"green""green""green""green", 'original_point_indices'"original_point_indices""original_point_indices""original_point_indices""original_point_indices", 'point_coord'"point_coord""point_coord""point_coord""point_coord", 'point_normal'"point_normal""point_normal""point_normal""point_normal", 'polygons'"polygons""polygons""polygons""polygons", 'primitive_box'"primitive_box""primitive_box""primitive_box""primitive_box", 'primitive_cylinder'"primitive_cylinder""primitive_cylinder""primitive_cylinder""primitive_cylinder", 'primitive_plane'"primitive_plane""primitive_plane""primitive_plane""primitive_plane", 'primitive_sphere'"primitive_sphere""primitive_sphere""primitive_sphere""primitive_sphere", 'primitives_all'"primitives_all""primitives_all""primitives_all""primitives_all", 'red'"red""red""red""red", 'score'"score""score""score""score", 'segmentation_data'"segmentation_data""segmentation_data""segmentation_data""segmentation_data", 'shape_based_matching_3d_data'"shape_based_matching_3d_data""shape_based_matching_3d_data""shape_based_matching_3d_data""shape_based_matching_3d_data", 'surface_based_matching_data'"surface_based_matching_data""surface_based_matching_data""surface_based_matching_data""surface_based_matching_data", 'triangles'"triangles""triangles""triangles""triangles", 'xyz_mapping'"xyz_mapping""xyz_mapping""xyz_mapping""xyz_mapping"

CopiedObjectModel3DCopiedObjectModel3DCopiedObjectModel3DCopiedObjectModel3DcopiedObjectModel3D (output_control)  object_model_3d HObjectModel3D, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Handle des kopierten 3D-Objektmodells.

Ergebnis

copy_object_model_3dcopy_object_model_3dCopyObjectModel3dCopyObjectModel3dCopyObjectModel3d liefert den Wert 2 (H_MSG_TRUE), falls die Parameter korrekt sind. Gegebenenfalls wird eine Fehlerbehandlung durchgeführt.

Vorgänger

read_object_model_3dread_object_model_3dReadObjectModel3dReadObjectModel3dReadObjectModel3d, xyz_to_object_model_3dxyz_to_object_model_3dXyzToObjectModel3dXyzToObjectModel3dXyzToObjectModel3d

Nachfolger

get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParamsGetObjectModel3dParams

Siehe auch

remove_object_model_3d_attribremove_object_model_3d_attribRemoveObjectModel3dAttribRemoveObjectModel3dAttribRemoveObjectModel3dAttrib, set_object_model_3d_attribset_object_model_3d_attribSetObjectModel3dAttribSetObjectModel3dAttribSetObjectModel3dAttrib

Modul

3D Metrology