Если вы заранее знаете класс атрибута, в который хотите записать значение, использование setdetailattrib, setprimattrib, setpointattrib или setvertexattrib может быть быстрее.
int setattrib(int geohandle, string attribclass, string attribute_name, int element_num, int vertex_num, <type>value, string mode="set")
int setattrib(int geohandle, string attribclass, string attribute_name, int element_num, int vertex_num, <type>value[], string mode="set")
geohandle
Идентификатор геометрии для записи. В настоящее время единственным допустимым значением является 0
или geoself, что означает текущую геометрию в ноде. Этот аргумент может использоваться в будущем, чтобы разрешить запись в другие геометрии.
attribclass
Один из "detail"
(или "global"
), "point"
, "prim"
, или "vertex"
.
Вы также можете использовать "primgroup"
, "pointgroup"
или "vertexgroup"
для чтения из групп.
attribute_name
Имя атрибута для изменения.
element_num
Номер точки или примитива для изменения атрибута.
Для атрибутов класса detail установите 0
в данный аргумент (для класса detail данный аргумент игнорируется).
Для атрибутов класса vertex это номер примитива, к которому относится вершина.
vertex_num
Для атрибутов класса vertex это номер вершины в примитиве, указанном в element_num
.
Чтобы использовать линейный индекс вершины, установите -1
в element_num
и используйте здесь линейный индекс вершины.
Для атрибутов класса detail, primitive или point установите 0
в данный аргумент (в этих классах данный аргумент игнорируется).
value
Значение для записи в атрибут. Если тип данного аргумента несовместим с типом атрибута, запись завершится неудачно и функция вернет -1
.
mode
(Необязательно) Если задан, определяет, как функция изменяет любое существующее значение в атрибуте.
|
Перезаписать существующее значение заданным. |
|
Сложить заданное значение и существующее. |
|
Записать минимальное из заданного значения и существующего. |
|
Записать максимальное из заданного значения и существующего. |
|
Перемножить заданное значение и существующее. Для матриц - матричное умножение. Для векторов - покомпонентное. |
|
Переключить атрибут независимо от исходного значения. Полезно для включения членства в группе. |
|
Данный режим действителен лишь для атрибутов строки и массива. Добавляет заданное значение в конец существующего. |
Returns
Возвращает значение geohandle
в случае успеха и -1
при неудаче.
Note
Если атрибут не существует, эта функция создаст атрибут со значением по умолчанию равным нулю, пустой строке или пустому массиву. Если же вы хотите контролировать значение по умолчанию для числового атрибута, используйте функцию addattrib перед записью атрибута.
See also | |
attrib |
|