#include <shader_map.h>
Public Member Functions | |
virtual void | release () const =0 |
deletes the object. | |
virtual miUint | size () const =0 |
returns the number of fields (excluding the position). | |
virtual bool | is_empty () const =0 |
returns true if the declaration is empty, excluding the position (which is always there). | |
virtual miUint | get_dimension () const =0 |
returns the dimension of the position. | |
virtual bool | is_equivalent (const Map_declaration &other, Map_status *status=0) const =0 |
returns true if the declaration is equivalent to the given one, that is same field types and in the same order, though names can be different. | |
virtual bool | matches (const Map_declaration &other, Map_status *status=0) const =0 |
returns true if the declaration matches exactly the given one, that is same field types, in the same order and with the same names. | |
virtual bool | has_field (const char *name, Map_status *status=0) const =0 |
returns true if the declaration has a field with the given name. | |
virtual Map_status | add (const char *name, const Map_field_type type, const miUint dim=0)=0 |
adds a field with the given name, type and (possible) dimension (ignored in case of non-array types). | |
virtual Map_status | add_scalar (const char *name)=0 |
adds a scalar field with the given name. | |
virtual Map_status | add_integer (const char *name)=0 |
adds an integer field with the given name. | |
virtual Map_status | add_vector (const char *name)=0 |
adds a vector field with the given name. | |
virtual Map_status | add_color (const char *name)=0 |
adds a color field with the given name. | |
virtual Map_status | add_transform (const char *name)=0 |
adds a transform field with the given name. | |
virtual Map_status | add_scalar_array (const char *name, const miUint dim)=0 |
adds a scalar array field with the given name. | |
virtual Map_status | add_integer_array (const char *name, const miUint dim)=0 |
adds an integer array field with the given name. | |
virtual const char * | get_field_name (const Map_field_id field_id, Map_status *status=0) const =0 |
returns the name of the desired field. | |
virtual Map_field_id | get_field_id (const char *field_name, Map_status *status=0) const =0 |
returns the id of the field with the given name. | |
virtual Map_status | get_field_type_dim (const Map_field_id field_id, Map_field_type &field_type, miUint &field_dimension) const =0 |
returns the type and the dimension of the desired field. | |
virtual Map_status | get_field_type_dim (const char *field_name, Map_field_type &field_type, miUint &field_dimension) const =0 |
returns the type and the dimension of the desired field. |
The Map_declaration_base class is an interface class which provides ways to add/query map field names and ids in a map declaration. There is a wrapper class which provides a convenient way to manage this class, which is the Map_declaration class. For example, a shader might create and use a map declaration in the following way:
// declaration of a 3-dimensional map Map_declaration declaration (3); declaration->add_color ("color"); declaration->add_scalar ("intensity"); ... // creates a map which has the declaration just built Edit_map map (declaration); ...
|
adds a field with the given name, type and (possible) dimension (ignored in case of non-array types).
|
|
adds a color field with the given name.
|
|
adds an integer field with the given name.
|
|
adds an integer array field with the given name.
|
|
adds a scalar field with the given name.
|
|
adds a scalar array field with the given name.
|
|
adds a transform field with the given name.
|
|
adds a vector field with the given name.
|
|
returns the dimension of the position.
|
|
returns the id of the field with the given name.
|
|
returns the name of the desired field.
|
|
returns the type and the dimension of the desired field.
|
|
returns the type and the dimension of the desired field.
|
|
returns true if the declaration has a field with the given name.
|
|
returns true if the declaration is empty, excluding the position (which is always there).
|
|
returns true if the declaration is equivalent to the given one, that is same field types and in the same order, though names can be different.
|
|
returns true if the declaration matches exactly the given one, that is same field types, in the same order and with the same names.
|
|
returns the number of fields (excluding the position).
|
Copyright © 1986-2009 by
mental images GmbH