r3chory
real/code/r3chory.h
r3code
CHOREOGRAPHY Class.
r3Model
R3CLID_MODEL
r3Choreography
R3CLID_CHOREOGRAPHY - 297
NEWCHOREOGRAPHY, SETBEGINEND, GETBEGINEND, EVALTIME, GETCURVE, SETFREQUENCY, GETFREQUENCY, SETACTIVE, GETACTIVE, GETWEIGHT, SETWEIGHT, GETPERIODIC, SETPERIODIC, GETPHASE, SETPHASE, DELCHOREOGRAPHY, NAMETOORDNUM, COPYCHOREOGRAPHY, RENAME, EXCHANGECHOREOGRAPHY, REPLACECHOREOGRAPHY, TRANSFORMTIMELINE, GETOPEN, SETOPEN, SETOPENALL, GETSHOWCURVE, SETSHOWCURVE, SETSHOWALLCURVES, GETCURVEACTIVE, SETCURVEACTIVE, GETSHOWLARGECURVE, SETSHOWLARGECURVE, TRANSFORMTIMELINEBYI, MAPGLOBALTOLOCAL, MAPLOCALTOGLOBAL, GETCLID, SETCLID, GETTIMEKEYS, UNSELECTALL, SELECTKNOT, MOVE, GETHIDDEN, SETHIDDEN, UP, DOWN, GETCHORNAME, BEGINANIM, ENDANIM, GETCHOROBJECT, SETCHOROBJECT, CHORBEGIN, CHOREND, SETPARENTSENSITIVE, GETPARENTSENSITIVE,
R3CHRYM_NEWCHOREOGRAPHY
NEWCHOREOGRAPHY
R3CHRYM_NEWCHOREOGRAPHY
R3INT, TRUE if succeeded
R3INT, ordnum of the chor to be inserted. -1 inserts after the current chor.
char*, name of the choreography to be created
rc = obj.NEWCHOREOGRAPHY(p1, p3);
Create a new choreography
R3CHRYM_SETBEGINEND
SETBEGINEND
R3CHRYM_SETBEGINEND
R3BOOL, true if succeeded
R3INT, choreography index
R3FLOAT, begin time in abs time space
R3FLOAT, end time in abs time space
rc = obj.SETBEGINEND(p1, p2, p3);
Set timeline begin and end.
R3CHRYM_GETBEGINEND
GETBEGINEND
R3CHRYM_GETBEGINEND
R3BOOL, true if succeeded
R3INT, choreography index
R3FLOAT, begin
R3FLOAT, end
rc = obj.GETBEGINEND(p1, p2, p3);
Fetch time line begin and end times
R3CHRYM_EVALTIME
EVALTIME
R3CHRYM_EVALTIME
R3BOOL, true if succeeded
R3FLOAT, time
R3FLOAT, time in choreographs local space
rc = obj.EVALTIME(0, p2, p3);
Map time to chor's local space.
R3CHRYM_GETCURVE
GETCURVE
R3CHRYM_GETCURVE
R3OBJ*, curve
R3INT, choreography
rc = obj.GETCURVE(p3);
Fetch the input curve of given choreography.
R3CHRYM_SETFREQUENCY
SETFREQUENCY
R3CHRYM_SETFREQUENCY
R3BOOL, true if valid chor index
R3INT, chor index
R3FLOAT, frequency
rc = obj.SETFREQUENCY(p1, p3);
Set frequency attribute for the given choreography
R3CHRYM_GETFREQUENCY
GETFREQUENCY
R3CHRYM_GETFREQUENCY
R3BOOL, true if chor index was valid
R3INT, chor index
R3FLOAT, buffer for the frequency
rc = obj.GETFREQUENCY(p1, p3);
Fetch the frequency attribute of the given choreography
R3CHRYM_SETACTIVE
SETACTIVE
R3CHRYM_SETACTIVE
R3BOOL, true if succeeded.
R3INT, choreography to be enabled/disabled
R3BOOL, true to enable, false to disable.
rc = obj.SETACTIVE(p1, p3);
Enable/Disable a choreography
R3CHRYM_GETACTIVE
GETACTIVE
R3CHRYM_GETACTIVE
R3BOOL, TRUE if active
R3INT, chor index
rc = obj.GETACTIVE(p3);
See if the given choreography is active.
R3CHRYM_GETWEIGHT
GETWEIGHT
R3CHRYM_GETWEIGHT
R3BOOL, TRUE if chor index was valid
R3INT, chor index
R3FLOAT, weight
rc = obj.GETWEIGHT(p1, p3);
Fetch the weight of the given choreography.
R3CHRYM_SETWEIGHT
SETWEIGHT
R3CHRYM_SETWEIGHT
R3BOOL, true if chor index was valid
R3INT, chor index
R3FLOAT, weight
rc = obj.SETWEIGHT(p1, p3);
Set the weight attribute for the given choreography.
R3CHRYM_GETPERIODIC
GETPERIODIC
R3CHRYM_GETPERIODIC
R3BOOL, TRUE if periodic
R3INT, chor index
rc = obj.GETPERIODIC(p3);
Fetch the periodic attribute of the given choreography.
R3CHRYM_SETPERIODIC
SETPERIODIC
R3CHRYM_SETPERIODIC
R3BOOL, true if valid chor
R3INT, chor index
R3BOOL, true to set periodic attribute, false to reset periodic attribute
rc = obj.SETPERIODIC(p1, p3);
Make the given choreography periodic
R3CHRYM_GETPHASE
GETPHASE
R3CHRYM_GETPHASE
R3BOOL, true if valid chor
R3INT, chor index
R3FLOAT, phase
rc = obj.GETPHASE(p1, p3);
Fetch the time phase of the given choreography.
R3CHRYM_SETPHASE
SETPHASE
R3CHRYM_SETPHASE
R3BOOL, true if valid chor index
R3INT, chor index
R3FLOAT, phase to be set
rc = obj.SETPHASE(p1, p3);
Set phase for the given choreography.
R3CHRYM_DELCHOREOGRAPHY
DELCHOREOGRAPHY
R3CHRYM_DELCHOREOGRAPHY
R3BOOL, true if found and successfully deleted
R3INT, ordnum of the choreography to be deleted
rc = obj.DELCHOREOGRAPHY(p3);
Delete choreography by ordnum
R3CHRYM_NAMETOORDNUM
NAMETOORDNUM
R3CHRYM_NAMETOORDNUM
R3BOOL, true if choreography was found
char*, name
R3INT*, ordnum
rc = obj.NAMETOORDNUM(p1, p3);
Find ordnum by name
R3CHRYM_COPYCHOREOGRAPHY
COPYCHOREOGRAPHY
R3CHRYM_COPYCHOREOGRAPHY
R3BOOL, true if succeeded
R3INT, chor to be copied
R3INT, ordnum of the newly created chor.
rc = obj.COPYCHOREOGRAPHY(p1, p3);
Create a new choreography by duplicating the given choreography
R3CHRYM_RENAME
RENAME
R3CHRYM_RENAME
R3BOOL, true if succeeded
R3INT, ordnum
char*, new name.
rc = obj.RENAME(p1, p3);
rename the choreography by ordnum. The name of the choreography consists of three parts: object/choreography/input.
R3CHRYM_EXCHANGECHOREOGRAPHY
EXCHANGECHOREOGRAPHY
R3CHRYM_EXCHANGECHOREOGRAPHY
R3INT, choreography to be exported
R3OBJ*, target object
obj.EXCHANGECHOREOGRAPHY(p1, p3);
Copy choreography 'index' to given object.
R3CHRYM_REPLACECHOREOGRAPHY
REPLACECHOREOGRAPHY
R3CHRYM_REPLACECHOREOGRAPHY
R3BOOL, true if succeeded
R3INT, index
R3OBJ*, to object
R3INT, to index
rc = obj.REPLACECHOREOGRAPHY(p1, p2, p3);
replace choreography
R3CHRYM_TRANSFORMTIMELINE
TRANSFORMTIMELINE
R3CHRYM_TRANSFORMTIMELINE
R3INT, choreography index
R3FLOAT, translate
R3FLOAT, scale
obj.TRANSFORMTIMELINE(p1, p2, p3);
Transform all choreography time lines
R3CHRYM_GETOPEN
GETOPEN
R3CHRYM_GETOPEN
R3BOOL, true if open, false if closed
R3INT, chor index
rc = obj.GETOPEN(p3);
See if the choreography level is open or closed.
R3CHRYM_SETOPEN
SETOPEN
R3CHRYM_SETOPEN
R3BOOL, true if valid chor index
R3INT, chor index
R3BOOL, true to open, false to close
rc = obj.SETOPEN(p1, p3);
Open or close the given choreography level
R3CHRYM_SETOPENALL
SETOPENALL
R3CHRYM_SETOPENALL
R3BOOL, true opens, false closes
obj.SETOPENALL(p3);
Open/close all choreographs
R3CHRYM_GETSHOWCURVE
GETSHOWCURVE
R3CHRYM_GETSHOWCURVE
R3BOOL, true if visible
R3INT, chor index
rc = obj.GETSHOWCURVE(p3);
See if the given chor weight curve is visible
R3CHRYM_SETSHOWCURVE
SETSHOWCURVE
R3CHRYM_SETSHOWCURVE
R3BOOL, true if succeeded
R3INT, chor index
R3BOOL, true to show, false to hide
rc = obj.SETSHOWCURVE(p1, p3);
Show/hide weight curve for the given choreography
R3CHRYM_SETSHOWALLCURVES
SETSHOWALLCURVES
R3CHRYM_SETSHOWALLCURVES
R3BOOL, true or false to show or hide
obj.SETSHOWALLCURVES(p3);
Show/hide all weight curves
R3CHRYM_GETCURVEACTIVE
GETCURVEACTIVE
R3CHRYM_GETCURVEACTIVE
R3BOOL, true if active
R3INT, chor index
rc = obj.GETCURVEACTIVE(p3);
See if input curve is active for the given choreography
R3CHRYM_SETCURVEACTIVE
SETCURVEACTIVE
R3CHRYM_SETCURVEACTIVE
R3BOOL, true if succeeded
R3INT, chor index
R3BOOL, true to enable, false to disable
rc = obj.SETCURVEACTIVE(p1, p3);
Enable / disable input curve for the given choreography
R3CHRYM_GETSHOWLARGECURVE
GETSHOWLARGECURVE
R3CHRYM_GETSHOWLARGECURVE
R3BOOL, true if maximized
R3INT, chor index
rc = obj.GETSHOWLARGECURVE(p3);
See if the curve is in maximized state.
R3CHRYM_SETSHOWLARGECURVE
SETSHOWLARGECURVE
R3CHRYM_SETSHOWLARGECURVE
R3BOOL, true if succeeded
R3INT, chor index
R3BOOL, true maximizes, false minizes
rc = obj.SETSHOWLARGECURVE(p1, p3);
Minimize or maximize the curve of the given choreography.
R3CHRYM_TRANSFORMTIMELINEBYI
TRANSFORMTIMELINEBYI
R3CHRYM_TRANSFORMTIMELINEBYI
R3INT, choreography index
R3FLOAT, translate
R3FLOAT, scale
obj.TRANSFORMTIMELINEBYI(p1, p2, p3);
Transform a single choreography time lines
R3CHRYM_MAPGLOBALTOLOCAL
MAPGLOBALTOLOCAL
R3CHRYM_MAPGLOBALTOLOCAL
R3INT, chor index or -1 for the current chor
R3FLOAT, global time
obj.MAPGLOBALTOLOCAL(p1, p3);
Apply inverse time line transformation to given global time to * get it mapped to objects local time space.
R3CHRYM_MAPLOCALTOGLOBAL
MAPLOCALTOGLOBAL
R3CHRYM_MAPLOCALTOGLOBAL
R3INT, chor index or -1 for the current chor
R3FLOAT, time
obj.MAPLOCALTOGLOBAL(p1, p3);
Apply time line transformation specified to map time value from * objects local space to parent space.
R3CHRYM_GETCLID
GETCLID
R3CHRYM_GETCLID
R3CLID, class id
R3INT, index of the choreography
rc = obj.GETCLID(p3);
Fetch class id of the choreography specified by chor index.
R3CHRYM_SETCLID
SETCLID
R3CHRYM_SETCLID
R3BOOL, true if succeeded
R3INT, index
R3CLID, class id
rc = obj.SETCLID(p1, p3);
Set class id of the choreography specified by chor index. Called internally.
R3CHRYM_GETTIMEKEYS
GETTIMEKEYS
R3CHRYM_GETTIMEKEYS
R3BOOL, true if succeeded.
R3INT, animated tag
R3INT, animated tag index, if indexed tag. -1 for regular tags
rc = obj.GETTIMEKEYS(p1, p2, 0);
Fetch key frame time values.
R3CHRYM_UNSELECTALL
UNSELECTALL
R3CHRYM_UNSELECTALL
R3INT, attribute id, or 0 for any
R3INT, index if indexed attribute, -1 if regular
obj.UNSELECTALL(p1, p3);
Unselect all key frames
R3CHRYM_SELECTKNOT
SELECTKNOT
R3CHRYM_SELECTKNOT
R3BOOL, TRUE if succeeded
R3INT, tag
R3INT, tag index
R3TAG*, R3CHRYA_Active, R3CHRYA_Separate, R3CHRYA_KnotIndex
rc = obj.SELECTKNOT(p1, p2, p3);
Select given knot
R3CHRYM_MOVE
MOVE
R3CHRYM_MOVE
R3BOOL, true if both indexes were valid and chors were swapped
R3INT, ordnum of the chor to be moved
R3INT, new ordnum for the chor
rc = obj.MOVE(p1, p3);
Move the given choreography to another level in the constr. stack.
R3CHRYM_GETHIDDEN
GETHIDDEN
R3CHRYM_GETHIDDEN
R3BOOL, true if hidden
R3INT, choreography index or -1 for the current choreography
rc = obj.GETHIDDEN(p3);
Return TRUE if the given choreography is hidden
R3CHRYM_SETHIDDEN
SETHIDDEN
R3CHRYM_SETHIDDEN
R3BOOL, true if succeeded
R3INT, choreography index or -1 for the current choreography
R3BOOL, true to hide, false to show
rc = obj.SETHIDDEN(p1, p3);
Set choreograps hidden state.
R3CHRYM_UP
UP
R3CHRYM_UP
R3BOOL, true if succeeded, false for no more chors.
rc = obj.UP();
Make the next choreography the current choreography.
R3CHRYM_DOWN
DOWN
R3CHRYM_DOWN
R3BOOL, true if succeeded, false for no more chors.
rc = obj.DOWN();
Make the previous choreography the current choreography.
R3CHRYM_GETCHORNAME
GETCHORNAME
R3CHRYM_GETCHORNAME
char*, name
R3INT, chor index
rc = obj.GETCHORNAME(p3);
Fetch the name of the given chor
R3CHRYM_BEGINANIM
BEGINANIM
R3CHRYM_BEGINANIM
obj.BEGINANIM();
Called when animation playback is about to start. Choreographs * can allocate and prepare optimization data etc. here.
R3CHRYM_ENDANIM
ENDANIM
R3CHRYM_ENDANIM
obj.ENDANIM();
Called when animation playback has stopped.
R3CHRYM_GETCHOROBJECT
GETCHOROBJECT
R3CHRYM_GETCHOROBJECT
R3OBJ*, choreography object
R3INT, choreography index
rc = obj.GETCHOROBJECT(p3);
Fetch the choreography object of the given choreography.
R3CHRYM_SETCHOROBJECT
SETCHOROBJECT
R3CHRYM_SETCHOROBJECT
R3BOOL, TRUE if succeeded.
R3INT, choreography index
rc = obj.SETCHOROBJECT(p3);
Assign choreography object with the given choreography inded. The old choreography object is disposed.
R3CHRYM_CHORBEGIN
CHORBEGIN
R3CHRYM_CHORBEGIN
void*, data which will be passed to choreography objects.
R3INT, choreography index
R3OBJ*, target object
rc = obj.CHORBEGIN(p1, p3);
Prepare choreography for execution. This generates R3ACOCM_CHORBEGIN * class method to the choreography. Class can allocate and initialize any choreography * specific data needed by the choreography objects.
R3CHRYM_CHOREND
CHOREND
R3CHRYM_CHOREND
R3INT, choreography index
void*, context allocated by the CHORBEGIN
obj.CHOREND(p1, p3);
Free choreography data. Generates R3ACOCM_CHOREND class method to the choreography * class, in which chor specific data can be freed.
R3CHRYM_SETPARENTSENSITIVE
SETPARENTSENSITIVE
R3CHRYM_SETPARENTSENSITIVE
R3BOOL, true if succeeded
R3INT, chor index
R3BOOL, true to make sensitive, false to reset sensitivity
rc = obj.SETPARENTSENSITIVE(p1, p3);
Make the time line parent sensitive.
R3CHRYM_GETPARENTSENSITIVE
GETPARENTSENSITIVE
R3CHRYM_GETPARENTSENSITIVE
R3BOOL, true if parent sensitive
R3INT, chor index
rc = obj.GETPARENTSENSITIVE(p3);
See if the chor is parent sensitive
Active
Active
R3CHRYA_Active
Integer
R3INT
ordnum of the active chor
jsobj.SetActive(value);
value = jsobj.GetActive();
R3INT value = ...;
R3SetAttrs(r3obj, R3CHRYA_Active, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3CHRYA_Active, &value, R3TAG_END);
Names
Names
R3CHRYA_Names
String
char**
array of choreography names
value = jsobj.GetNames();
char** value;
R3GetAttrs(r3obj, R3CHRYA_Names, &value, R3TAG_END);
Count
Count
R3CHRYA_Count
Integer
R3INT
number of choreographs
value = jsobj.GetCount();
R3INT value;
R3GetAttrs(r3obj, R3CHRYA_Count, &value, R3TAG_END);
Parent
Parent
R3CHRYA_Parent
Object
R3OBJ*
parent object
jsobj.SetParent(value);
R3OBJ* value = ...;
R3SetAttrs(r3obj, R3CHRYA_Parent, value, R3TAG_END);
IFF chunk id for choreographs
it is up to the sub class to implement key frames
size of the structure
time