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

LOFixture Class Reference

An Object to encapsulate the definitoin of a Lighting fixture and allow control over its many different attributes in a standard way. More...

#import <LOFixture.h>


Public Member Functions

(id) - init
 Basic initilisation.
(id) - initWithName:andManufacturer:
 Init with name and manufacturer, Sets up a named generic fixture with no attributes.
(id) - initWithXML:
 Initilise a fixture from its XML definition file.
(NSXMLElement *) - XML
 Get the fixture definition as XML.
(NSString *) - name
 Get the name of fixture.
(void) - setName:
 Set the name of the fixture.
(NSString *) - manufacturer
 Get the name of the fixture manufacturer.
(void) - setManufacturer:
 Set the name of the fixture manufacturer.
(NSString *) - comment
 Get the comment about this fixture.
(void) - setComment:
 Set a comment for this fixture.
(NSArray *) - baseAddresses
 Get an array of base address objects associated with this fixture.
(void) - addBaseAddress:
 Add a new base address to the fixture.
(NSArray *) - attributes
 Get an array of attributes assocaited with this fixture.
(LOFixtureAttribute *) - attributeForType:
 Get the first attribute for the fixture matching the specified type.
(NSArray *) - attributesForType:
 Get the all attributes for the fixture matching the specified type.
(void) - addAttribute:
 Add an attribute to the fixture.
(BOOL) - setSoftPatch:
 Set the softPatch that this fixture will use to actaully send the data to the physical DMX channels.
(LOSoftPatch *) - softPatch
 Get the soft patch for this fixture.
(void) - updateIntensityValue:
 Called by the channel manager.
(void) - applyAttributePalette:
 Apply an attribute palette.

Protected Attributes

NSString * name
NSString * manufacturer
NSString * comment
NSMutableArray * baseAddresses
NSMutableArray * attributes
LOSoftPatchsoftPatch
LOFixtureAttributeattributesByIndex [LOFixtureAttributeIndexSize]
 The fixture attributes used by index.


Detailed Description

An Object to encapsulate the definitoin of a Lighting fixture and allow control over its many different attributes in a standard way.


Member Function Documentation

- (void) addAttribute: (LOFixtureAttribute *)  anAttribute  

Add an attribute to the fixture.

See also:
attributes:

- (void) addBaseAddress: (LOFixtureBaseAddress *)  aBaseAddress  

Add a new base address to the fixture.

In most cases a fixture will only have 1 base address, but some might need additional ones. For instance you may want a single fixture to control a can with a scroller on it. In this case the first base address will be that of the dimmer, and the second will be that of the attached scroller.

See also:
baseAddresses:

- (void) applyAttributePalette: (LOAttributePalette *)  palette  

Apply an attribute palette.

This updates every attribute in the fixture to the objects stored in the palette.

Parameters:
palette The attribute palette to apply

- (LOFixtureAttribute *) attributeForType: (LOFixtureAttributeType)  type  

Get the first attribute for the fixture matching the specified type.

See also:
- attributesForType:

attributes

- addAttribute:

- (NSArray *) attributes  

Get an array of attributes assocaited with this fixture.

Returns:
An array of LOFixtureAttribute objects
See also:
- addAttribute:

- attributeForType:

- attributesForType:

- (NSArray *) attributesForType: (LOFixtureAttributeType)  type  

Get the all attributes for the fixture matching the specified type.

See also:
- attributeForType:

attributes

- addAttribute:

- (NSArray *) baseAddresses  

Get an array of base address objects associated with this fixture.

Returns:
An array of LOFixtureBaseAddress objects
See also:
- addBaseAddress:

- (NSString *) comment  

Get the comment about this fixture.

See also:
- setComment:

- (id) init  

Basic initilisation.

Sets up a generic fixture with no attributes

- (id) initWithName: (NSString *)  aName
andManufacturer: (NSString *)  aManufacturer 

Init with name and manufacturer, Sets up a named generic fixture with no attributes.

Parameters:
aName the Name the fixture should be know by
aManufacturer the Manufacturer of the fixture

- (id) initWithXML: (NSXMLElement *)  XMLElement  

Initilise a fixture from its XML definition file.

Parameters:
XMLElement the XMLElement of the fixture element.

- (NSString *) manufacturer  

Get the name of the fixture manufacturer.

See also:
- setManufacturer:

- (NSString *) name  

Get the name of fixture.

See also:
- setName:

- (void) setComment: (NSString *)  newComments  

Set a comment for this fixture.

See also:
comment:

- (void) setManufacturer: (NSString *)  newManufacturer  

Set the name of the fixture manufacturer.

See also:
manufacturer:

- (void) setName: (NSString *)  aName  

Set the name of the fixture.

See also:
name:

- (BOOL) setSoftPatch: (LOSoftPatch *)  thePatch  

Set the softPatch that this fixture will use to actaully send the data to the physical DMX channels.

The softPatch should contain exactly the number of channels the fixture requires.

Returns:
YES if the softPatching was successful
See also:
softPatch

- (LOSoftPatch *) softPatch  

Get the soft patch for this fixture.

See also:
- setSoftPatch:

- (void) updateIntensityValue: (unsigned char)  theValue  

Called by the channel manager.

Do not call this function directly, or the channel managers intensity setting will be out of sync with the fixtures. Allways use the channel manager to set the intensity value of a fixture.

This function uses the fixtures soft patch to set the intensity level. This is done either directly is the fixture has an intensity level, or indirectly if the fixture had a psudo intensity feature.

Parameters:
theValue The new intensity value

- (NSXMLElement *) XML  

Get the fixture definition as XML.


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