HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
HAPI_AttributeInfo Struct Reference

#include <HAPI_Common.h>

Public Attributes

HAPI_Bool exists
 
HAPI_AttributeOwner owner
 
HAPI_StorageType storage
 
HAPI_AttributeOwner originalOwner
 
int count
 
int tupleSize
 
HAPI_Int64 totalArrayElements
 
HAPI_AttributeTypeInfo typeInfo
 

Detailed Description

Meta-data describing an attribute See HAPI_Attributes.

Definition at line 1689 of file HAPI_Common.h.

Member Data Documentation

int HAPI_AttributeInfo::count

Number of attributes. This count will match the number of values given the owner. For example, if the owner is HAPI_ATTROWNER_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.

Definition at line 1714 of file HAPI_Common.h.

HAPI_Bool HAPI_AttributeInfo::exists

Definition at line 1691 of file HAPI_Common.h.

HAPI_AttributeOwner HAPI_AttributeInfo::originalOwner

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_ATTROWNER_VERTEX but the HAPI_AttributeInfo::originalOwner will be HAPI_ATTROWNER_POINT.

Definition at line 1705 of file HAPI_Common.h.

HAPI_AttributeOwner HAPI_AttributeInfo::owner

Definition at line 1693 of file HAPI_Common.h.

HAPI_StorageType HAPI_AttributeInfo::storage

Definition at line 1694 of file HAPI_Common.h.

HAPI_Int64 HAPI_AttributeInfo::totalArrayElements

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.

Definition at line 1731 of file HAPI_Common.h.

int HAPI_AttributeInfo::tupleSize

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.

Definition at line 1721 of file HAPI_Common.h.

HAPI_AttributeTypeInfo HAPI_AttributeInfo::typeInfo

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.

Definition at line 1737 of file HAPI_Common.h.


The documentation for this struct was generated from the following file: