Skip to content

set_object_model_3d_attrib_modSetObjectModel3dAttribModSetObjectModel3dAttribModset_object_model_3d_attrib_modT_set_object_model_3d_attrib_mod🔗

Short description🔗

set_object_model_3d_attrib_modSetObjectModel3dAttribModSetObjectModel3dAttribModset_object_model_3d_attrib_modT_set_object_model_3d_attrib_mod — Set attributes of a 3D object model.

Signature🔗

set_object_model_3d_attrib_mod( object_model_3d ObjectModel3D, string AttribName, string AttachExtAttribTo, real AttribValues )void SetObjectModel3dAttribMod( const HTuple& ObjectModel3D, const HTuple& AttribName, const HTuple& AttachExtAttribTo, const HTuple& AttribValues )static void HOperatorSet.SetObjectModel3dAttribMod( HTuple objectModel3D, HTuple attribName, HTuple attachExtAttribTo, HTuple attribValues )def set_object_model_3d_attrib_mod( object_model_3d: HHandle, attrib_name: MaybeSequence[str], attach_ext_attrib_to: str, attrib_values: MaybeSequence[Union[float, int]] ) -> None

Herror T_set_object_model_3d_attrib_mod( const Htuple ObjectModel3D, const Htuple AttribName, const Htuple AttachExtAttribTo, const Htuple AttribValues )

void HObjectModel3D::SetObjectModel3dAttribMod( const HTuple& AttribName, const HString& AttachExtAttribTo, const HTuple& AttribValues ) const

void HObjectModel3D::SetObjectModel3dAttribMod( const HString& AttribName, const HString& AttachExtAttribTo, double AttribValues ) const

void HObjectModel3D::SetObjectModel3dAttribMod( const char* AttribName, const char* AttachExtAttribTo, double AttribValues ) const

void HObjectModel3D::SetObjectModel3dAttribMod( const wchar_t* AttribName, const wchar_t* AttachExtAttribTo, double AttribValues ) const (Windows only)

void HObjectModel3D.SetObjectModel3dAttribMod( HTuple attribName, string attachExtAttribTo, HTuple attribValues )

void HObjectModel3D.SetObjectModel3dAttribMod( string attribName, string attachExtAttribTo, double attribValues )

Description🔗

set_object_model_3d_attrib_modSetObjectModel3dAttribMod sets the standard attributes or the extended attributes given in AttribNameattribNameattrib_name of a 3D object model ObjectModel3DobjectModel3Dobject_model_3d to the values in AttribValuesattribValuesattrib_values. set_object_model_3d_attrib_modSetObjectModel3dAttribMod is identical to set_object_model_3d_attribSetObjectModel3dAttrib, with the exception that it does not create a new 3D object model but modifies the given one. It is possible to attach the values of extended attributes to already existing standard attributes of the 3D object model by setting the parameter AttachExtAttribToattachExtAttribToattach_ext_attrib_to. For standard attributes, AttachExtAttribToattachExtAttribToattach_ext_attrib_to is ignored.

If the attributes in AttribNameattribNameattrib_name do not exist, they are created if possible. If already existing attributes are set, the length of AttribValuesattribValuesattrib_values must match the existing attribute values. In this case the existing attribute values are replaced. If extended attributes are attached to already existing standard attributes with AttachExtAttribToattachExtAttribToattach_ext_attrib_to, the length of AttribValuesattribValuesattrib_values must match the existing attribute values.

For a detailed description see operator set_object_model_3d_attribSetObjectModel3dAttrib.

Attention🔗

If multiple attributes are given in AttribNameattribNameattrib_name, AttribValuesattribValuesattrib_values is divided into sub-tuples of equal length. Each sub-tuple is then assigned to one attribute. E.g., if AttribNameattribNameattrib_name and AttribValuesattribValuesattrib_values are set to

AttribNameattribNameattrib_name := ['&attrib1', '&attrib2', '&attrib3']["&attrib1", "&attrib2", "&attrib3"],

AttribValuesattribValuesattrib_values := [0.0, 1.0, 2.0, 3.0, 4.0, 5.0][0.0, 1.0, 2.0, 3.0, 4.0, 5.0],

the following values are assigned to the individual attributes:

'&attrib1'"&attrib1" = [0.0, 1.0][0.0, 1.0], '&attrib2'"&attrib2" = [2.0, 3.0][2.0, 3.0], '&attrib3'"&attrib3" = [4.0, 5.0][4.0, 5.0].

Consequently, it is not possible to set multiple attributes of different lengths in one call.

set_object_model_3d_attrib_modSetObjectModel3dAttribMod modifies the content of an already existing 3D object model. The operator stores the input AttribValuesattribValuesattrib_values unmodified in the 3D object model. Therefore, special attention must be paid to the consistency of the input data, as most of the operators expect consistent 3D object models.

Execution information🔗

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Processed without parallelization.

Parameters🔗

ObjectModel3DobjectModel3Dobject_model_3d (input_control) object_model_3d → (handle)HTuple (HHandle)HObjectModel3D, HTuple (IntPtr)HHandleHtuple (handle)

Handle of the 3D object model.

AttribNameattribNameattrib_name (input_control) string(-array) → (string)HTuple (HString)HTuple (string)MaybeSequence[str]Htuple (char*)

Name of the attributes.

List of values: 'blue', 'green', 'lines', 'original_point_indices', 'point_coord_x', 'point_coord_y', 'point_coord_z', 'point_normal_x', 'point_normal_y', 'point_normal_z', 'polygons', 'red', 'score', 'triangles', 'xyz_mapping'"blue", "green", "lines", "original_point_indices", "point_coord_x", "point_coord_y", "point_coord_z", "point_normal_x", "point_normal_y", "point_normal_z", "polygons", "red", "score", "triangles", "xyz_mapping"

AttachExtAttribToattachExtAttribToattach_ext_attrib_to (input_control) string → (string)HTuple (HString)HTuple (string)strHtuple (char*)

Defines where extended attributes are attached to.

Default: [][]
List of values: [], 'lines', 'object', 'points', 'polygons', 'triangles'[], "lines", "object", "points", "polygons", "triangles"

AttribValuesattribValuesattrib_values (input_control) real(-array) → (real / integer)HTuple (double / Hlong)HTuple (double / int / long)MaybeSequence[Union[float, int]]Htuple (double / Hlong)

Attribute values.

Result🔗

If the parameters are valid, the operator set_object_model_3d_attrib_modSetObjectModel3dAttribMod returns the value 2 (H_MSG_TRUE). If necessary, an exception is raised.

Combinations with other operators🔗

Combinations

Possible predecessors

gen_empty_object_model_3dGenEmptyObjectModel3d

Possible successors

get_object_model_3d_paramsGetObjectModel3dParams

Alternatives

set_object_model_3d_attribSetObjectModel3dAttrib

See also

copy_object_model_3dCopyObjectModel3d, remove_object_model_3d_attrib_modRemoveObjectModel3dAttribMod

Module🔗

3D Metrology