Implements a switch statement. More...
#include <ilviews/protos/condacc.h>
  
Public Member Functions | |
| IlvSwitchAccessor (const char *name, const IlvValueTypeClass *type, IlvDisplay *display, const char *test, IlUInt numValues, const char **values) | |
| Creates a new switch accessor.  More... | |
  Public Member Functions inherited from IlvUserAccessor | |
| IlvUserAccessor (const char *name, const IlvValueTypeClass *type, IlUInt flags=0) | |
| Constructor.  More... | |
| virtual void | initialize (const IlvAccessorHolder *object) | 
Attachment method to an IlvAccessorHolder.  More... | |
| virtual IlBoolean | isOutputValue (const IlSymbol *) const | 
| Queries if the accessor is an output accessor.  More... | |
| IlBoolean | isPrivate () const | 
| Checks the private status.  More... | |
| IlBoolean | isRuntime () const | 
| Checks the RunTime status.  More... | |
| void | setPrivate (IlBoolean val) | 
| Sets the Private flag of this accessor.  More... | |
| void | setRuntime (IlBoolean runTime) | 
| Sets the RunTime flag of this accessor.  More... | |
  Public Member Functions inherited from IlvAccessor | |
| IlvAccessor (const char *name, IlvValueTypeClass *type) | |
| Creates a new accessor of name name and type type.  | |
| virtual IlBoolean | changeValues (IlvAccessorHolder *object, const IlvValue *values, IlUShort count) | 
Called by the method IlvAccessible::changeValues() for each IlvAccessor attached to the IlvAccessorHolder.  | |
| virtual void | getAccessors (const IlSymbol *const **accessors, const IlvValueTypeClass *const **types, IlUInt &count) const | 
| Returns the names and types of the values handled by this accessor.  More... | |
| const IlSymbol * | getName () const | 
| Returns the name of the accessor.  More... | |
| IlvValueTypeClass * | getType () const | 
| Returns the type of the accessor.  More... | |
| virtual IlBoolean | isOutputAccessor (IlBoolean &inputAndOutput) | 
| Queries if the accessor is an output accessor.  More... | |
| virtual IlShort | matchValues (const IlvAccessorHolder *object, const IlvValue *values, IlUShort count, IlvValue *matchingValues=0) const | 
| Returns the number of values that are handled by the accessor in the values array of length count.  More... | |
| virtual IlvValue & | queryValue (const IlvAccessorHolder *object, IlvValue &val) const | 
Called by the method IlvAccessible::queryValue() for each IlvAccessor attached to the IlvAccessorHolder.  | |
| virtual void | queryValues (const IlvAccessorHolder *object, IlvValue *values, IlUShort count) const | 
Called by the method IlvAccessible::queryValues() for each IlvAccessor attached to the IlvAccessorHolder.  | |
| void | setName (const IlSymbol *name) | 
| Sets the name of the accessor.  More... | |
Protected Member Functions | |
| virtual IlBoolean | changeValue (IlvAccessorHolder *object, const IlvValue &val) | 
Called by the method IlvAccessible::changeValue() for each IlvAccessor attached to the IlvAccessorHolder.  | |
  Protected Member Functions inherited from IlvUserAccessor | |
| virtual IlUInt | compareValues (const IlvAccessorHolder *object, const IlvAccessible *ref, IlvValue *values, IlUShort count, IlvValueArray &diffs) const | 
| Compares the values in ref and object and returns the differing values.  More... | |
| IlBoolean | getValue (IlvValue &val, const IlvAccessorHolder *object, IlvDisplay *display, IlvValueTypeClass *typeClass=0, IlSymbol *typeVal=0, const IlvValue *arg=0) const | 
| Evaluates a parameter of a user accessor.  More... | |
Implements a switch statement.
Library: ilvproto
Depending on the value of the first parameter, one of the attributes is triggered. When a changeValue() call to this behavior is made, the first parameter is evaluated and cast into an integer value,
If the ith + 1 parameter represents the name of an attribute of the prototype, then, it is assigned the value of the attribute. If there are less than i/code> parameters, then the last parameter is assigned the value of the second parameter. Hence, the last parameter serves as a "default" statement.
As an example, see the Traffic light prototype in the Samples library.
| IlvSwitchAccessor::IlvSwitchAccessor | ( | const char * | name, | 
| const IlvValueTypeClass * | type, | ||
| IlvDisplay * | display, | ||
| const char * | test, | ||
| IlUInt | numValues, | ||
| const char ** | values | ||
| ) | 
Creates a new switch accessor.
| name | Name of the attribute. | 
| type | Type of the attribute. Used only for initialization purposes. | 
| display | A display used to initialize attributes that might be display-dependent. | 
| test | Expression that should return an integer. | 
| numValues | Number of possible cases. There should be at least one case. | 
| values | Array of numValues attribute names. |