Public Types | Public Member Functions
mi::shader_v3::Map_base Class Reference

Map_base class. More...

#include <shader_map.h>

List of all members.

Public Types

enum  File_format {
  Closed_binary = 0,
  Open_binary,
  Open_ASCII
}
 all the map file formats, used when writing maps to file. More...

Public Member Functions

virtual miUint size () const =0
 returns the number of elements in the map.
virtual bool is_empty () const =0
 returns true if the map is empty.
virtual bool has_declaration () const =0
 returns true if the map has a declaration.
virtual Map_status get (const miUint index, Map_element &map_element) const =0
 gets the copy of an element.
virtual Map_status set (const miUint index, const Map_element &map_element)=0
 sets the desired element in the map.
virtual Map_status append (const Map_element &map_element)=0
 appends the desired element at the end.
virtual Map_status read (const char *file_name, const bool notify=true)=0
 reads a map from a file.
virtual Map_status append_to (const char *file_name, const bool notify=true) const =0
 appends the map to the existing file.
virtual Map_status append_from (const char *file_name, const bool notify=true)=0
 appends the contents of the file to the map.
virtual Map_status write (const char *file_name, const bool notify=true, const File_format file_format=Closed_binary) const =0
 writes the map to file.
virtual Map_status consolidate (const float bvh_quality=0.6f)=0
 takes into account all the appended elements and rebuilds the map BVH
virtual Map_status get (const Map_field_id field_id, float &value) const =0
 retrieves the value of the desired global field.
virtual Map_status get (const Map_field_id field_id, int &value) const =0
 retrieves the value of the desired global field.
virtual Map_status get (const Map_field_id field_id, miVector &value) const =0
 retrieves the value of the desired global field.
virtual Map_status get (const Map_field_id field_id, miColor &value) const =0
 retrieves the value of the desired global field.
virtual Map_status get (const Map_field_id field_id, miMatrix *value) const =0
 retrieves the value of the desired global field.
virtual Map_status get (const Map_field_id field_id, float *value) const =0
 retrieves the value of the desired global field.
virtual Map_status get (const Map_field_id field_id, int *value) const =0
 retrieves the value of the desired global field.
virtual Map_status get (const Map_field_id field_id, char *value) const =0
 retrieves the value of the desired global field.
virtual Map_status set (const Map_field_id field_id, const float value)=0
 sets the value of the desired global field.
virtual Map_status set (const Map_field_id field_id, const int value)=0
 sets the value of the desired global field.
virtual Map_status set (const Map_field_id field_id, const miVector &value)=0
 sets the value of the desired global field.
virtual Map_status set (const Map_field_id field_id, const miColor &value)=0
 sets the value of the desired global field.
virtual Map_status set (const Map_field_id field_id, const miMatrix *value)=0
 sets the value of the desired global field.
virtual Map_status set (const Map_field_id field_id, const float *value)=0
 sets the value of the desired global field.
virtual Map_status set (const Map_field_id field_id, const int *value)=0
 sets the value of the desired global field.
virtual Map_status set (const Map_field_id field_id, const char *value, const int length=-1)=0
 sets the value of the desired global field.

Detailed Description

Map_base class.

The Map_base class is an interface class which provides access to a map, to its elements through the use of get/set methods and to its declaration, and it also provides ways to read/write maps from/to files. There are two wrapper classes which provide a convenient way to manage this class: the Access_map class (read-only access to a map) and the Edit_map class (read-write access to a map). For example, a shader might access and use a map in the following way:

 Access_map map (tag);

 if (!map->is_empty()) { ... }

Member Enumeration Documentation

all the map file formats, used when writing maps to file.

Enumerator:
Closed_binary 

proprietary closed format

Open_binary 

public binary format

Open_ASCII 

public ASCII format


Member Function Documentation

virtual Map_status mi::shader_v3::Map_base::append ( const Map_element map_element) [pure virtual]

appends the desired element at the end.

Parameters:
map_elementis the map element to append
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::append_from ( const char *  file_name,
const bool  notify = true 
) [pure virtual]

appends the contents of the file to the map.

Parameters:
file_nameis the name of the file to read
notifyis a flag, if true then notify messages will be printed
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::append_to ( const char *  file_name,
const bool  notify = true 
) const [pure virtual]

appends the map to the existing file.

Parameters:
file_nameis the name of the file to append to
notifyis a flag, if true then notify messages will be printed
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::consolidate ( const float  bvh_quality = 0.6f) [pure virtual]

takes into account all the appended elements and rebuilds the map BVH

Parameters:
bvh_qualityis the quality of the BVH, between 0 and 1
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::get ( const miUint  index,
Map_element map_element 
) const [pure virtual]

gets the copy of an element.

Parameters:
indexis the desired element index
map_elementis the map element which will hold the copy
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::get ( const Map_field_id  field_id,
float &  value 
) const [pure virtual]

retrieves the value of the desired global field.

Parameters:
field_idis the id of the desired global field
valueis the float output value
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::get ( const Map_field_id  field_id,
int &  value 
) const [pure virtual]

retrieves the value of the desired global field.

Parameters:
field_idis the id of the desired global field
valueis the integer output value
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::get ( const Map_field_id  field_id,
miVector &  value 
) const [pure virtual]

retrieves the value of the desired global field.

Parameters:
field_idis the id of the desired global field
valueis the vector output value
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::get ( const Map_field_id  field_id,
miColor &  value 
) const [pure virtual]

retrieves the value of the desired global field.

Parameters:
field_idis the id of the desired global field
valueis the color output value
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::get ( const Map_field_id  field_id,
miMatrix *  value 
) const [pure virtual]

retrieves the value of the desired global field.

NOTE: 'value' is a pointer to a miMatrix.

Parameters:
field_idis the id of the desired global field
valueis the transform output value
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::get ( const Map_field_id  field_id,
float *  value 
) const [pure virtual]

retrieves the value of the desired global field.

Parameters:
field_idis the id of the desired global field
valueis the float array output value
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::get ( const Map_field_id  field_id,
int *  value 
) const [pure virtual]

retrieves the value of the desired global field.

Parameters:
field_idis the id of the desired global field
valueis the integer array output value
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::get ( const Map_field_id  field_id,
char *  value 
) const [pure virtual]

retrieves the value of the desired global field.

Parameters:
field_idis the id of the desired global field
valueis the string output value
Returns:
a status code
virtual bool mi::shader_v3::Map_base::has_declaration ( ) const [pure virtual]

returns true if the map has a declaration.

Returns:
true if the map has a declaration, false otherwise
virtual bool mi::shader_v3::Map_base::is_empty ( ) const [pure virtual]

returns true if the map is empty.

Returns:
true if the map is empty, false otherwise
virtual Map_status mi::shader_v3::Map_base::read ( const char *  file_name,
const bool  notify = true 
) [pure virtual]

reads a map from a file.

Parameters:
file_nameis the name of the file to read
notifyis a flag, if true then notify messages will be printed
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::set ( const miUint  index,
const Map_element map_element 
) [pure virtual]

sets the desired element in the map.

Parameters:
indexis the index of the element to set
map_elementis the map element
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::set ( const Map_field_id  field_id,
const float  value 
) [pure virtual]

sets the value of the desired global field.

Parameters:
field_idis the id of the desired global field
valueis the float input value
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::set ( const Map_field_id  field_id,
const int  value 
) [pure virtual]

sets the value of the desired global field.

Parameters:
field_idis the id of the desired global field
valueis the integer input value
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::set ( const Map_field_id  field_id,
const miVector &  value 
) [pure virtual]

sets the value of the desired global field.

Parameters:
field_idis the id of the desired global field
valueis the vector input value
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::set ( const Map_field_id  field_id,
const miColor &  value 
) [pure virtual]

sets the value of the desired global field.

Parameters:
field_idis the id of the desired global field
valueis the color input value
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::set ( const Map_field_id  field_id,
const miMatrix *  value 
) [pure virtual]

sets the value of the desired global field.

NOTE: 'value' is a pointer to a miMatrix.

Parameters:
field_idis the id of the desired global field
valueis the transform input value
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::set ( const Map_field_id  field_id,
const float *  value 
) [pure virtual]

sets the value of the desired global field.

Parameters:
field_idis the id of the desired global field
valueis the float array input value
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::set ( const Map_field_id  field_id,
const int *  value 
) [pure virtual]

sets the value of the desired global field.

Parameters:
field_idis the id of the desired global field
valueis the integer array input value
Returns:
a status code
virtual Map_status mi::shader_v3::Map_base::set ( const Map_field_id  field_id,
const char *  value,
const int  length = -1 
) [pure virtual]

sets the value of the desired global field.

Parameters:
field_idis the id of the desired global field
valueis the string input value
lengthis the amount of characters to write, if < 0 then only the characters up to the first '\0' will be copied
Returns:
a status code
virtual miUint mi::shader_v3::Map_base::size ( ) const [pure virtual]

returns the number of elements in the map.

Returns:
the number of elements in the map
virtual Map_status mi::shader_v3::Map_base::write ( const char *  file_name,
const bool  notify = true,
const File_format  file_format = Closed_binary 
) const [pure virtual]

writes the map to file.

Parameters:
file_nameis the name of the file to write
notifyis a flag, if true then notify messages will be printed
file_formatis the format of the map file
Returns:
a status code

Copyright © 1986, 2013 NVIDIA Corporation