set_object_model_3d_attrib_modT_set_object_model_3d_attrib_modSetObjectModel3dAttribModSetObjectModel3dAttribMod (Operator)
Name
set_object_model_3d_attrib_modT_set_object_model_3d_attrib_modSetObjectModel3dAttribModSetObjectModel3dAttribMod
— Set attributes of a 3D object model.
Signature
void SetObjectModel3dAttribMod(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)
Description
set_object_model_3d_attrib_modset_object_model_3d_attrib_modSetObjectModel3dAttribModSetObjectModel3dAttribModSetObjectModel3dAttribMod
sets the standard attributes or the
extended attributes given in AttribNameAttribNameAttribNameAttribNameattribName
of a 3D object model
ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D
to the values in AttribValuesAttribValuesAttribValuesAttribValuesattribValues
.
set_object_model_3d_attrib_modset_object_model_3d_attrib_modSetObjectModel3dAttribModSetObjectModel3dAttribModSetObjectModel3dAttribMod
is
identical to set_object_model_3d_attribset_object_model_3d_attribSetObjectModel3dAttribSetObjectModel3dAttribSetObjectModel3dAttrib
, 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 AttachExtAttribToAttachExtAttribToAttachExtAttribToAttachExtAttribToattachExtAttribTo
. For standard attributes,
AttachExtAttribToAttachExtAttribToAttachExtAttribToAttachExtAttribToattachExtAttribTo
is ignored.
If the attributes in AttribNameAttribNameAttribNameAttribNameattribName
do not exist, they are created if
possible.
If already existing attributes are set, the length of AttribValuesAttribValuesAttribValuesAttribValuesattribValues
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 AttachExtAttribToAttachExtAttribToAttachExtAttribToAttachExtAttribToattachExtAttribTo
, the length of AttribValuesAttribValuesAttribValuesAttribValuesattribValues
must match the existing attribute values.
For a detailed description see operator set_object_model_3d_attribset_object_model_3d_attribSetObjectModel3dAttribSetObjectModel3dAttribSetObjectModel3dAttrib
.
Attention
If multiple attributes are given in AttribNameAttribNameAttribNameAttribNameattribName
,
AttribValuesAttribValuesAttribValuesAttribValuesattribValues
is divided into sub-tuples of equal length.
Each sub-tuple is then assigned to one attribute.
E.g., if AttribNameAttribNameAttribNameAttribNameattribName
and AttribValuesAttribValuesAttribValuesAttribValuesattribValues
are set to
AttribNameAttribNameAttribNameAttribNameattribName
:= ['&attrib1','&attrib2','&attrib3']["&attrib1","&attrib2","&attrib3"]["&attrib1","&attrib2","&attrib3"]["&attrib1","&attrib2","&attrib3"]["&attrib1","&attrib2","&attrib3"],
AttribValuesAttribValuesAttribValuesAttribValuesattribValues
:= [0.0,1.0,2.0,3.0,4.0,5.0],
the following values are assigned to the individual attributes:
'&attrib1'"&attrib1""&attrib1""&attrib1""&attrib1" = [0.0,1.0],
'&attrib2'"&attrib2""&attrib2""&attrib2""&attrib2" = [2.0,3.0],
'&attrib3'"&attrib3""&attrib3""&attrib3""&attrib3" = [4.0,5.0].
Consequently,
it is not possible to set multiple attributes of different
lengths in one call.
set_object_model_3d_attrib_modset_object_model_3d_attrib_modSetObjectModel3dAttribModSetObjectModel3dAttribModSetObjectModel3dAttribMod
modifies the content of an
already existing 3D object model. The operator
stores the input AttribValuesAttribValuesAttribValuesAttribValuesattribValues
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
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
ObjectModel3DObjectModel3DObjectModel3DObjectModel3DobjectModel3D
(input_control) object_model_3d →
HObjectModel3D, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Handle of the 3D object model.
AttribNameAttribNameAttribNameAttribNameattribName
(input_control) string(-array) →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Name of the attributes.
List of values: 'blue'"blue""blue""blue""blue", 'green'"green""green""green""green", 'lines'"lines""lines""lines""lines", 'point_coord_x'"point_coord_x""point_coord_x""point_coord_x""point_coord_x", 'point_coord_y'"point_coord_y""point_coord_y""point_coord_y""point_coord_y", 'point_coord_z'"point_coord_z""point_coord_z""point_coord_z""point_coord_z", 'point_normal_x'"point_normal_x""point_normal_x""point_normal_x""point_normal_x", 'point_normal_y'"point_normal_y""point_normal_y""point_normal_y""point_normal_y", 'point_normal_z'"point_normal_z""point_normal_z""point_normal_z""point_normal_z", 'polygons'"polygons""polygons""polygons""polygons", 'red'"red""red""red""red", 'score'"score""score""score""score", 'triangles'"triangles""triangles""triangles""triangles", 'xyz_mapping'"xyz_mapping""xyz_mapping""xyz_mapping""xyz_mapping"
AttachExtAttribToAttachExtAttribToAttachExtAttribToAttachExtAttribToattachExtAttribTo
(input_control) string →
HTupleHTupleHtuple (string) (string) (HString) (char*)
Defines where extended attributes are attached to.
Default value: []
List of values: [], 'lines'"lines""lines""lines""lines", 'object'"object""object""object""object", 'points'"points""points""points""points", 'polygons'"polygons""polygons""polygons""polygons", 'triangles'"triangles""triangles""triangles""triangles"
AttribValuesAttribValuesAttribValuesAttribValuesattribValues
(input_control) real(-array) →
HTupleHTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)
Attribute values.
Result
If the parameters are valid, the operator
set_object_model_3d_attrib_modset_object_model_3d_attrib_modSetObjectModel3dAttribModSetObjectModel3dAttribModSetObjectModel3dAttribMod
returns the value 2 (H_MSG_TRUE).
If necessary, an exception is raised.
Possible Predecessors
gen_empty_object_model_3dgen_empty_object_model_3dGenEmptyObjectModel3dGenEmptyObjectModel3dGenEmptyObjectModel3d
Possible Successors
get_object_model_3d_paramsget_object_model_3d_paramsGetObjectModel3dParamsGetObjectModel3dParamsGetObjectModel3dParams
Alternatives
set_object_model_3d_attribset_object_model_3d_attribSetObjectModel3dAttribSetObjectModel3dAttribSetObjectModel3dAttrib
Module
3D Metrology