![]() |
Enzo
|
Containers for geometry data. More...
#include <Attribute.h>
Public Member Functions | |
Attribute (std::string name, ga::AttributeType type) | |
Construct a new attribute and initialize its typed storage. | |
Attribute (const Attribute &other) | |
AttributeType | getType () const |
Returns the attribute type this attribute stores. | |
std::string | getName () const |
Returns the name of this attribute. | |
unsigned int | getTypeSize () const |
Returns the number of components in the type (eg. StringT is 1, vectorT is 3). | |
void | resize (size_t size) |
Changes the number of elements stored. | |
Friends | |
template<typename T > | |
class | AttributeHandle |
template<typename T > | |
class | AttributeHandleRO |
Containers for geometry data.
Attributes are the containers for geometry data in the engine. Each attribute is a single column in the spreadsheet that makes up your geometry. The column has a single name and type. Based on the attribute owner it will also have a value for each element. For example, if the owner is a point then your attribute might be Color, your type might be a vector, and the attribute will have a color value for each point in the mesh. Attributes own the underlying storage for their values, which is contiguous and strongly typed (e.g., ints, floats, vectors, bools). This allows a single attribute class to store data regardless of the type without templates. Attributes cannot be read or written from by themselves. For that an attribute handle is required, (see enzo::ga::AttributeHandle).
ga::Attribute::Attribute | ( | std::string | name, |
ga::AttributeType | type ) |
Construct a new attribute and initialize its typed storage.
name | Human-readable identifier, spaces are not permitted (unique within a collection/scope). |
type | Attribute data type that values will be stored in. |