usbdmx.com Home of the opto isolated, bus powered, DMX512 interface with both in and out universes. Cheap and simple to build. USBDMX logo

LOProportionalFixtureAttribute Class Reference

A proportional attribute is one whose value can be any value within a given range. More...

#import <LOProportionalFixtureAttribute.h>

Inheritance diagram for LOProportionalFixtureAttribute:

LOFixtureAttribute LOColorMixFixtureAttribute LOMovementFixtureAttribute

Public Member Functions

(id) - initWithName:
 Initilise the object with a name, and set the type to LOFixtureAttributeTypeProportional.
(BOOL) - is16Bit
 Test if this is a 16 bit attribute.
(void) - set16bit:
 Sets if the attribute is 16 bit.
(void) - setRange:forByte:
 Set the range for the given byte type.
(unsigned) - count
 Count how may elements this attribute has.
(void) - updateElementOutput:toLevel:forByte:
 Update the element output for a given byte type (LSB or MSB).
(void) - updateElementOutput:toLevel:
 Update the element output, automatically taking into account if its a 16 bit element.
(void) - updateElementOutput:toReal:
 Update the element output, automatically taking into account if its a 16 bit element.
(BOOL) - updateOutputWithObject:
 Update the attribute to a given value.

Protected Attributes

NSMutableArray * elements
 An array of LOProportionalFixtureElement.

Detailed Description

A proportional attribute is one whose value can be any value within a given range.

Such as an intensity attribute.


Member Function Documentation

- (unsigned) count  

Count how may elements this attribute has.

- (id) initWithName: (NSString *)  aName  

Initilise the object with a name, and set the type to LOFixtureAttributeTypeProportional.

- (BOOL) is16Bit  

Test if this is a 16 bit attribute.

This checks the first element only

See also:
set16Bit;

- (void) set16bit: (BOOL)  the16Bit  

Sets if the attribute is 16 bit.

This sets the first element only

See also:
- is16Bit:

- (void) setRange: (LOFixtureRange *)  range
forByte: (LOFixtureAttributeByteType)  byte 

Set the range for the given byte type.

Setting a MSB byte automatically changes the the attribute to 16 bit.

See also:
addRange:forByte:

- (void) updateElementOutput: (unsigned)  index
toLevel: (unsigned)  level 

Update the element output, automatically taking into account if its a 16 bit element.

Parameters:
index The index of the element to update
level 0-255 for an 8bit attribute, or 0-65535 for a 16 bit one.
See also:
- updateElementOutput:toLevel:forByte:

- (void) updateElementOutput: (unsigned)  index
toLevel: (unsigned char)  level
forByte: (LOFixtureAttributeByteType)  byte 

Update the element output for a given byte type (LSB or MSB).

See also:
updateElementOutput:

- (void) updateElementOutput: (unsigned)  index
toReal: (float)  level 

Update the element output, automatically taking into account if its a 16 bit element.

Parameters:
index The index of the element to update
level 0-1 as a floating point value
See also:
- updateElementOutput:toLevel:

- (BOOL) updateOutputWithObject: (id)  anObject  

Update the attribute to a given value.

anObject can be an NSNumber contianing a float or an unsigned int. The equivelant method updateElementOutput:toLevel or updateElementOutput:toReal will be called with index set to 0

anObject may also be an NSArray, containing NSNumber objects. Each array entry will be treated as above, but with index being set to the index value of the array entry.

Reimplemented from LOFixtureAttribute.

Reimplemented in LOColorMixFixtureAttribute.


The documentation for this class was generated from the following files: