| ## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# iSharedVariable Struct Reference
[Crystal Space 3D Engine]

iSharedVariable implements a refcounted value which can be shared across many objects and updated efficiently. More...

`#include <iengine/sharevar.h>`

Inheritance diagram for iSharedVariable:

[legend]
List of all members.

## Public Types
enum | SharedVariableType
| Possible types stored by this class. More...
## Public Member Functions
virtual void | AddListener (iSharedVariableListener *listener)=0
| Add a listener to variables.
virtual float | Get () const =0
| Get the floating point version of the var value.
virtual const csColor & | GetColor () const =0
| Get the csColor from the variable.
virtual const char * | GetName () const =0
| Get the name of this variable.
virtual const char * | GetString () const =0
| Get the string from the variable.
virtual int | GetType () const =0
| Get the type currently stored by this variable.
virtual const csVector3 & | GetVector () const =0
| Get the vector from the variable.
virtual iObject * | QueryObject ()=0
| Get the private object interface.
virtual void | RemoveListener (iSharedVariableListener *listener)=0
| Remove a listener.
virtual void | Set (float val)=0
| Set the variable to a floating pt value.
virtual void | SetColor (const csColor &col)=0
| Set the variable to store a csColor.
virtual void | SetName (const char *name)=0
| iSharedVariables are referenced by name. Here is where you set it.
virtual void | SetString (const char *str)=0
| Set the string from the variable.
virtual void | SetVector (const csVector3 &v)=0
| Set the variable to store a csVector3.

## Detailed Description

iSharedVariable implements a refcounted value which can be shared across many objects and updated efficiently.

Main creators of instances implementing this interface:

- iSharedVariableList::New()

Main ways to get pointers to this interface:

- iEngine::GetVariableList()
- iSharedVariableList::Get()

Definition at line 50 of file sharevar.h.

## Member Enumeration Documentation

enum iSharedVariable::SharedVariableType

Possible types stored by this class.

Definition at line 87 of file sharevar.h.

## Member Function Documentation

virtual void iSharedVariable::AddListener | ( | iSharedVariableListener * | listener | ) | `[pure virtual]`

Add a listener to variables.

virtual float iSharedVariable::Get | ( |  | ) | const`[pure virtual]`

Get the floating point version of the var value.

virtual const csColor& iSharedVariable::GetColor | ( |  | ) | const`[pure virtual]`

Get the csColor from the variable.

virtual const char* iSharedVariable::GetName | ( |  | ) | const`[pure virtual]`

Get the name of this variable.

virtual const char* iSharedVariable::GetString | ( |  | ) | const`[pure virtual]`

Get the string from the variable.

virtual int iSharedVariable::GetType | ( |  | ) | const`[pure virtual]`

Get the type currently stored by this variable.

virtual const csVector3& iSharedVariable::GetVector | ( |  | ) | const`[pure virtual]`

Get the vector from the variable.

virtual iObject* iSharedVariable::QueryObject | ( |  | ) | `[pure virtual]`

Get the private object interface.

virtual void iSharedVariable::RemoveListener | ( | iSharedVariableListener * | listener | ) | `[pure virtual]`

Remove a listener.

virtual void iSharedVariable::Set | ( | float | val | ) | `[pure virtual]`

Set the variable to a floating pt value.

virtual void iSharedVariable::SetColor | ( | const csColor & | col | ) | `[pure virtual]`

Set the variable to store a csColor.

virtual void iSharedVariable::SetName | ( | const char * | name | ) | `[pure virtual]`

iSharedVariables are referenced by name. Here is where you set it.

virtual void iSharedVariable::SetString | ( | const char * | str | ) | `[pure virtual]`

Set the string from the variable.

virtual void iSharedVariable::SetVector | ( | const csVector3 & | v | ) | `[pure virtual]`

Set the variable to store a csVector3.

The documentation for this struct was generated from the following file:

- iengine/sharevar.h