68 void resize(
const size_t num_elements);
96 return (
float *)
data();
138 return (
const float *)
data();
153 void add(
const float &f);
162 static bool same_storage(
const TypeDesc a,
const TypeDesc
b);
176 uint32_t modified_flag;
202 void remove(list<Attribute>::iterator it);
204 void resize(
bool reserve_only =
false);
205 void clear(
bool preserve_voxel_data =
false);
222 void tag_modified(
const Attribute &attr);
BMesh const char void * data
ATTR_WARN_UNUSED_RESULT const void * element
vector< AttributeRequest > requests
bool modified(const AttributeRequestSet &other)
void add_standard(ustring name)
AttributeRequest(ustring name_)
void update(AttributeSet &&new_attributes)
AttributeSet(AttributeSet &&)=default
Attribute & copy(const Attribute &attr)
list< Attribute > attributes
Attribute * find(ustring name) const
Attribute * find_matching(const Attribute &other)
bool modified(AttrKernelDataType kernel_type) const
Attribute * add(ustring name, const TypeDesc type, AttributeElement element)
void remove(ustring name)
AttributeSet(Geometry *geometry, AttributePrimitive prim)
void resize(bool reserve_only=false)
void clear(bool preserve_voxel_data=false)
#define CCL_NAMESPACE_END
#define assert(assertion)
ccl_gpu_kernel_postfix ccl_global KernelWorkTile * tiles
Attribute(ustring name, const TypeDesc type, AttributeElement element, Geometry *geom, AttributePrimitive prim)
void set(ustring name, const TypeDesc type, AttributeElement element)
static AttrKernelDataType kernel_type(const Attribute &attr)
static AttributeStandard name_standard(const char *name)
const ImageHandle & data_voxel() const
Attribute(const Attribute &other)=delete
const float4 * data_float4() const
void resize(Geometry *geom, AttributePrimitive prim, bool reserve_only)
size_t element_size(Geometry *geom, AttributePrimitive prim) const
void get_uv_tiles(Geometry *geom, AttributePrimitive prim, unordered_set< int > &tiles) const
const float3 * data_float3() const
const float2 * data_float2() const
void set_data_from(Attribute &&other)
const float * data_float() const
Attribute & operator=(const Attribute &other)=delete
void zero_data(void *dst)
static const char * standard_name(AttributeStandard std)
Attribute(Attribute &&other)=default
const Transform * data_transform() const
const char * data() const
size_t buffer_size(Geometry *geom, AttributePrimitive prim) const
ImageHandle & data_voxel()
size_t data_sizeof() const
static bool same_storage(const TypeDesc a, const TypeDesc b)
Transform * data_transform()