Base class for BlobTree attributes. More...
Inherited by jbt_colour and jbt_scalar.
When sub classing this class to create a new attribute type, you must overload jbt_attribute::type(), jbt_attribute::add() jbt_attribute::reset(). You must also supply a constructor that intializes the data in the attribute to 0, whatever that may be. For instance for a jbt_colour attribute initialization to 0 means that the colour starts as black, and during a query we end up with black + c0*clr0 + c1*clr1 + ...
[virtual]
[virtual]This function must be called between successive uses in querying a BlobTree. This function should zero out the data and then call the base class reset.
Reimplemented in jbt_scalar and jbt_colour.
[virtual]Returns the type of the jbt_attribute. This number must be unique for all attribute types used in a BlobTree. If two different types use the same identifier your program will likely crash.
Reimplemented in jbt_scalar and jbt_colour.
Returns true if there is any data in the attribute. When querying an BlobTree for an attribute, you call jbt_blobtree::attribute() and pass a default attribute of the type that you are interested. If the query fails (ie. the attribute is not defined on the surface at the current query point) this function return false.
For internal use only.
For internal use only.
For internal use only.
[protected]
[static]This value is guaranteed to be greater than all built in jbt_attribute derivatives.
[static]
[static]
[static]
[static]
[static]
[static]
[static]
[static]