Meta-data describing an attribute See hapi.getAttributeInfo.
Methods ¶
exists
: bool
Property
originalOwner
: hapi.attributeOwner
Property
When converting from the Houdini native GA geometry format to the GT geometry format HAPI uses, some attributes might change owners. For example, in Houdini GA curves can have points shared by vertices but the GT format only supports curve vertices (no points). This means that if you had point attributes on a curve in Houdini, when it comes out of HAPI those point attributes will now be vertex attributes. In this case, the hapi.AttributeInfo.owner will be set to hapi.attributeOwner.Vertex but the hapi.AttributeInfo.originalOwner will be hapi.attributeOwner.Point.
count
: int
Property
Number of attributes. This count will match the number of values given the owner. For example, if the owner is hapi.attributeOwner.Vertex this count will be the same as the hapi.PartInfo.vertexCount. To be clear, this is not the number of values in the attribute, rather it is the number of attributes. If your geometry has three 3D points then this count will be 3 (not 3*3) while the hapi.AttributeInfo.tupleSize will be 3.
tupleSize
: int
Property
Number of values per attribute. Note that this is NOT the memory size of the attribute. It is the number of values per attributes. Multiplying this by the size of the hapi.AttributeInfo.storage will give you the memory size per attribute.
totalArrayElements
: int
Property
Total number of elements for an array attribute. An array attribute can be thought of as a 2 dimensional array where the 2nd dimension can vary in size for each element in the 1st dimension. Therefore this returns the total number of values in the entire array. This should be used to determine the total storage size needed by multiplying with hapi.AttributeInfo.storage. Note that this will be 0 for a non-array attribute.
typeInfo
: hapi.attributeTypeInfo
Property
Attribute type info This is used to help identify the type of data stored in an attribute. Using the type is recommended over using just an attribute’s name to identify its purpose.