AlCharacter
 
 
 

Interface to Alias Character Network.

Synopsis

#include <AlCharacter.h>
class AlCharacter :  public AlObject
enum AlCharacterStringInfo
{
	kBlindData1,
	kBlindData2,
	kBlindData3,
	kBlindData4
};
	AlCharacter();
virtual 	~AlCharacter();
virtual AlObject*	copyWrapper() const;
statusCode 	create(const char *);
virtual statusCode	deleteObject();
virtual AlObjectType	type() const;
virtual const char*	name() const;
virtual statusCode	setName(const char *);
AlCharSnippet*	createSnippet(const char *);
AlCharTransition*	createTransition(const char *);
statusCode	removeSnippet(AlCharSnippet *);
statusCode	removeTransition(AlCharTransition *);
AlCharSnippet*	findSnippetByName(const char *);
AlCharTransition*	findTransitionByName(const char *);
AlCharSnippet*	firstSnippet(void);
AlCharSnippet*	nextSnippet(void);
AlCharTransition*	firstTransition(void);
AlCharTransition*	nextTransition(void);
statusCode	connectSnippets(AlCharSnippet *, AlCharTransition *, AlCharSnippet *);
statusCode	convertTransitionToSnippet(AlCharTransition *, int, AlCharSnippet **, AlCharTransition **, AlCharTransition **);
statusCode	characterStringInfo(AlCharacterStringInfo, const char *&) const;
statusCode	setCharacterStringInfo(AlCharacterStringInfo, const char*);

Description

AlCharacter is the interface to the Character Network data of Alias’ Character Network objects.

A Character Network is a topology whose nodes are sequences (short linear pieces of animation) referred to as snippets and whose arcs are transitions between nodes.

See the AlCharSnippet class for more information snippets. See the AlCharTransition class for more information transitions.

AlCharacter::AlCharacter()

Description

Default constructor for AlCharacter Wrapper object. Use the create() method to initialize an AlCharacter object.

AlCharacter::~AlCharacter()

Description

Deletes an AlCharacter wrapper object.

AlObject* AlCharacter::copyWrapper() const

Description

Makes an exact copy of the AlCharacter wrapper

Return Values

NULL - unable to create new wrapper due to lack of memory

non NULL - new Character Network wrapper

statusCode AlCharacter::deleteObject()

Description

Deletes the Alias Character Network object. This method deletes the Character Network object data. Upon return there will be no Character Network corresponding to this wrapper or any other wrapper that references the same Character Network.

Return Codes

sSuccess - the Character Networks has been deleted

sInvalidObject - the Character Network was not valid

AlObjectType AlCharacter::type() const

Description

Returns the class identifier kCharacterType.

statusCode AlCharacter::create(const char *characterName)

Description

Does any initialization and allocation of data for an AlCharacter. Allocates room for this AlCharacter and adds this character to the universe.

Arguments

< characterName - name of the Character Network object

Return Codes

sSuccess - named Character Network object created

sFailure - this wrapper already has a Character Network object, i.e already created

sInsufficientMemory - not enough memory available

const char *AlCharacter::name(void) const

Description

Returns the name of the Character Network.

Return Values

NULL - invalid wrapper

non NULL - Character Network name

statusCode AlCharacter::setName(const char *newCharacterName)

Description

Renames a Character Network object. If the new name is already in use then a unique name will be generated. Use the name() method to determine the actual name of the Character Network object.

Arguments

< newCharacterName - the new name of the Character Network object

Return Codes

sSuccess - the Character Network object has been renamed

sInvalidObject - the Character Network was not valid

AlCharSnippet* AlCharacter::createSnippet(const char *snippetName)

Description

Creates the named Snippet for the Character. If the new name is already in use then a unique name will be generated. Use the AlSnippet::name() method to determine the actual name of the Character Network Snippet object. See the AlCharSnippet class for more information on Character Network Snippets.

Arguments

< snippetName - the name of the new Character Network Snippet

Return Values

NULL - invalid wrapper

non NULL - new Character Network Snippet wrapper

AlCharTransition* AlCharacter::createTransition(const char *transitionName)

Description

Creates the named Transition for the Character. If the new name is already in use then a unique name will be generated. Use the AlTransition::name() method to determine the actual name of the Character Network Transition object. See the AlCharTransition class for more information on Character Network Transitions.

Arguments

< transitionName - the name of the new Character Network Transition

Return Values

NULL - invalid wrapper

non NULL - new Character Network Transition wrapper

statusCode AlCharacter::removeSnippet(AlCharSnippet *snippet)

Description

Deletes the Character Network Snippet from the Character Network. See the AlCharSnippet class for more information on Character Networks Snippets.

Arguments

< snippet - the AlCharSnippet wrapper of the Character Network Snippet

Return Codes

sSuccess - the Character Network Snippet has been deleted

sInvalidObject - the Character Network Snippet was not valid

statusCode AlCharacter::removeTransition(AlCharTransition *transition)

Description

Deletes the Character Network Transition from the Character Network. See the AlCharTransition class for more information on Character Networks Transitions.

Arguments

< snippet - the AlCharTransition wrapper of the Character Network Transition

Return Codes

sSuccess - the Character Network Transition has been deleted

sInvalidObject - the Character Network Transition was not valid

AlCharSnippet* AlCharacter::findSnippetByName(const char *snippetName)

Description

Finds the named Character Network Snippet in the Character Network and returns a new wrapper for it.

Arguments

< characterName - name of the object

Return Values

NULL - wrapper not valid, unable locate the named Character Network Snippet or unable to construct the wrapper

non NULL - named Character Network Snippet wrapper

AlCharTransition* AlCharacter::findTransitionByName(const char *transitionName)

Description

Finds the named Character Network Transition in the Character Network and returns a new wrapper for it.

Arguments

< characterName - name of the object

Return Values

NULL - wrapper not valid, unable locate the named Character Network Transition or unable to construct the wrapper

non NULL - named Character Network Transition wrapper

AlCharSnippet* AlCharacter::firstSnippet(void)

Description

Returns a new wrapper to first Character Network Snippet in the Character Network.

Return Values

NULL - wrapper not valid, no Character Network Snippets or unable to construct the wrapper

non NULL - first Character Network Snippet wrapper

AlCharSnippet* AlCharacter::nextSnippet(void)

Description

Returns a new wrapper to next Character Network Snippet in the Character Network.

Return Values

NULL - wrapper not valid, no more Character Network Snippets or unable to construct the wrapper

non NULL - next Character Network Snippet wrapper

AlCharTransition* AlCharacter::firstTransition(void)

Description

Returns a new wrapper to first Character Network Transition in the Character Network.

Return Values

NULL - wrapper not valid, no Character Network Transitions or unable to construct the wrapper

non NULL - first Character Network Transition wrapper

AlCharTransition* AlCharacter::nextTransition(void)

Description

Returns a new wrapper to next Character Network Transition in the Character Network.

Return Values

NULL - wrapper not valid, no more Character Network Transitions or unable to construct the wrapper

non NULL - next Character Network Transition wrapper

statusCode AlCharacter::connectSnippets(AlCharSnippet *sourceSnippet,AlCharTransition *transition,AlCharSnippet *destinationSnippet)

Description

Connects the sourceSnippet to the destinationSnippet via the transition. The snippets and the transition must have been previously created via createSnippet() and createTransition().

Arguments

< sourceSnippet - source Snippet for transition

< transition - connect source to destination

< destinationSnippet - destination Snippet for transition

Return Codes

sSuccess - everything okay

sInsufficientMemory - not enough memory available

sFailure - could not complete request

statusCode AlCharacter::convertTransitionToSnippet(AlCharTransition *transition,int transitionIsDeleted,AlCharSnippet **newSnippet,AlCharTransition **newSourceTransition,AlCharTransition **newDestinationTransition)

Description

Converts a transition from snippet A to snippet B into a transition X’ from A to new snippet C, and a transition X" from C to B. Note that snippets A and B are implied by the transition. newSnippet, newSourceTransition and newDestinationTransition are declared by the caller and passed to the method as follows:

AlCharSnippet *newSnippet;
AlCharTransition *newSourceTransition;
AlCharTransition *newDestinationTransition;
status = character->convertTransitionToSnippet(
	transition, TRUE, &newSnippet, &newSourceTransition,
	&newDestinationTransition
);

The create() method for the new Snippet and Transitions are invoked by the method so valid wrappers for each object are passed back to the caller.

Arguments

< transition - the transition that connects snippet A to B

< transitionIsDeleted - TRUE (1) if transition is to be deleted

> newSnippet - new snippet C

> newSourceTransition - new transition X’

> newDestinationTransition - new transition X"

Return Codes

sSuccess - everything okay

sInsufficientMemory - not enough memory available

sFailure - could not complete request

statusCode AlCharacter::characterStringInfo(AlCharacterStringInfo dataType,const char *& sValue) const

Description

Returns the specified string valued Character data.

Arguments

< dataType - the type of Character data to return

> sValue - the value of the Character data

Return Codes

sSuccess - the Character data was returned in sValue

sInvalidArgument - the Character dataType is not string valued

statusCode AlCharacter::setCharacterStringInfo(AlCharacterStringInfo dataType,const char* sValue)

Description

Sets the specified string valued Character data.

Arguments

< dataType - the type of Character data to return

< sValue - the new value of the Character data

Return Codes

sSuccess - the Character data was updated from sValue

sInvalidArgument - the Character dataType is not string valued