r3ttag

r3macro
r3matbas
r3lvlmat
r3vsl
r3matlib
r3matprp
r3mpbitm
r3mpbump
r3mpsmap
r3mptext
r3mpcall
r3mpcnst
r3mpcopy
r3mpcurv
r3mpdiff
r3mpleve
r3mpcell
r3mpder
r3mpif
r3mpnois
r3mpphas
r3mpproc
r3mprand
r3mpray
r3mproot
r3mpspec
r3mpwave
r3mplin
r3mpoper
r3mppl
r3mpvar
r3postef
r3postim
r3blurmd
r3combef
r3dithmd
r3dofmd
r3detedm
r3fogmod
r3glowem
r3gradientm
r3imflmd
r3linemd
r3lsprmd
r3partem
r3satumd
r3tblurm
r3vslefm
r3postpm
r3lensf
ppelimod
r3prim
r3anglemeasure
r3cbckdr
r3cone
r3cube
r3cutcon
r3cutpyr
r3cylind
r3dragp
r3ellips
r3ellseg
r3fieldev
r3foot
r3group
r3hyperb
r3level
r3aik
r3aniobj
r3camera
r3constructor
r3creator
r3deform
r3extrud
r3fileinst
r3force
r3fratre
r3instnc
r3interpolator
r3lights
r3numesh
r3partic
r3plant
r3posimp
r3roof
r3subdiv
r3treele
r3triset
r3tube
r3wall
r3link
r3map
r3atmosph
r3cubmap
r3cylmap
r3defmap
r3dskmap
r3mesmap
r3parmap
r3sphmap
r3measure
r3nurbs
r3trmnrb
r3nurbs2
r3outlin
r3polygon
r3polyhedron
r3polymid
r3posmark
r3pyrami
r3rect
r3iplane
r3sphere
r3sdsfacemat
r3uimage

r3ttag

Class

real/code/r3ttag.h

Library

r3code

Description:

Dynamic attribute class. All objects derived from this class support so called 'dynamic attribute' feature which allows any number of attributes to be attached to objects. These attributes can be set/read exactly the same way as any normal object attributes ie. by using the R3GetAttrs() and R3SetAttrs() functions. If the tag id of the attribute contains one of the 'type bits', it is dynamic. #define MYA_FooInt = (R3CL_ATTRBASE(xx) | R3TT_IMASK + 12) #define MYA_FooFloat = (R3CL_ATTRBASE(xx) | R3TT_FMASK) + 13) R3FLOAT fval; R3SetAttrs(obj, MYA_FooInt, 12, MYA_FooFloat, &fval, R3tAG_END);

See Also

oops/r3model.h

See Also

oops/r3color.h oops/r3coords.h oops/r3vect.h oops/r3matrix.h

Super Class

r3Model

R3CLID_MODEL

JavaScript

r3Ttag

Class Identifier

R3CLID_TTAG - 70

Methods

CHANGETAG, DELETETAG, ENUM, FINDTAG, ANIMATETAG, TAGISANIMATED, CHANGEANIMATEDTAGVALUE, REMOVETAGANIMATTION, GETANIMATIONCURVE, ANIMRECORD, TIME, CHANGEINDEXEDANIMATEDT, GETKEYFRAMEINPUTOBJECT, SETKEYFRAMEINPUTOBJECT, REMOVEKEYFRAMEINPUT, SETADDKEYTOLERANCE, ISANIMTARGET, GETCURRENTTIME, MAKECHOREOGRAPHABLE, EXCHANGECHOREOGRAPHY, FINDTAGCLOSE, ALLOCANDGETUNIQUEID, ADDDEPENDENTTAGGED, REMOVEDEPENDENTTAGGED, ENUMDEPENDENTS, REMOVEALLTAGGEDDEPENDE, PROCESSSCRIPT, ENUMEXTERNALFILES, TRANSFORMTIMELINES, USESMATERIAL, ISANIMATED, DELETEKEYFRAMER, PREPANIMTAG, GETTIMELINE, SETTIMELINE, TOABSTIME, TOOBJTIME, WRITECHOREOGRAPHY, READCHOREOGRAPHY, ALLOCANDGETKEYFRAMER, REMOVETAGCHOREOGRAPHY, SCRIPTOUTPUT, REMOVEUNRESOLVEDDEPEND, DOMSGAWHENIDLE, FLUSHIDLES, BEGINANIM, ENDANIM, GETENDTIME, GETWEIGHT, WEIGHTCHANGED, CHANGEDEPENDENTTAGGED, ENUMDEPENDENTREFERENCE, REGISTERDEPENDENCYTAG, GETORIGVAL, REMOVEREFERENCES, SETSUBATTR, TOGLOBALTIME, TOLOCALTIME, TAGISANIMATEDINCHOREOG, INITTAG, BREAKTAGS, ISMANAGED, ISENABLED, NEWANIMTAG, GETCHORINPUT, NEWCHOROBJ, DELCHOROBJ, RESOLVEREFS, RECONSTRUCT, RECORD, PREPANIMATEDTAG, PREPINDEXEDANIMATEDTAG, RECONSTRUCTOPTIMIZED, EXECUTE, MIRRORTIMELINE, SETTAGVALUE, FLUSHSELECTEDIDLES, SCRIPTERROR, ISTIMEBASED, CALLUPDATE, MAKETARGET, ISTARGET, SETTAGS, LOADREADY, SETITAG, GETITAG, SETFTAG, GETFTAG, SETVTAG, GETVTAG, SETCSTAG, GETCSTAG, UNSELECTALLKNOTS, SELECTKNOT, TRANSLATESELECTEDKNOTS, DELETESELECTEDKNOTS, DUPLICATESELECTEDKNOTS, SETSELECTEDKNOTS, ENUMTIMELINES, GETANIMCURVEFORCHOR, GETNEXTKNOTPOS, GETPREVIOUSKNOTPOS, MANAGETAG, UPDATETAGSIZE, DELCHORBYINPUT, RESETKEYFRAMEINPUTOBJE, UNMANAGETAG, MOVECHOR, NEWCHOR, DELCHOR, COPYCHOR, CHORCHANGED, COPYANIMATEDATTRS, ADDKEYFRAME, TAGENABLEKEYFR, SELECTANIMTAG, ANIMTAGISSELECTED, UP, DOWN, SHOWCHOR, HIDECHOR, SHOWALLCHORS, PURGECHORS, TAGISKEYFRENABLED, GETCHORNAME, GETCHORCLID, GETCHORCOUNT, GETCHORBYINPUT, SUPPORTKEYFRAMING, FLUSHTAGS, SPLITTIMELINE, KEYFRAME, FINDTAGCLOSEHIERARCHY, TAGIDCHANGED, GETCURRENTFRAME, MAPFROMINPUT, MAPTOINPUT, SETINPUTSPACE, GETINPUTSPACE, SHARPENSELECTEDKNOTS, TOP, BOTTOM,

Attributes

Keyframer, AnimRecord, ChoreographyFrequency, ChoreographyWeight, AnimIfTarget, AnimDisabled, AnimIfAnimated, Time, FloatSize, ColorSize, Target, Enabled, CurrentChor, InvisibleChors, ChoreographyActive, ChoreographyPeriodic, ChoreographyPhase, Frame, UniqueId, FindTagCloseMth, Script, ScriptClid,

R3TTM_CHANGETAG

Method

CHANGETAG

Identifier

R3TTM_CHANGETAG

Return

R3BOOL, FALSE if failed

Param 3:

R3TAG*, R3TTA_OldTag (R3TAG *), R3TTA_NewTag (R3TAG *)

JavaScript

rc = obj.CHANGETAG(p3);

Description

Change identifier and value of given dynamic attribute.

R3TTM_DELETETAG

Method

DELETETAG

Identifier

R3TTM_DELETETAG

Return

R3BOOL, true if succeeded

Param 3:

R3INT, tag identifier.

JavaScript

rc = obj.DELETETAG(p3);

Description

Delete given dynamic tag.

R3TTM_ENUM

Method

ENUM

Identifier

R3TTM_ENUM

Param 1:

R3INT, callback method

Param 3:

R3OBJ*, callback object

JavaScript

obj.ENUM(p1, p3);

Description

Enumerate dynamic attributes to given object. Tags are passed to * the callback object as follows: * R3DoA2(cbobj, cbmth, (void*)tag, (void*)value);

R3TTM_FINDTAG

Method

FINDTAG

Identifier

R3TTM_FINDTAG

Return

void*, private data

Param 3:

R3INT, tag identifier

JavaScript

rc = obj.FINDTAG(p3);

Description

Find given dynamic tag. For internal use only.

R3TTM_ANIMATETAG

Method

ANIMATETAG

Identifier

R3TTM_ANIMATETAG

Return

R3BOOL, true if succeeded.

Param 1:

R3BOOL, if true, tag is always animated even if the object is not in R3TTA_AnimRecord mode.

JavaScript

rc = obj.ANIMATETAG(p1, 0);

Description

Make given attribute animateable.

R3TTM_TAGISANIMATED

Method

TAGISANIMATED

Identifier

R3TTM_TAGISANIMATED

Return

R3BOOL, FALSE if not animated

Param 1:

R3INT, attribute identifier

Param 3:

R3INT, attribute index for indexed attributes, 1 for regular attrs.

JavaScript

rc = obj.TAGISANIMATED(p1, p3);

Description

See if the given attribute is animated.

R3TTM_CHANGEANIMATEDTAGVALUE

Method

CHANGEANIMATEDTAGVALUE

Identifier

R3TTM_CHANGEANIMATEDTAGVALUE

Param 3:

R3INT, attribute

JavaScript

obj.CHANGEANIMATEDTAGVALUE(p3);

Description

Notify the choreography system that the attribute value has changed. * For class implementors only.

R3TTM_REMOVETAGANIMATTION

Method

REMOVETAGANIMATTION

Identifier

R3TTM_REMOVETAGANIMATTION

Return

R3BOOL, FALSE if the attrbute was not animated

Param 1:

R3INT, attribute identifier

Param 3:

R3INT, attribute index for indexed attrs, -1 for regular attrs.

JavaScript

rc = obj.REMOVETAGANIMATTION(p1, p3);

Description

Remove all choreographs from the given attribute.

R3TTM_GETANIMATIONCURVE

Method

GETANIMATIONCURVE

Identifier

R3TTM_GETANIMATIONCURVE

Return

R3OBJ*, curve object animating the

Param 1:

R3INT, tag

Param 3:

R3INT, tag index for indexed attrs or -1 for regular attributes

JavaScript

rc = obj.GETANIMATIONCURVE(p1, p3);

Description

Get animation curve for the current choreography / currently selected point * and the specified attribute. * If the current choreography is not a keyframer (it doesn't define curves) or * if the object doesn't define the given attribute, NULL is returned

R3TTM_ANIMRECORD

Method

ANIMRECORD

Identifier

R3TTM_ANIMRECORD

Param 1:

R3FLOAT, time resolution (minimum time interval)

Param 3:

R3BOOL, true activates, false resets

JavaScript

obj.ANIMRECORD(p1, p3);

Description

Activate animation recording

R3TTM_TIME

Method

TIME

Identifier

R3TTM_TIME

Param 1:

R3FLOAT, previous time

Param 2:

R3INT, new frame

Param 3:

R3FLOAT, new time

JavaScript

obj.TIME(p1, p2, p3);

Description

Set time of the object.

R3TTM_CHANGEINDEXEDANIMATEDT

Method

CHANGEINDEXEDANIMATEDT

Identifier

R3TTM_CHANGEINDEXEDANIMATEDT

Param 1:

R3INT, index

Param 2:

R3BOOL, force, if TRUE, R3TTA_AnimProtect etc. attributes are ignored and new key is always created

Param 3:

R3INT, tag

JavaScript

obj.CHANGEINDEXEDANIMATEDT(p1, p2, p3);

Description

For animating indexed attributes.

R3TTM_GETKEYFRAMEINPUTOBJECT

Method

GETKEYFRAMEINPUTOBJECT

Identifier

R3TTM_GETKEYFRAMEINPUTOBJECT

Return

void*, obj,

Param 3:

R3TAG*, R3TTA_KiObj, R3TTA_KiTag, R3TTA_KiMth, R3TTA_KiIndex, R3TTA_KiType, R3TTA_KiSub, R3TTA_KiChoreographyIndex

JavaScript

rc = obj.GETKEYFRAMEINPUTOBJECT(p3);

Description

Get object and tag used as input for keyframing

R3TTM_SETKEYFRAMEINPUTOBJECT

Method

SETKEYFRAMEINPUTOBJECT

Identifier

R3TTM_SETKEYFRAMEINPUTOBJECT

Return

void*, obj,

JavaScript

rc = obj.SETKEYFRAMEINPUTOBJECT();

Description

Set object and tag used as input for keyframing

R3TTM_REMOVEKEYFRAMEINPUT

Method

REMOVEKEYFRAMEINPUT

Identifier

R3TTM_REMOVEKEYFRAMEINPUT

Return

void*, obj,

Param 3:

R3INT, choreography index

JavaScript

rc = obj.REMOVEKEYFRAMEINPUT(p3);

Description

Remove special input for the given choreography and use time instead

R3TTM_SETADDKEYTOLERANCE

Method

SETADDKEYTOLERANCE

Identifier

R3TTM_SETADDKEYTOLERANCE

Param 3:

R3FLOAT, tolerance

JavaScript

obj.SETADDKEYTOLERANCE(p3);

Description

Set tolerance for 'modify existing/create new' key. If there is already a key within this treshold, it is modified. Otherwise new key is created.

R3TTM_ISANIMTARGET

Method

ISANIMTARGET

Identifier

R3TTM_ISANIMTARGET

Return

R3BOOL, true if can be animated.

JavaScript

rc = obj.ISANIMTARGET();

Description

Check if the object is selected as animation target. If so, and if the anim recording is enabled for the object, all changes to attributes are recorded by key framer.

R3TTM_GETCURRENTTIME

Method

GETCURRENTTIME

Identifier

R3TTM_GETCURRENTTIME

Param 3:

R3FLOAT, buffer for time to be fetched.

JavaScript

obj.GETCURRENTTIME(p3);

Description

Return the current time. Note: this works only if the owner object (layer) has set the GetTimeObj and GetTimeMth call backs and the object is linked into the layer.

R3TTM_MAKECHOREOGRAPHABLE

Method

MAKECHOREOGRAPHABLE

Identifier

R3TTM_MAKECHOREOGRAPHABLE

Return

R3OBJ*, choreographer

JavaScript

rc = obj.MAKECHOREOGRAPHABLE();

Description

Make the object choreographable. No choreographs are created.

R3TTM_EXCHANGECHOREOGRAPHY

Method

EXCHANGECHOREOGRAPHY

Identifier

R3TTM_EXCHANGECHOREOGRAPHY

Param 1:

R3INT, choreography to be copied

Param 3:

R3OBJ*, 'to' object

JavaScript

obj.EXCHANGECHOREOGRAPHY(p1, p3);

Description

Copy the given choreography to other object.

R3TTM_FINDTAGCLOSE

Method

FINDTAGCLOSE

Identifier

R3TTM_FINDTAGCLOSE

Return

R3OBJ*, object or NULL if not found

Param 1:

R3INT, tag identifier

Param 2:

R3INT, integer tag value, usually an unique identifier

Param 3:

R3OBJ*, set to null, used internally for managing recusion

JavaScript

rc = obj.FINDTAGCLOSE(p1, p2, p3);

Description

find the nearest (closest) object in the object tree that defines the given attribute.

R3TTM_ALLOCANDGETUNIQUEID

Method

ALLOCANDGETUNIQUEID

Identifier

R3TTM_ALLOCANDGETUNIQUEID

JavaScript

obj.ALLOCANDGETUNIQUEID();

Description

Return the value of the tag R3TTA_UniqueId if set. If not an unique id is alloced, set and returned

R3TTM_ADDDEPENDENTTAGGED

Method

ADDDEPENDENTTAGGED

Identifier

R3TTM_ADDDEPENDENTTAGGED

Param 1:

R3INT, attribute identifier identifying the dependency object

Param 3:

R3INT, attribute value for identifying the dependency object

JavaScript

obj.ADDDEPENDENTTAGGED(p1, p3);

Description

Add the given input object to the dependency list of the object. * The given attribute identifier and value (typically R3TTA_UniqueId) * identifies the input object. * When objects state is changed, the R3RM_UPDATE is generated to the input object.

R3TTM_REMOVEDEPENDENTTAGGED

Method

REMOVEDEPENDENTTAGGED

Identifier

R3TTM_REMOVEDEPENDENTTAGGED

Return

R3BOOL, true if object was found from the dependency list.

Param 1:

R3INT, attribute identifier

Param 3:

R3INT, unique attribute value identifying the dependency object

JavaScript

rc = obj.REMOVEDEPENDENTTAGGED(p1, p3);

Description

Remove the given object from the dependency list of the object.

R3TTM_ENUMDEPENDENTS

Method

ENUMDEPENDENTS

Identifier

R3TTM_ENUMDEPENDENTS

Param 3:

R3TAG*, R3RA_Hook, R3RA_HookData

JavaScript

obj.ENUMDEPENDENTS(p3);

Description

Enumerate dependency objects associated with the object. Dependants * are enumerated to given hook. int hook(R3OBJ *dependent, void *userdata);

R3TTM_REMOVEALLTAGGEDDEPENDE

Method

REMOVEALLTAGGEDDEPENDE

Identifier

R3TTM_REMOVEALLTAGGEDDEPENDE

JavaScript

obj.REMOVEALLTAGGEDDEPENDE();

Description

Remove all dependants from the object.

R3TTM_PROCESSSCRIPT

Method

PROCESSSCRIPT

Identifier

R3TTM_PROCESSSCRIPT

Return

R3BOOL, true if script was succesfully executed.

Param 3:

char*, script to be executed

JavaScript

rc = obj.PROCESSSCRIPT(p3);

Description

Execute the script assosiated with the object.

R3TTM_ENUMEXTERNALFILES

Method

ENUMEXTERNALFILES

Identifier

R3TTM_ENUMEXTERNALFILES

Param 1:

R3OBJ*, callback object

Param 2:

R3INT, callback method

Param 3:

void*, context

JavaScript

obj.ENUMEXTERNALFILES(p1, p2, p3);

Description

Enumerate external files used by the object

R3TTM_TRANSFORMTIMELINES

Method

TRANSFORMTIMELINES

Identifier

R3TTM_TRANSFORMTIMELINES

Param 2:

R3FLOAT, translate

Param 3:

R3FLOAT, scale

JavaScript

obj.TRANSFORMTIMELINES(0, p2, p3);

Description

Translate and scale the time line of all choreographs of the object.

R3TTM_USESMATERIAL

Method

USESMATERIAL

Identifier

R3TTM_USESMATERIAL

Return

R3INT, TRUE if the material is needed.

Param 1:

R3OBJ*, material object

Param 3:

char*, material name

JavaScript

rc = obj.USESMATERIAL(p1, p3);

Description

Queries whether the material is needed by the object.

R3TTM_ISANIMATED

Method

ISANIMATED

Identifier

R3TTM_ISANIMATED

Return

R3BOOL, true if animated.

Param 3:

R3BOOL, no recursive.

JavaScript

rc = obj.ISANIMATED(p3);

Description

Check if the object (or one of its sub objects) defines animation effects.

R3TTM_DELETEKEYFRAMER

Method

DELETEKEYFRAMER

Identifier

R3TTM_DELETEKEYFRAMER

JavaScript

obj.DELETEKEYFRAMER();

Description

Delete the key framer object and all choreographs with it.

R3TTM_PREPANIMTAG

Method

PREPANIMTAG

Identifier

R3TTM_PREPANIMTAG

JavaScript

obj.PREPANIMTAG();

Description

Prepare attribute for key framing. Call this before the attribute is assigned.

R3TTM_GETTIMELINE

Method

GETTIMELINE

Identifier

R3TTM_GETTIMELINE

JavaScript

obj.GETTIMELINE();

Description

Get object's time line.

R3TTM_SETTIMELINE

Method

SETTIMELINE

Identifier

R3TTM_SETTIMELINE

Param 1:

R3BOOL, if true, keys are scaled with inversion matrix

JavaScript

obj.SETTIMELINE(p1, 0);

Description

Set object's time line. If 'p1' is true, keys are scaled inversely so that their positions remain the same in absolute time space.

R3TTM_TOABSTIME

Method

TOABSTIME

Identifier

R3TTM_TOABSTIME

Param 3:

R3FLOAT, time

JavaScript

obj.TOABSTIME(p3);

Description

This method maps the given absolute time value to object's local time space. * To map global time value into the time space of time line, see TOLOCALTIME method.

R3TTM_TOOBJTIME

Method

TOOBJTIME

Identifier

R3TTM_TOOBJTIME

Param 3:

R3FLOAT

JavaScript

obj.TOOBJTIME(p3);

Description

Map time from object's local time space to abs time space.

R3TTM_WRITECHOREOGRAPHY

Method

WRITECHOREOGRAPHY

Identifier

R3TTM_WRITECHOREOGRAPHY

Return

R3BOOL, true if succeeded

Param 1:

R3INT, index of the choreography to be written,

Param 3:

R3TAG*, R3RA_FileObject, R3RA_Error

JavaScript

rc = obj.WRITECHOREOGRAPHY(p1, p3);

Description

Write given choreography to a file

R3TTM_READCHOREOGRAPHY

Method

READCHOREOGRAPHY

Identifier

R3TTM_READCHOREOGRAPHY

Return

R3BOOL, true if succeeded.

Param 3:

R3TAG*, R3RA_FileObject, R3RA_Error

JavaScript

rc = obj.READCHOREOGRAPHY(p3);

Description

Read a choreography from a file.

R3TTM_ALLOCANDGETKEYFRAMER

Method

ALLOCANDGETKEYFRAMER

Identifier

R3TTM_ALLOCANDGETKEYFRAMER

Return

R3OBJ*, keyframer. Null if failed.

JavaScript

rc = obj.ALLOCANDGETKEYFRAMER();

Description

Create key framer for the object. If object already has a key framer, it is returned.

R3TTM_REMOVETAGCHOREOGRAPHY

Method

REMOVETAGCHOREOGRAPHY

Identifier

R3TTM_REMOVETAGCHOREOGRAPHY

Return

R3BOOL, true if succeeded.

Param 1:

R3INT, animated tag

Param 2:

R3INT, animated tag index

Param 3:

R3INT, choreography index

JavaScript

rc = obj.REMOVETAGCHOREOGRAPHY(p1, p2, p3);

Description

R3TTM_SCRIPTOUTPUT

Method

SCRIPTOUTPUT

Identifier

R3TTM_SCRIPTOUTPUT

Param 3:

char

JavaScript

obj.SCRIPTOUTPUT(p3);

Description

output for scripts associated with the object.

R3TTM_REMOVEUNRESOLVEDDEPEND

Method

REMOVEUNRESOLVEDDEPEND

Identifier

R3TTM_REMOVEUNRESOLVEDDEPEND

Param 3:

R3INT, unique identifier specifying references to be removed, or null for all references

JavaScript

obj.REMOVEUNRESOLVEDDEPEND(p3);

Description

Removes unresolved dependents.

R3TTM_DOMSGAWHENIDLE

Method

DOMSGAWHENIDLE

Identifier

R3TTM_DOMSGAWHENIDLE

Return

R3BOOL, true if succeeded

Param 1:

R3OBJ*, object to be called

Param 2:

R3INT, method

Param 3:

void*, param

JavaScript

rc = obj.DOMSGAWHENIDLE(p1, p2, p3);

Description

Send delayed method to an object.

R3TTM_FLUSHIDLES

Method

FLUSHIDLES

Identifier

R3TTM_FLUSHIDLES

Return

R3INT, number of idles

JavaScript

rc = obj.FLUSHIDLES();

Description

Execute all pending idle messages.

R3TTM_BEGINANIM

Method

BEGINANIM

Identifier

R3TTM_BEGINANIM

Param 1:

R3OBJ*, layer

Param 3:

R3INT, number of frames

JavaScript

obj.BEGINANIM(p1, p3);

Description

Sent when animation 'play' started.

R3TTM_ENDANIM

Method

ENDANIM

Identifier

R3TTM_ENDANIM

JavaScript

obj.ENDANIM();

Description

Sent to an object when animation is stopped.

R3TTM_GETENDTIME

Method

GETENDTIME

Identifier

R3TTM_GETENDTIME

Param 3:

R3FLOAT, buffer for end time to be fetched.

JavaScript

obj.GETENDTIME(p3);

Description

Return the end time. Note: this works only if the owner object (layer) has set the GetEndTimeObj and GetEndTimeMth call backs and the object is linked into the layer.

R3TTM_GETWEIGHT

Method

GETWEIGHT

Identifier

R3TTM_GETWEIGHT

Param 3:

R3FLOAT, weight

JavaScript

obj.GETWEIGHT(p3);

Description

Geometric objects can define object specific weight. It is up to the sub classes to implement this method.

R3TTM_WEIGHTCHANGED

Method

WEIGHTCHANGED

Identifier

R3TTM_WEIGHTCHANGED

JavaScript

obj.WEIGHTCHANGED();

Description

Total weight of object has changed.

R3TTM_CHANGEDEPENDENTTAGGED

Method

CHANGEDEPENDENTTAGGED

Identifier

R3TTM_CHANGEDEPENDENTTAGGED

Return

R3BOOL, true if succeeded.

Param 1:

R3INT, tag identifier of the dependency

Param 2:

R3INT, tag value of the dependency

Param 3:

R3INT, new tag value

JavaScript

rc = obj.CHANGEDEPENDENTTAGGED(p1, p2, p3);

Description

Change value of the given dependency tag.

R3TTM_ENUMDEPENDENTREFERENCE

Method

ENUMDEPENDENTREFERENCE

Identifier

R3TTM_ENUMDEPENDENTREFERENCE

Param 3:

R3TAG*, R3RA_Hook, R3RA_HookData.

JavaScript

obj.ENUMDEPENDENTREFERENCE(p3);

Description

Enumerates all tagged dependency references. The given callback is called as 'callback(obj, int tag, int uniqueid, void hookdata);

R3TTCM_REGISTERDEPENDENCYTAG

Method

REGISTERDEPENDENCYTAG

Identifier

R3TTCM_REGISTERDEPENDENCYTAG

Return

R3BOOL, true if succeeded.

JavaScript

rc = obj.REGISTERDEPENDENCYTAG();

Description

Describe bi-directional binding for optimized findtagclose.

R3TTM_GETORIGVAL

Method

GETORIGVAL

Identifier

R3TTM_GETORIGVAL

Return

void*, data

Param 1:

R3INT, attribute

Param 3:

R3INT, index or -1 for regular attrs

JavaScript

rc = obj.GETORIGVAL(p1, p3);

Description

R3TTM_REMOVEREFERENCES

Method

REMOVEREFERENCES

Identifier

R3TTM_REMOVEREFERENCES

Param 1:

R3BOOL, permanent

Param 3:

R3OBJ*, target object to be removed. NULL indicats that 'this' object will be removed.

JavaScript

obj.REMOVEREFERENCES(p1, p3);

Description

For class implementors. Used for removing references to other objects, or for informing other objects to remove references to the object in question. Object removes all references to the given 'p3' target object. If 'p3' is null, then the dependency objects should remove their references to this object. If 'p1' is TRUE, references should be removed permanently (r3rm_delete). Otherwise references should be invalidated. This method is called from R3RM_REMOVE and R3RM_DELETE methods.

R3TTM_SETSUBATTR

Method

SETSUBATTR

Identifier

R3TTM_SETSUBATTR

Param 1:

R3INT, attribute to be set

Param 2:

R3INT, ordnum of the sub field (0 = x, 1 = y etc. )

Param 3:

R3FLOAT, new value

JavaScript

obj.SETSUBATTR(p1, p2, p3);

Description

This method is used for setting x/y/z etc. components of vector attribututes.

R3TTM_TOGLOBALTIME

Method

TOGLOBALTIME

Identifier

R3TTM_TOGLOBALTIME

Param 1:

R3INT, choreography index

Param 2:

R3BOOL, scale only

Param 3:

R3FLOAT, time value

JavaScript

obj.TOGLOBALTIME(p1, p2, p3);

Description

This method converts from time relative to a timeline to global time.

R3TTM_TOLOCALTIME

Method

TOLOCALTIME

Identifier

R3TTM_TOLOCALTIME

Param 1:

R3INT, choreography index

Param 2:

R3BOOL, scale only

Param 3:

R3FLOAT, time value

JavaScript

obj.TOLOCALTIME(p1, p2, p3);

Description

This method converts global (absolute) time to time relative to a timeline * of the specified choreography.

R3TTM_TAGISANIMATEDINCHOREOG

Method

TAGISANIMATEDINCHOREOG

Identifier

R3TTM_TAGISANIMATEDINCHOREOG

Return

R3BOOL, TRUE if the tag is animated in the given choreography

Param 1:

R3INT, choreography index, -1 for the currently active choreography

Param 2:

R3INT, animated tag

Param 3:

R3INT, animated tag index

JavaScript

rc = obj.TAGISANIMATEDINCHOREOG(p1, p2, p3);

Description

R3TTM_INITTAG

Method

INITTAG

Identifier

R3TTM_INITTAG

Return

R3BOOL, true if succeeded.

JavaScript

rc = obj.INITTAG();

Description

Initialize given attribute for choreographing.

R3TTM_BREAKTAGS

Method

BREAKTAGS

Identifier

R3TTM_BREAKTAGS

Param 3:

R3TAG*, tag value pairs specifying the attribute + attribute index.

JavaScript

obj.BREAKTAGS(p3);

Description

For chor class implementors. Causes constr. system to flush the specified attribute. Attribute will not be handled by the current chor.

R3TTM_ISMANAGED

Method

ISMANAGED

Identifier

R3TTM_ISMANAGED

Return

R3BOOL, true if the attribute is managed

Param 3:

R3TAG*, R3TTA_AniClid, R3TTA_AniTag, R3TTA_AniTagIndex, R3TTA_KiObj, R3TTA_KiChoreographyIndex

JavaScript

rc = obj.ISMANAGED(p3);

Description

See if the given attribute is managed, or managed by the given type constructor.

R3TTM_ISENABLED

Method

ISENABLED

Identifier

R3TTM_ISENABLED

Return

R3BOOL, true if enabled

JavaScript

rc = obj.ISENABLED();

Description

Same as R3RM_GET R3TTA_Enabled. Returns TRUE if object is enabled. * Object is 'disabled' when it is, for example, moved to undo buffer.

R3TTM_NEWANIMTAG

Method

NEWANIMTAG

Identifier

R3TTM_NEWANIMTAG

Param 1:

R3INT, attribute identifier

Param 3:

R3INT, attribute index or -1 for regular attributes

JavaScript

obj.NEWANIMTAG(p1, p3);

Description

Create a new animateable attribute from the given attribute * identifier and attribute index.

R3TTM_GETCHORINPUT

Method

GETCHORINPUT

Identifier

R3TTM_GETCHORINPUT

Return

R3OBJ*, input object

Param 3:

R3INT, choreography index

JavaScript

rc = obj.GETCHORINPUT(p3);

Description

Fetch the input object associated with the given choreography

R3TTM_NEWCHOROBJ

Method

NEWCHOROBJ

Identifier

R3TTM_NEWCHOROBJ

Return

R3OBJ*, choreography object

Param 1:

R3OBJ*, animated attribute returned by R3TTM_NEWANIMTAG

Param 3:

R3INT, choreography index

JavaScript

rc = obj.NEWCHOROBJ(p1, p3);

Description

Create a new choreography object to manage the given attribute.

R3TTM_DELCHOROBJ

Method

DELCHOROBJ

Identifier

R3TTM_DELCHOROBJ

Param 1:

R3OBJ*, animated object

Param 3:

R3INT, choreography index

JavaScript

obj.DELCHOROBJ(p1, p3);

Description

Delete a choreography object binding the given * choreography index and the animation object.

R3TTM_RESOLVEREFS

Method

RESOLVEREFS

Identifier

R3TTM_RESOLVEREFS

JavaScript

obj.RESOLVEREFS();

Description

Resolve references. Called when an object is inserted to layer.

R3TTM_RECONSTRUCT

Method

RECONSTRUCT

Identifier

R3TTM_RECONSTRUCT

Param 3:

R3BOOL, force reconstruct

JavaScript

obj.RECONSTRUCT(p3);

Description

Run construction process for the object.

R3TTM_RECORD

Method

RECORD

Identifier

R3TTM_RECORD

Return

R3BOOL, true if succeeded

Param 3:

R3BOOL, true to enable, false to disable

JavaScript

rc = obj.RECORD(p3);

Description

Enable animation recording for the object.

R3TTM_PREPANIMATEDTAG

Method

PREPANIMATEDTAG

Identifier

R3TTM_PREPANIMATEDTAG

Param 3:

R3INT, attribute

JavaScript

obj.PREPANIMATEDTAG(p3);

Description

Prepare the attribute for key creation

R3TTM_PREPINDEXEDANIMATEDTAG

Method

PREPINDEXEDANIMATEDTAG

Identifier

R3TTM_PREPINDEXEDANIMATEDTAG

Param 1:

R3INT, index of the attribute

Param 3:

R3INT, attribute

JavaScript

obj.PREPINDEXEDANIMATEDTAG(p1, p3);

Description

Prepare the attribute for key creation

R3TTM_RECONSTRUCTOPTIMIZED

Method

RECONSTRUCTOPTIMIZED

Identifier

R3TTM_RECONSTRUCTOPTIMIZED

Param 3:

R3BOOL, force

JavaScript

obj.RECONSTRUCTOPTIMIZED(p3);

Description

Start optimized construcion. Don't call this method directly. Instead, call R3TTM_RECONSTRUCT

R3TTM_EXECUTE

Method

EXECUTE

Identifier

R3TTM_EXECUTE

JavaScript

obj.EXECUTE();

Description

This method is sent by R3TTM_RECONSTRUCT. Constructors should * catch this method and apply their effects.

R3TTM_MIRRORTIMELINE

Method

MIRRORTIMELINE

Identifier

R3TTM_MIRRORTIMELINE

Param 3:

R3INT, chor

JavaScript

obj.MIRRORTIMELINE(p3);

Description

Mirror the given choreography object.

R3TTM_SETTAGVALUE

Method

SETTAGVALUE

Identifier

R3TTM_SETTAGVALUE

Return

R3BOOL, if the tag doesn't exist, return NULL, otherwise TRUE.

Param 1:

R3INT, dynamic tag

Param 3:

void*, value

JavaScript

rc = obj.SETTAGVALUE(p1, p3);

Description

Sets value for a dynamic tag.

R3TTM_FLUSHSELECTEDIDLES

Method

FLUSHSELECTEDIDLES

Identifier

R3TTM_FLUSHSELECTEDIDLES

Param 1:

R3INT, method, if != 0 only these methods are removed/executed

Param 2:

R3BOOL, dont_execute, if TRUE selected idle messages are removed but not executed

JavaScript

obj.FLUSHSELECTEDIDLES(p1, p2, 0);

Description

Execute selected pending idle messages

R3TTM_SCRIPTERROR

Method

SCRIPTERROR

Identifier

R3TTM_SCRIPTERROR

Param 1:

char*, format

Param 3:

char*, msg

JavaScript

obj.SCRIPTERROR(p1, p3);

Description

Callback method for printing scripting errors

R3TTM_ISTIMEBASED

Method

ISTIMEBASED

Identifier

R3TTM_ISTIMEBASED

Return

R3BOOL, true if time based.

JavaScript

rc = obj.ISTIMEBASED();

Description

Return true if the object in question is animated and the animation depends on time.

R3TTM_CALLUPDATE

Method

CALLUPDATE

Identifier

R3TTM_CALLUPDATE

JavaScript

obj.CALLUPDATE();

Description

Some objects may introduce several interfaces to a certain attribute. * When such an attribute is defined, this method must be catched. The method * should call R3RM_UPDATE with the attribute + all the other attributes * that depend on the attribute in question. For class implementors only.

R3TTM_MAKETARGET

Method

MAKETARGET

Identifier

R3TTM_MAKETARGET

Param 3:

R3BOOL, TRUE/FALSE to set/reset target property

JavaScript

obj.MAKETARGET(p3);

Description

Set 'target' property for the object. This indicates that the object * is created / managed by other objects in the scene and there is no need to * save/load them, for example.

R3TTM_ISTARGET

Method

ISTARGET

Identifier

R3TTM_ISTARGET

Return

R3BOOL, TRUE if target, FALSE if not

JavaScript

rc = obj.ISTARGET();

Description

Return TRUE if the object has 'target' property set.

R3TTM_SETTAGS

Method

SETTAGS

Identifier

R3TTM_SETTAGS

Param 3:

R3TAG*, tag array

JavaScript

obj.SETTAGS(p3);

Description

Same as R3RM_SET, except that no R3RM_CHANGED events are generated.

R3TTM_LOADREADY

Method

LOADREADY

Identifier

R3TTM_LOADREADY

JavaScript

obj.LOADREADY();

Description

For class implementors only. Called when all object attributes are loaded.

R3TTM_SETITAG

Method

SETITAG

Identifier

R3TTM_SETITAG

Return

R3BOOL, true if succeeded

Param 1:

char*, tag identifier string. Must consists of four characters. The first character * determines the type, as defined in r3ttag.h (R3TT_I etc.).

Param 3:

R3INT, attribute to be set

JavaScript

rc = obj.SETITAG(p1, p3);

Description

Set integer user tag. User tags are identified as four ascii characters, whose * first character determines the type of the tag.

R3TTM_GETITAG

Method

GETITAG

Identifier

R3TTM_GETITAG

Return

R3BOOL, true if succeeded

Param 1:

char*, tag identifier string. Must consists of four characters. The first character * determines the type, as defined in r3ttag.h (R3TT_I etc.).

Param 3:

R3INT*, buffer for the attribute to be fetched

JavaScript

rc = obj.GETITAG(p1, p3);

Description

Fetch integer user tag. User tags are identified as four ascii characters, whose * first character determines the type of the tag.

R3TTM_SETFTAG

Method

SETFTAG

Identifier

R3TTM_SETFTAG

Return

R3BOOL, true if succeeded

Param 1:

char*, tag identifier string. Must consists of four characters. The first character * determines the type, as defined in r3ttag.h (R3TT_I etc.).

Param 3:

R3FLOAT, attribute to be set

JavaScript

rc = obj.SETFTAG(p1, p3);

Description

Set float user tag. User tags are identified as four ascii characters, whose * first character determines the type of the tag.

R3TTM_GETFTAG

Method

GETFTAG

Identifier

R3TTM_GETFTAG

Return

R3BOOL, true if succeeded

Param 1:

char*, tag identifier string. Must consists of four characters. The first character * determines the type, as defined in r3ttag.h (R3TT_I etc.).

Param 3:

R3FLOAT, buffer for the attribute to be fetched

JavaScript

rc = obj.GETFTAG(p1, p3);

Description

Fetch user tag. User tags are identified as four ascii characters, whose * first character determines the type of the tag.

R3TTM_SETVTAG

Method

SETVTAG

Identifier

R3TTM_SETVTAG

Return

R3BOOL, true if succeeded

Param 1:

char*, tag identifier string. Must consists of four characters. The first character * determines the type, as defined in r3ttag.h (R3TT_I etc.).

Param 3:

R3VECTOR, attribute to be set

JavaScript

rc = obj.SETVTAG(p1, p3);

Description

Set vector user tag. User tags are identified as four ascii characters, whose * first character determines the type of the tag.

R3TTM_GETVTAG

Method

GETVTAG

Identifier

R3TTM_GETVTAG

Return

R3BOOL, true if succeeded

Param 1:

char*, tag identifier string. Must consists of four characters. The first character * determines the type, as defined in r3ttag.h (R3TT_I etc.).

Param 3:

R3VECTOR, buffer for the attribute to be fetched

JavaScript

rc = obj.GETVTAG(p1, p3);

Description

Fetch vector user tag. User tags are identified as four ascii characters, whose * first character determines the type of the tag.

R3TTM_SETCSTAG

Method

SETCSTAG

Identifier

R3TTM_SETCSTAG

Return

R3BOOL, true if succeeded

Param 1:

char*, tag identifier string. Must consists of four characters. The first character * determines the type, as defined in r3ttag.h (R3TT_I etc.).

Param 3:

R3VECTOR, attribute to be set

JavaScript

rc = obj.SETCSTAG(p1, p3);

Description

Set coordinate system tag. User tags are identified as four ascii characters, whose * first character determines the type of the tag.

R3TTM_GETCSTAG

Method

GETCSTAG

Identifier

R3TTM_GETCSTAG

Return

R3BOOL, true if succeeded

Param 1:

char*, tag identifier string. Must consists of four characters. The first character * determines the type, as defined in r3ttag.h (R3TT_I etc.).

Param 3:

R3COORDSYS, buffer for the attribute to be fetched

JavaScript

rc = obj.GETCSTAG(p1, p3);

Description

Fetch coordinate system tag. User tags are identified as four ascii characters, whose * first character determines the type of the tag.

R3TTM_UNSELECTALLKNOTS

Method

UNSELECTALLKNOTS

Identifier

R3TTM_UNSELECTALLKNOTS

JavaScript

obj.UNSELECTALLKNOTS();

Description

Unselect all key frames

R3TTM_SELECTKNOT

Method

SELECTKNOT

Identifier

R3TTM_SELECTKNOT

Param 1:

R3INT, attribute

Param 2:

R3INT, attribute index for indexed attrs, or -1 for regular attrs

Param 3:

R3TAG*, R3TTA_ChoreographyIndex, R3TTA_KnotIndex

JavaScript

obj.SELECTKNOT(p1, p2, p3);

Description

Select key frame specified by R3TTA_KnotIndex.

R3TTM_TRANSLATESELECTEDKNOTS

Method

TRANSLATESELECTEDKNOTS

Identifier

R3TTM_TRANSLATESELECTEDKNOTS

Param 1:

R3INT, attribute identifier

Param 2:

R3INT, attribute index for indexed attrs, or -1 for regular attrs

Param 3:

R3TAG*, R3TTA_ChoreographyIndex, R3TTA_TranslateKnotDelta, R3TTA_TranslateKnotSnap

JavaScript

obj.TRANSLATESELECTEDKNOTS(p1, p2, p3);

Description

Translate selected key frames. R3TTA_TransalteKnotDelta (R3FLOAT) defines * the translation in abs time space.

R3TTM_DELETESELECTEDKNOTS

Method

DELETESELECTEDKNOTS

Identifier

R3TTM_DELETESELECTEDKNOTS

Param 1:

R3INT, attribute

Param 2:

R3INT, attribute index, or -1 for regular attrs

Param 3:

R3TAG*, R3TTA_ChoreographyIndex

JavaScript

obj.DELETESELECTEDKNOTS(p1, p2, p3);

Description

Delete selected key frames from the given attribute and choreography.

R3TTM_DUPLICATESELECTEDKNOTS

Method

DUPLICATESELECTEDKNOTS

Identifier

R3TTM_DUPLICATESELECTEDKNOTS

Param 1:

R3INT, attribute

Param 2:

R3INT, attribute index, or -1 for regular attrs

Param 3:

R3TAG*, R3TTA_ChoreographyIndex (R3INT), R3TTA_SelectDuplicateKnots (R3BOOL)

JavaScript

obj.DUPLICATESELECTEDKNOTS(p1, p2, p3);

Description

Duplicate selected knots.

R3TTM_SETSELECTEDKNOTS

Method

SETSELECTEDKNOTS

Identifier

R3TTM_SETSELECTEDKNOTS

Param 1:

R3INT, attribute identifier

Param 2:

R3INT, attribute index, or -1 for regular attrs

Param 3:

R3TAG*, R3TTA_ChoreographyIndex (R3INT), R3TTA_KnotValue (R3FLOAT*)

JavaScript

obj.SETSELECTEDKNOTS(p1, p2, p3);

Description

Assign value to the selected key frames

R3TTM_ENUMTIMELINES

Method

ENUMTIMELINES

Identifier

R3TTM_ENUMTIMELINES

Param 1:

R3OBJ*, callback object to be called per timeline

Param 2:

R3INT, callback method

Param 3:

R3TAG*, R3TTA_ChoreographyIndex, R3RA_HookData,

JavaScript

obj.ENUMTIMELINES(p1, p2, p3);

Description

Enumerate time lines for the given choreography. If ChoreographyIndex * is -1, all chors are enumerated.

R3TTM_GETANIMCURVEFORCHOR

Method

GETANIMCURVEFORCHOR

Identifier

R3TTM_GETANIMCURVEFORCHOR

Return

R3OBJ*, curve or NULL if the point in question is not animated

Param 1:

R3INT, tag

Param 2:

R3INT, tag index or -1 for regular tags

Param 3:

R3TAG*, R3TTA_ChoreograhyIndex, R3TTA_PointIndex

JavaScript

rc = obj.GETANIMCURVEFORCHOR(p1, p2, p3);

Description

Get animation curve for the given choreography, selected point and attribute.

R3TTM_GETNEXTKNOTPOS

Method

GETNEXTKNOTPOS

Identifier

R3TTM_GETNEXTKNOTPOS

Return

R3BOOL, true if found

Param 1:

R3INT, attribute

Param 2:

R3INT, attribute index,

Param 3:

R3TAG*, R3TTA_ChoreographyIndex (R3INT), R3TTA_KnotValue (R3FLOAT*)

JavaScript

rc = obj.GETNEXTKNOTPOS(p1, p2, p3);

Description

Given time in abs space, find the time of the next knot position. * The current time is given in R3TTA_KnotValue.

R3TTM_GETPREVIOUSKNOTPOS

Method

GETPREVIOUSKNOTPOS

Identifier

R3TTM_GETPREVIOUSKNOTPOS

Return

R3BOOL, true if found

Param 1:

R3INT, attribute

Param 2:

R3INT, attribute index,

Param 3:

R3TAG*, R3TTA_ChoreographyIndex (R3INT), R3TTA_KnotValue (R3FLOAT*)

JavaScript

rc = obj.GETPREVIOUSKNOTPOS(p1, p2, p3);

Description

Given time in abs space, find the time of the previous knot position. * The current time is given in R3TTA_KnotValue.

R3TTM_MANAGETAG

Method

MANAGETAG

Identifier

R3TTM_MANAGETAG

Return

R3OBJ*, animated attribute object or NULL if failed

Param 3:

R3TAG*, see R3TTA_Ani.. tags

JavaScript

rc = obj.MANAGETAG(p3);

Description

Same as R3TTM_PREPANIMTAG, but is not sensitive to anim. record mode. * Choreography is always created, unless there is already a chor. * with the given name and class id.

R3TTM_UPDATETAGSIZE

Method

UPDATETAGSIZE

Identifier

R3TTM_UPDATETAGSIZE

Param 1:

R3INT, tag

Param 3:

R3INT, tag index, or -1 for regular attrs.

JavaScript

obj.UPDATETAGSIZE(p1, p3);

Description

This method is for backward compability only. IF an object writes an array to a file and the item size changes, all old projects must be update by calling this method for the attribute.

R3TTM_DELCHORBYINPUT

Method

DELCHORBYINPUT

Identifier

R3TTM_DELCHORBYINPUT

Return

R3BOOL, true if chor was found and deleted.

Param 3:

R3TAG*, see R3TTA_Ani.. tags

JavaScript

rc = obj.DELCHORBYINPUT(p3);

Description

Removes the choreography associated with the given input object.

R3TTM_RESETKEYFRAMEINPUTOBJE

Method

RESETKEYFRAMEINPUTOBJE

Identifier

R3TTM_RESETKEYFRAMEINPUTOBJE

JavaScript

obj.RESETKEYFRAMEINPUTOBJE();

Description

Detach from the given input object.

R3TTM_UNMANAGETAG

Method

UNMANAGETAG

Identifier

R3TTM_UNMANAGETAG

Param 3:

R3TAG*

JavaScript

obj.UNMANAGETAG(p3);

Description

Remove the given choreographs from the tag.

R3TTM_MOVECHOR

Method

MOVECHOR

Identifier

R3TTM_MOVECHOR

Return

R3BOOL, true if succeeded

Param 1:

R3INT, from

Param 3:

R3INT, to

JavaScript

rc = obj.MOVECHOR(p1, p3);

Description

Move the choreography in the constructin stack

R3TTM_NEWCHOR

Method

NEWCHOR

Identifier

R3TTM_NEWCHOR

Return

R3BOOL, false if failed

Param 1:

R3CLID, class id

Param 2:

R3INT, chornum (choreography index) specifying the position.

Param 3:

char*, name

JavaScript

rc = obj.NEWCHOR(p1, p2, p3);

Description

Create new choreography. The new chor is inserted after the specified chor index. * If -1 is passed in p2, the new chor is inserted after the current chor. Note: * This just creates a choreography entry. No animated attributes nor actual * choreography objects will be created.

R3TTM_DELCHOR

Method

DELCHOR

Identifier

R3TTM_DELCHOR

Return

R3BOOL, true if succeeded

Param 1:

R3BOOL, dont try to resolve any references

Param 3:

R3INT, chornum

JavaScript

rc = obj.DELCHOR(p1, p3);

Description

Delete choreography specified by ordnum

R3TTM_COPYCHOR

Method

COPYCHOR

Identifier

R3TTM_COPYCHOR

Return

R3BOOL, true if succeeded

Param 1:

R3INT, chor to be copied

Param 3:

R3INT, index of the newly created chor. If -1, new chor will be inserted * after the current chor.

JavaScript

rc = obj.COPYCHOR(p1, p3);

Description

Duplicate a choreography

R3TTM_CHORCHANGED

Method

CHORCHANGED

Identifier

R3TTM_CHORCHANGED

JavaScript

obj.CHORCHANGED();

Description

Private callback method for reporting attr. changes.

R3TTM_COPYANIMATEDATTRS

Method

COPYANIMATEDATTRS

Identifier

R3TTM_COPYANIMATEDATTRS

Return

R3BOOL, true if succeeded

Param 1:

R3OBJ*, from object

Param 2:

R3INT, from choreography

Param 3:

R3INT, to choreography

JavaScript

rc = obj.COPYANIMATEDATTRS(p1, p2, p3);

Description

Copy animated attributes associated with the given source object and choreography to given target object and choreography.

R3TTM_ADDKEYFRAME

Method

ADDKEYFRAME

Identifier

R3TTM_ADDKEYFRAME

Return

R3BOOL, true if succeeded

Param 1:

R3INT, attribute

Param 3:

R3INT, attribute index or -1 for regular attributes

JavaScript

rc = obj.ADDKEYFRAME(p1, p3);

Description

Add new keyframe

R3TTM_TAGENABLEKEYFR

Method

TAGENABLEKEYFR

Identifier

R3TTM_TAGENABLEKEYFR

Return

R3BOOL, true if succeeded

Param 1:

R3INT, attribute id

Param 2:

R3INT, attribute index, or -1 for regular attrs

Param 3:

R3BOOL, true to enable, false to disable

JavaScript

rc = obj.TAGENABLEKEYFR(p1, p2, p3);

Description

Enable / disable keyframing for the given attribute

R3TTM_SELECTANIMTAG

Method

SELECTANIMTAG

Identifier

R3TTM_SELECTANIMTAG

Return

R3BOOL, true if succeeded

Param 1:

R3INT, attr identifier

Param 2:

R3INT, index if indexed attr, -1 for regular attrs

Param 3:

R3BOOL, true selects, false deselects

JavaScript

rc = obj.SELECTANIMTAG(p1, p2, p3);

Description

Selected animated attribute.

R3TTM_ANIMTAGISSELECTED

Method

ANIMTAGISSELECTED

Identifier

R3TTM_ANIMTAGISSELECTED

Return

R3BOOL, true selected, false not selected

Param 1:

R3INT, attribute id

Param 3:

R3INT, index for indexed attrs, -1 for regular attrs

JavaScript

rc = obj.ANIMTAGISSELECTED(p1, p3);

Description

See if the given attribute is selected.

R3TTM_UP

Method

UP

Identifier

R3TTM_UP

Return

R3BOOL, true if succeeded, false for no more chors.

JavaScript

rc = obj.UP();

Description

Make the next constructor in the stack the current constructor.

R3TTM_DOWN

Method

DOWN

Identifier

R3TTM_DOWN

Return

R3BOOL, true if succeeded, false for no more chors.

JavaScript

rc = obj.DOWN();

Description

Make the previous constructor in the stack the current constructor.

R3TTM_SHOWCHOR

Method

SHOWCHOR

Identifier

R3TTM_SHOWCHOR

Return

R3BOOL, true if succeeded

Param 3:

R3INT, choreography index

JavaScript

rc = obj.SHOWCHOR(p3);

Description

Make the given choreography visible.

R3TTM_HIDECHOR

Method

HIDECHOR

Identifier

R3TTM_HIDECHOR

Return

R3BOOL, true if succeeded

Param 3:

R3INT, choreography index

JavaScript

rc = obj.HIDECHOR(p3);

Description

Make the given choreography invisible.

R3TTM_SHOWALLCHORS

Method

SHOWALLCHORS

Identifier

R3TTM_SHOWALLCHORS

Return

R3BOOL, true if choreographs were found

JavaScript

rc = obj.SHOWALLCHORS();

Description

Make all choreographs visible

R3TTM_PURGECHORS

Method

PURGECHORS

Identifier

R3TTM_PURGECHORS

JavaScript

obj.PURGECHORS();

Description

Remove empty keyframers

R3TTM_TAGISKEYFRENABLED

Method

TAGISKEYFRENABLED

Identifier

R3TTM_TAGISKEYFRENABLED

Return

R3BOOL, true if enabled

Param 1:

R3INT, attribute identifier

Param 3:

R3INT, index for indexed attrs, -1 for regular

JavaScript

rc = obj.TAGISKEYFRENABLED(p1, p3);

Description

See if the attribute is enabled / disabled for key framing.

R3TTM_GETCHORNAME

Method

GETCHORNAME

Identifier

R3TTM_GETCHORNAME

Return

char*, reference to choreography name

Param 3:

R3INT, choreography index

JavaScript

rc = obj.GETCHORNAME(p3);

Description

Given choreography index, fetch the name of the choreography

R3TTM_GETCHORCLID

Method

GETCHORCLID

Identifier

R3TTM_GETCHORCLID

Return

R3CLID, class id of the given choreography

Param 3:

R3INT, choreography index

JavaScript

rc = obj.GETCHORCLID(p3);

Description

Given choreography index, fetch the class id of the choreography object

R3TTM_GETCHORCOUNT

Method

GETCHORCOUNT

Identifier

R3TTM_GETCHORCOUNT

Return

R3INT, number of choreographs

JavaScript

rc = obj.GETCHORCOUNT();

Description

Fetch the number of choreographs.

R3TTM_GETCHORBYINPUT

Method

GETCHORBYINPUT

Identifier

R3TTM_GETCHORBYINPUT

Return

R3INT, choreography index, or -1 if no chor was found.

Param 1:

R3CLID, choreography class id

Param 3:

R3INT, unique id identifying the input object

JavaScript

rc = obj.GETCHORBYINPUT(p1, p3);

Description

See if there is a choreography with given class id associated with the given input object.

R3TTM_SUPPORTKEYFRAMING

Method

SUPPORTKEYFRAMING

Identifier

R3TTM_SUPPORTKEYFRAMING

Return

R3BOOL, true if supported

Param 1:

R3INT, attribute

Param 2:

R3INT, attribute index for indexed attrs, or -1 for regular attrs

Param 3:

R3INT, choreography index

JavaScript

rc = obj.SUPPORTKEYFRAMING(p1, p2, p3);

Description

See if the given choreography supports key framing

R3TTM_FLUSHTAGS

Method

FLUSHTAGS

Identifier

R3TTM_FLUSHTAGS

Param 3:

R3TAG*, attributes to be flushed.

JavaScript

obj.FLUSHTAGS(p3);

Description

Must be called by constructors who need to read attributes * from objects. a

R3TTM_SPLITTIMELINE

Method

SPLITTIMELINE

Identifier

R3TTM_SPLITTIMELINE

Return

R3BOOL, true if succeeded

Param 1:

R3INT, choreography index. If 0, all sub choreographs are split

Param 3:

R3FLOAT, time

JavaScript

rc = obj.SPLITTIMELINE(p1, p3);

Description

Split time line of the given chor.

R3TTM_KEYFRAME

Method

KEYFRAME

Identifier

R3TTM_KEYFRAME

Return

R3OBJ*, keyframer object, if succeeded

Param 3:

R3BOOL, true enables key framing, FALSE disables it.

JavaScript

rc = obj.KEYFRAME(p3);

Description

Enable / disable keyframing for the object.

R3TTM_FINDTAGCLOSEHIERARCHY

Method

FINDTAGCLOSEHIERARCHY

Identifier

R3TTM_FINDTAGCLOSEHIERARCHY

Return

R3OBJ*, target object

Param 1:

R3INT, tag identifier

Param 2:

R3INT, identifier value

Param 3:

R3OBJ*, nothere

JavaScript

rc = obj.FINDTAGCLOSEHIERARCHY(p1, p2, p3);

Description

Hierarchy based, non-optimized

R3TTM_TAGIDCHANGED

Method

TAGIDCHANGED

Identifier

R3TTM_TAGIDCHANGED

Param 1:

R3INT, tag identifier

Param 2:

R3INT, original value

Param 3:

R3INT, new value

JavaScript

obj.TAGIDCHANGED(p1, p2, p3);

Description

If object uses custom identifier for R3TTM_FINDTAGCLOSE, * it must call this method whenever the object identifier changes.

R3TTM_GETCURRENTFRAME

Method

GETCURRENTFRAME

Identifier

R3TTM_GETCURRENTFRAME

Param 3:

R3INT*, buffer for the current frame

JavaScript

obj.GETCURRENTFRAME(p3);

Description

Return the current frame. Note: this works only if the owner object (layer) has set the GetTimeObj and GetFrameMth call backs.

R3TTM_MAPFROMINPUT

Method

MAPFROMINPUT

Identifier

R3TTM_MAPFROMINPUT

Return

R3BOOL, true if method succeeded

Param 1:

R3OBJ*, keyframer object

Param 2:

R3INT, point index

Param 3:

R3VECTOR, vector to be mapped

JavaScript

rc = obj.MAPFROMINPUT(p1, p2, p3);

Description

Map chor effect from input space to target space

R3TTM_MAPTOINPUT

Method

MAPTOINPUT

Identifier

R3TTM_MAPTOINPUT

Return

R3BOOL, true if method succeeded

Param 1:

R3OBJ*, keyframer object

Param 2:

R3INT, point index

Param 3:

R3VECTOR, vector to be mapped

JavaScript

rc = obj.MAPTOINPUT(p1, p2, p3);

Description

Map chor effect from target to input space

R3TTM_SETINPUTSPACE

Method

SETINPUTSPACE

Identifier

R3TTM_SETINPUTSPACE

Return

R3BOOL, true if method succeeded

Param 1:

R3BOOL, true for input object's space, false for native space

Param 3:

R3TAG*, R3TTA_AniTag, R3TTA_AniTagIndex, R3TTA_KiChoreographyIndex

JavaScript

rc = obj.SETINPUTSPACE(p1, p3);

Description

Enable input space for the specified choreography and attribute.

R3TTM_GETINPUTSPACE

Method

GETINPUTSPACE

Identifier

R3TTM_GETINPUTSPACE

Return

R3BOOL, true if method succeeded

Param 1:

R3BOOL*, true for input object's space, false for native space

Param 3:

R3TAG*, R3TTA_AniTag, R3TTA_AniTagIndex, R3TTA_KiChoreographyIndex

JavaScript

rc = obj.GETINPUTSPACE(p1, p3);

Description

Enable input space for the specified choreography and attribute.

R3TTM_SHARPENSELECTEDKNOTS

Method

SHARPENSELECTEDKNOTS

Identifier

R3TTM_SHARPENSELECTEDKNOTS

Param 1:

R3INT, attribute

Param 2:

R3INT, attribute index, or -1 for regular attrs

Param 3:

R3TAG*, R3TTA_ChoreographyIndex

JavaScript

obj.SHARPENSELECTEDKNOTS(p1, p2, p3);

Description

Set selected keyframers polygonal.

R3TTM_TOP

Method

TOP

Identifier

R3TTM_TOP

Return

R3BOOL, true if succeeded, false if no chors found.

JavaScript

rc = obj.TOP();

Description

Make the last chor the current constructor.

R3TTM_BOTTOM

Method

BOTTOM

Identifier

R3TTM_BOTTOM

Return

R3BOOL, true if succeeded, false for no chors.

JavaScript

rc = obj.BOTTOM();

Description

Make the init. constructor he current constructor.

Keyframer

Attribute

Keyframer

Identifier

R3TTA_Keyframer

JavaScript type

Object

C type

R3OBJ*

Description

keyframer object

Syntax


jsobj.SetKeyframer(value);
value = jsobj.GetKeyframer();


R3OBJ* value = ...;
R3SetAttrs(r3obj, R3TTA_Keyframer, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3TTA_Keyframer, &value, R3TAG_END);

AnimRecord

Attribute

AnimRecord

Identifier

R3TTA_AnimRecord

JavaScript type

Boolean

C type

R3BOOL

Description

object is in anim. record mode

Syntax


jsobj.SetAnimRecord(value);
value = jsobj.GetAnimRecord();


R3BOOL value = ...;
R3SetAttrs(r3obj, R3TTA_AnimRecord, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3TTA_AnimRecord, &value, R3TAG_END);

ChoreographyFrequency

Attribute

ChoreographyFrequency

Identifier

R3TTA_ChoreographyFrequency

JavaScript type

Number

C type

R3FLOAT

Description

indexed attr. Frequency for choreographs

Syntax


jsobj.SetChoreographyFrequency(index, value);
value = jsobj.GetChoreographyFrequency(index);


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3TTA_ChoreographyFrequency, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3TTA_ChoreographyFrequency, &value, R3TAG_END);

ChoreographyWeight

Attribute

ChoreographyWeight

Identifier

R3TTA_ChoreographyWeight

JavaScript type

Number

C type

R3FLOAT

Description

indexed attr, weight for choreographs

Syntax


jsobj.SetChoreographyWeight(index, value);
value = jsobj.GetChoreographyWeight(index);


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3TTA_ChoreographyWeight, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3TTA_ChoreographyWeight, &value, R3TAG_END);

AnimIfTarget

Attribute

AnimIfTarget

Identifier

R3TTA_AnimIfTarget

JavaScript type

Boolean

C type

R3BOOL

Description

set to enable keyframing only for selected objects, clear to allow keyframing for any object

Syntax


jsobj.SetAnimIfTarget(value);
value = jsobj.GetAnimIfTarget();


R3BOOL value = ...;
R3SetAttrs(r3obj, R3TTA_AnimIfTarget, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3TTA_AnimIfTarget, &value, R3TAG_END);

AnimDisabled

Attribute

AnimDisabled

Identifier

R3TTA_AnimDisabled

JavaScript type

Boolean

C type

R3BOOL

Description

set to disable keyframing completely

Syntax


jsobj.SetAnimDisabled(value);
value = jsobj.GetAnimDisabled();


R3BOOL value = ...;
R3SetAttrs(r3obj, R3TTA_AnimDisabled, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3TTA_AnimDisabled, &value, R3TAG_END);

AnimIfAnimated

Attribute

AnimIfAnimated

Identifier

R3TTA_AnimIfAnimated

JavaScript type

Boolean

C type

R3BOOL

Description

disable automatic 'make animateable' feature

Syntax


jsobj.SetAnimIfAnimated(value);
value = jsobj.GetAnimIfAnimated();


R3BOOL value = ...;
R3SetAttrs(r3obj, R3TTA_AnimIfAnimated, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3TTA_AnimIfAnimated, &value, R3TAG_END);

Time

Attribute

Time

Identifier

R3TTA_Time

JavaScript type

Number

C type

R3FLOAT

Description

current time

Syntax


jsobj.SetTime(value);
value = jsobj.GetTime();


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3TTA_Time, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3TTA_Time, &value, R3TAG_END);

FloatSize

Attribute

FloatSize

Identifier

R3TTA_FloatSize

JavaScript type

Integer

C type

R3INT

Description

Syntax


value = jsobj.GetFloatSize();


R3INT value;
R3GetAttrs(r3obj, R3TTA_FloatSize, &value, R3TAG_END);

ColorSize

Attribute

ColorSize

Identifier

R3TTA_ColorSize

JavaScript type

Integer

C type

R3INT

Description

Syntax


value = jsobj.GetColorSize();


R3INT value;
R3GetAttrs(r3obj, R3TTA_ColorSize, &value, R3TAG_END);

Target

Attribute

Target

Identifier

R3TTA_Target

JavaScript type

Boolean

C type

R3BOOL

Description

if true the object is managed by other objects

Syntax


jsobj.SetTarget(value);
value = jsobj.GetTarget();


R3BOOL value = ...;
R3SetAttrs(r3obj, R3TTA_Target, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3TTA_Target, &value, R3TAG_END);

Enabled

Attribute

Enabled

Identifier

R3TTA_Enabled

JavaScript type

Boolean

C type

R3BOOL

Description

used internally

Syntax


jsobj.SetEnabled(value);
value = jsobj.GetEnabled();


R3BOOL value = ...;
R3SetAttrs(r3obj, R3TTA_Enabled, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3TTA_Enabled, &value, R3TAG_END);

CurrentChor

Attribute

CurrentChor

Identifier

R3TTA_CurrentChor

JavaScript type

Integer

C type

R3INT

Description

current choreography

Syntax


jsobj.SetCurrentChor(value);
value = jsobj.GetCurrentChor();


R3INT value = ...;
R3SetAttrs(r3obj, R3TTA_CurrentChor, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3TTA_CurrentChor, &value, R3TAG_END);

InvisibleChors

Attribute

InvisibleChors

Identifier

R3TTA_InvisibleChors

JavaScript type

Boolean

C type

R3BOOL

Description

do not show choreographs associated with this object

Syntax


jsobj.SetInvisibleChors(value);
value = jsobj.GetInvisibleChors();


R3BOOL value = ...;
R3SetAttrs(r3obj, R3TTA_InvisibleChors, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3TTA_InvisibleChors, &value, R3TAG_END);

ChoreographyActive

Attribute

ChoreographyActive

Identifier

R3TTA_ChoreographyActive

JavaScript type

Boolean

C type

R3BOOL

Description

indexed attr, chor enabled/disabled

Syntax


jsobj.SetChoreographyActive(index, value);
value = jsobj.GetChoreographyActive(index);


R3BOOL value = ...;
R3SetAttrs(r3obj, R3TTA_ChoreographyActive, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3TTA_ChoreographyActive, &value, R3TAG_END);

ChoreographyPeriodic

Attribute

ChoreographyPeriodic

Identifier

R3TTA_ChoreographyPeriodic

JavaScript type

Boolean

C type

R3BOOL

Description

indexed attr, periodic on/off

Syntax


jsobj.SetChoreographyPeriodic(index, value);
value = jsobj.GetChoreographyPeriodic(index);


R3BOOL value = ...;
R3SetAttrs(r3obj, R3TTA_ChoreographyPeriodic, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3TTA_ChoreographyPeriodic, &value, R3TAG_END);

ChoreographyPhase

Attribute

ChoreographyPhase

Identifier

R3TTA_ChoreographyPhase

JavaScript type

Number

C type

R3FLOAT

Description

indexed attr. Phase for choreographs

Syntax


jsobj.SetChoreographyPhase(index, value);
value = jsobj.GetChoreographyPhase(index);


R3FLOAT value = ...;
R3SetAttrs(r3obj, R3TTA_ChoreographyPhase, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3TTA_ChoreographyPhase, &value, R3TAG_END);

Frame

Attribute

Frame

Identifier

R3TTA_Frame

JavaScript type

Integer

C type

R3INT

Description

current frame

Syntax


value = jsobj.GetFrame();


R3INT value;
R3GetAttrs(r3obj, R3TTA_Frame, &value, R3TAG_END);

UniqueId

Attribute

UniqueId

Identifier

R3TTA_UniqueId

JavaScript type

Integer

C type

R3INT

Description

unique identifier for the object

Syntax


jsobj.SetUniqueId(value);
value = jsobj.GetUniqueId();


R3INT value = ...;
R3SetAttrs(r3obj, R3TTA_UniqueId, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3TTA_UniqueId, &value, R3TAG_END);

FindTagCloseMth

Attribute

FindTagCloseMth

Identifier

R3TTA_FindTagCloseMth

JavaScript type

Integer

C type

R3INT

Description

method for dispatching search to parent sub system

Syntax


jsobj.SetFindTagCloseMth(value);
value = jsobj.GetFindTagCloseMth();


R3INT value = ...;
R3SetAttrs(r3obj, R3TTA_FindTagCloseMth, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3TTA_FindTagCloseMth, &value, R3TAG_END);

Script

Attribute

Script

Identifier

R3TTA_Script

JavaScript type

String

C type

char*

Description

script associated with the object

Syntax


jsobj.SetScript(value);
value = jsobj.GetScript();


char* value = ...;
R3SetAttrs(r3obj, R3TTA_Script, value, R3TAG_END);
char* value;
R3GetAttrs(r3obj, R3TTA_Script, &value, R3TAG_END);

ScriptClid

Attribute

ScriptClid

Identifier

R3TTA_ScriptClid

JavaScript type

Integer

C type

R3CLID

Description

class id of the scripting engine

Syntax


jsobj.SetScriptClid(value);
value = jsobj.GetScriptClid();


R3CLID value = ...;
R3SetAttrs(r3obj, R3TTA_ScriptClid, value, R3TAG_END);
R3CLID value;
R3GetAttrs(r3obj, R3TTA_ScriptClid, &value, R3TAG_END);

R3TTA_Layer

callbacks for inter layer bindings

R3TTA_KeyframeInputObjects

Supported data types

Tag value union. Use 'sizeof(R3TTAGDATA)' to allocate buffer for tag values to be fetched

R3TT_CHARSINNAME

Macros for handling typed tags

Add (|) one of these to your tag values to get dynamic tags.

flags for R3TTM_TRANSFORMTIMELINES

R3TTT_TIMEBASED
R3TTT_OLDTIMELINES

Tags

Tags

R3TTA_NewTag
R3TTA_AniTag
R3TTA_AniTagType
R3TTA_AniTagIsAngle
R3TTA_AniTagIndex
R3TTA_KiObj
R3TTA_KiTag
R3TTA_KiIndex
R3TTA_KiType
R3TTA_KiSub
R3TTA_TimeBegin
R3TTA_TimeEnd
R3TTA_TimePhase
R3TTA_TimeFrequency
R3TTA_PointIndex
R3TTA_KiClid
R3TTA_ChoreographyIndex
R3TTA_KnotList
R3TTA_SeparateSelectedKnots
R3TTA_KnotIndex
R3TTA_TranslateKnotDelta
R3TTA_TranslateKnotSnap
R3TTA_SelectDuplicateKnots
R3TTA_KnotValue
R3TTA_AniClid
R3TTA_AniName
R3TTA_KiMth
R3TTA_AniForceNewChor
R3TTA_KiBeginMth
R3TTA_KiEndMth