Attributes can be set using R3SetAttrs() function. The following code sets two attributes for 'sphere' object:
R3FLOAT newrad = 1.5; R3SetAttrs(sphere, R3RA_Name, "my sphere", R3SPHA_Radius, &newrad, R3TAG_END);
![]() |
Note |
---|---|
All 32 bit types or smaller are passed by value. Bigger types (R3FLOAT, R3VECTOR etc.) are passed by reference! |
R3INT age = 23; R3FLOAT weight = 1.2; R3SetAttrs(sphere, R3FOOA_Age, age, /* 32 bit value, pass by value */ R3FOOA_Weight, &weight, /* 64 bit value, pass by reference */ R3TAG_END);
You can fetch attributes using R3GetAttrs() function. For example, to ask the name and the radius of a sphere:
R3FLOAT rad; char *name; R3GetAttrs(sphere, R3RA_Name, &name, R3SPHA_Radius, &rad, R3TAG_END);
R3RA_Name is defined by the root class (r3root.h), hence the prefix R3RA_ (Root Attribute). The sphere recognizes also this attribute because the root class is one of the super classes of the sphere.