#include <shader_map.h>
Public Member Functions | |
virtual void | release () const =0 |
deletes the object. | |
virtual Map_status | reset () const =0 |
resets itself to point to the first element. | |
virtual Map_status | set_to (const miUint index) const =0 |
moves to the desired element. | |
virtual Map_status | next () const =0 |
moves to the next element. | |
virtual Map_status | previous () const =0 |
moves to the previous element. | |
virtual Map_status | skip (const miUint amount) const =0 |
skips the desired number of elements. | |
virtual bool | at_end (Map_status *status=0) const =0 |
returns true if it's beyond the end. | |
virtual miUint | current (Map_status *status=0) const =0 |
returns the index of the element it points to. | |
virtual Map_status | get (Map_element &element) const =0 |
returns a copy of the current element. | |
virtual Map_status | get_position (float *position) const =0 |
retrieves the position of the current element. | |
virtual Map_status | get_position (miVector &position) const =0 |
retrieves the position of the current element, 3D case. | |
virtual Map_status | get (const Map_field_id field_id, float &value) const =0 |
retrieves the value of the desired field of the current element. | |
virtual Map_status | get (const Map_field_id field_id, int &value) const =0 |
retrieves the value of the desired field of the current element. | |
virtual Map_status | get (const Map_field_id field_id, miVector &value) const =0 |
retrieves the value of the desired field of the current element. | |
virtual Map_status | get (const Map_field_id field_id, miColor &value) const =0 |
retrieves the value of the desired field of the current element. | |
virtual Map_status | get (const Map_field_id field_id, miMatrix *value) const =0 |
retrieves the value of the desired field of the current element. NOTE: 'value' is a pointer to a miMatrix. | |
virtual Map_status | get (const Map_field_id field_id, float *value) const =0 |
retrieves the value of the desired field of the current element. | |
virtual Map_status | get (const Map_field_id field_id, int *value) const =0 |
retrieves the value of the desired field of the current element. | |
virtual Map_status | set (const Map_element &element)=0 |
sets the current element. | |
virtual Map_status | set_position (const float *position)=0 |
sets the position of the current element. | |
virtual Map_status | set_position (const miVector &position)=0 |
sets the position of the current element, 3D case. | |
virtual Map_status | set (const Map_field_id field_id, const float value)=0 |
sets the value of the desired field of the current element. | |
virtual Map_status | set (const Map_field_id field_id, const int value)=0 |
sets the value of the desired field of the current element. | |
virtual Map_status | set (const Map_field_id field_id, const miVector &value)=0 |
sets the value of the desired field of the current element. | |
virtual Map_status | set (const Map_field_id field_id, const miColor &value)=0 |
sets the value of the desired field of the current element. | |
virtual Map_status | set (const Map_field_id field_id, const miMatrix *value)=0 |
sets the value of the desired field of the current element. NOTE: 'value' is a pointer to a miMatrix. | |
virtual Map_status | set (const Map_field_id field_id, const float *value)=0 |
sets the value of the desired field of the current element. | |
virtual Map_status | set (const Map_field_id field_id, const int *value)=0 |
sets the value of the desired field of the current element. |
The Map_iterator_base class is an interface class which provides access to the elements of the map without having to copy them first. The constness of its methods refers actually to the constness of the map it's attached to, not to the constness of the iterator itself: for instance, the 'set' methods are non-const because they change the map, even if they don't change the iterator state; conversely, the 'reset' method is const even if it does change the state of the iterator, but the map itself is untouched. There are two wrapper classes which provide a convenient way to manage this class: the Access_map_iterator class (iterator with read-only access to a map) and the Edit_map_iterator class (iterator with read-write access to a map). For example, a shader might attach a map iterator to a map and use it in the following way:
// 'map' is a Access_map. 'it' is attached to the map, and it points // to the first element of the map Access_map_iterator it (map); for ( ; !it->at_end() ; it->next() ) { ... }
|
returns true if it's beyond the end.
|
|
returns the index of the element it points to.
|
|
retrieves the value of the desired field of the current element.
|
|
retrieves the value of the desired field of the current element.
|
|
retrieves the value of the desired field of the current element. NOTE: 'value' is a pointer to a miMatrix.
|
|
retrieves the value of the desired field of the current element.
|
|
retrieves the value of the desired field of the current element.
|
|
retrieves the value of the desired field of the current element.
|
|
retrieves the value of the desired field of the current element.
|
|
returns a copy of the current element.
|
|
retrieves the position of the current element, 3D case.
|
|
retrieves the position of the current element.
|
|
moves to the next element.
|
|
moves to the previous element.
|
|
resets itself to point to the first element.
|
|
sets the value of the desired field of the current element.
|
|
sets the value of the desired field of the current element.
|
|
sets the value of the desired field of the current element. NOTE: 'value' is a pointer to a miMatrix.
|
|
sets the value of the desired field of the current element.
|
|
sets the value of the desired field of the current element.
|
|
sets the value of the desired field of the current element.
|
|
sets the value of the desired field of the current element.
|
|
sets the current element.
|
|
sets the position of the current element, 3D case.
|
|
sets the position of the current element.
|
|
moves to the desired element.
|
|
skips the desired number of elements.
|
Copyright © 1986-2009 by
mental images GmbH