HDK
|
Attribute type implementation to store blind data per element. More...
#include <GA_ATIBlindData.h>
Static Public Member Functions | |
static void | registerType () |
static SYS_FORCE_INLINE const UT_StringHolder & | getTypeName () |
static SYS_FORCE_INLINE const GA_AttributeType & | getType () |
static SYS_FORCE_INLINE bool | isType (const GA_Attribute *attrib) |
static SYS_FORCE_INLINE GA_ATIBlindData * | cast (GA_Attribute *attrib) |
static SYS_FORCE_INLINE const GA_ATIBlindData * | cast (const GA_Attribute *attrib) |
static GA_Attribute * | create (const GA_IndexMap &index_map, GA_AttributeScope scope, const UT_StringHolder &name, GA_Size bytes=-1, GA_Size align=-1, const GA_AttributeOptions *attribute_options=NULL) |
![]() | |
static bool | jsonLoadDefinition (UT_JSONParser &p, GA_AttributeScope &scope, UT_WorkBuffer &type, UT_WorkBuffer &name, int64 &version, GA_AttributeOptions &options) |
Load the GA_Attribute-Definition section. More... | |
static GA_DataId | nextDataId () |
Protected Member Functions | |
GA_Attribute * | doClone (const GA_IndexMap &index_map, const UT_StringHolder &name) const override |
Create a new attribute of this type. More... | |
void | reconstructElementBlock (GA_Offset offset, GA_Offset nelements) override |
Re-initialize data for a deleted element. More... | |
![]() | |
int64 | getBaseMemoryUsage () const |
void | setDetached (bool detached) |
Only called by GA_AttributeSet and GA_ElementGroup. More... | |
Additional Inherited Members | |
![]() | |
enum | WriteConcurrence { WRITE_CONCURRENCE_NONE, WRITE_CONCURRENCE_PAGE, WRITE_CONCURRENCE_ELEMENT } |
enum | AttribFlag { FLAG_TAIL_INITIALIZE = 1, FLAG_STREAM_ACTIVE = 2, FLAG_STREAM_NOPREEXIST = 4 } |
![]() | |
static bool | checkGlobalOverwrite (const GA_MergeMap &map, const GA_Attribute *attrib) |
Attribute type implementation to store blind data per element.
This attribute type allocates a chunk of data per element (point, vertex or detail). The data is typeless. Users can write any data to this
Creation options may contain: "blinddata:size" - The initial size of the attribute (default 0) "blinddata:align" - The initial alignment (default sizeof(void *)) "blinddata:copy" - Copy data from element to element (default false)
Definition at line 53 of file GA_ATIBlindData.h.
GA_ATIBlindData::GA_ATIBlindData | ( | const GA_AttributeType & | type, |
const GA_IndexMap & | index_map, | ||
GA_AttributeScope | scope, | ||
const UT_StringHolder & | name, | ||
GA_Size | size, | ||
GA_Size | align, | ||
bool | copy_flag, | ||
bool | little_endian | ||
) |
Create blind data attribute.
|
override |
|
inlinestatic |
Definition at line 69 of file GA_ATIBlindData.h.
|
inlinestatic |
Definition at line 76 of file GA_ATIBlindData.h.
|
inlineoverridevirtual |
In the case that we're copying from an attribute whose storage type matches this exactly, this function copies the metadata not associated with the storage, e.g. myOptions, excluding the name and the data ID.
Reimplemented from GA_Attribute.
Definition at line 211 of file GA_ATIBlindData.h.
|
overridevirtual |
Count memory usage using a UT_MemoryCounter in order to count shared memory correctly. If inclusive is true, the size of this object is counted, else only memory owned by this object is counted. If this is pointed to by the calling object, inclusive should be true. If this is contained in the calling object, inclusive should be false. (Its memory was already counted in the size of the calling object.)
NOTE: If you're implementing this in a direct subclass of GA_Attribute, call getBaseMemoryUsage() to get the amount of memory in the base class. If in a more distant descendant class, call Base::countMemory(counter, false) to count the memory in Base and above, excluding sizeof(Base).
Implements GA_Attribute.
|
static |
|
overridevirtual |
Interface for defragmentation
Implements GA_Attribute.
|
overrideprotectedvirtual |
Create a new attribute of this type.
Reimplemented from GA_Attribute.
|
inlineoverridevirtual |
Return the attribute's blind data interface or NULL.
Reimplemented from GA_Attribute.
Definition at line 116 of file GA_ATIBlindData.h.
|
inlineoverridevirtual |
Return the attribute's comparison interface or NULL.
Reimplemented from GA_Attribute.
Definition at line 128 of file GA_ATIBlindData.h.
|
inlineoverridevirtual |
Return the attribute's copy interface or NULL.
Reimplemented from GA_Attribute.
Definition at line 118 of file GA_ATIBlindData.h.
|
inline |
Definition at line 124 of file GA_ATIBlindData.h.
|
inlineoverridevirtual |
Reimplemented from GA_Attribute.
Definition at line 174 of file GA_ATIBlindData.h.
|
overridevirtual |
Return the attribute's merge interface or NULL.
Reimplemented from GA_Attribute.
|
inlineoverridevirtual |
Return the attribute's stat interface. Unlike other interfaces, this method has default behaviour.
Reimplemented from GA_Attribute.
Definition at line 114 of file GA_ATIBlindData.h.
|
overridevirtual |
Report memory usage.
Implements GA_Attribute.
Get read-only access to the data for the specified offset.
|
inlineoverridevirtual |
Supports concurrent writes to separate elements.
Implements GA_Attribute.
Definition at line 111 of file GA_ATIBlindData.h.
|
inlinestatic |
Definition at line 61 of file GA_ATIBlindData.h.
|
inlinestatic |
Definition at line 58 of file GA_ATIBlindData.h.
Get read-write access to the data for the specified offset.
|
inlineoverridevirtual |
Hardening data pages is not applicable to blind data, so this does nothing.
Implements GA_Attribute.
Definition at line 186 of file GA_ATIBlindData.h.
|
inlinestatic |
Definition at line 64 of file GA_ATIBlindData.h.
|
inlineoverridevirtual |
Returns true iff that is an attribute whose content can be copied from this without any type conversions. This is important to avoid reallocation of an attribute if its storage type, including tuple size, matches the source attribute exactly.
Reimplemented from GA_Attribute.
Definition at line 194 of file GA_ATIBlindData.h.
|
overrideprotectedvirtual |
Re-initialize data for a deleted element.
Implements GA_Attribute.
|
static |
|
overridevirtual |
This replaces the entirety of this attribute's content and non- storage metadata (except the name) with that of the src attribute. The matchesStorage(src) should already return true. This is primarily for use by GA_AttributeSet::replace(). NOTE: The internal content sizes may not match exactly if the attribute type may overallocate, but the sizes should be such that any real data will fit in the destination, so be careful and deal with the myTailInitialize flag appropriately if any extra elements aren't equal to the default.
Implements GA_Attribute.
|
overridevirtual |
Grow data.
Implements GA_Attribute.
|
inlineoverridevirtual |
Compressing data pages is not applicable to blind data, so this does nothing.
Implements GA_Attribute.
Definition at line 181 of file GA_ATIBlindData.h.