r3objlay
real/layer/r3objlay.h
r3layer
Real 3D Object Layer Class. This is a container class for any kind of objects. Classes derived from this class take care of the actual data structures for storing the objects. This class defines the basic methods and supports some general operations like selection, cut/copy/paste, locking and undo.
r3Model
R3CLID_MODEL
r3Objectlayer
R3CLID_OBJECTLAYER - 75
SELECTOBJ, SELECTOBJMUTEX, SELECTOBJTOGGLE, UNSELECTOBJ, INSERT, REMOVE, NEWOBJECT, COPYOBJECT, DELETEOBJECT, DELETESELECTION, CUTSELECTION, COPYSELECTION, CLEARSELECTION, PASTE, PASTE2, CANPASTE, SETONSELECTED, PERFORMONSELECTED, LOCKEXCLUSIVE, LOCKSHARED, RELEASE, LOCKSHAREDYIELDS, GETFIRSTSELECTED, UNDO, UNDOCOPY, DOUNDOCOPY, SETUNDOCOPY, REMOVEUNDOCOPY, BEGINATOMARYUNDO, ENDATOMARYUNDO, FINDBYNAME, PERFORMONSELECTEDA2, SETONSELECTEDA, WRITESELECTION, SELECTBYNAME, SELECTBYCLASS, ENUMOBJECTS, SETDYNATTRS, GETDYNATTRS, KINDOF, REDO, SELECTEDOFKIND, GETCURRENTIME, FINDTAGCLOSE, FINDTAGFROMCHILDREN, ENUMSELECTLIST, DUPLICATESELECTION, EXECIDLES, ADDIDLEMSG, SELECTBYORDNUM, GETENDTIME, EXPORT, DELETEALL, REGISTERPASTEHANDLE, ENUMPASTEOBJ, ADD, STRIPIDLESTOOBJ, SETSUBFLOATONSELECTE, SETRELATIVESUBFLOATO, UNSELECTCHILDANDANC, SELECTOBJRANGE, EXECSELECTEDIDLES, REGISTERCHANGETOIGN, SETCURRENTTIME, REGISTERCHANGECALLBA, FREECHANGECALLBACKS, CHORNOTIFICATION, SHOWMSG, REMOVEREFERENCES, RELEASESHAREDYIELDS, PURGEUNRESOLVED, OPTRESOLV, SETCURRENTFRAME, GETCURRENTFRAME, SELECTAFTERUNDO, BEGINSELECTION, ENDSELECTION, SUSPENDYIELDS, RESUMEYIELDS, REGISTEREXTENSION, STARTOBJECT, STOPOBJECT, FINDEXTENSION,
SelectList, UndoDepth, CurrentUndos, ClipBoard, ClipClass, ProgressIndicator, CurrentRedos, AddKeyResol, FindTagObj, FindTagMth, CurrentTime, Modified, EndTime, RemoveReferencesMth, Open, AsyncExecutor, NoLocking, ChangeCount, NoChangeCounting, ChangeCallbacks, NumObjects, AnimRecord, DeleteReferencesMth, UnitConverter, OptResolvMth, OptResolvInvMth,
multi inheritance
R3OLAYM_SELECTOBJ
SELECTOBJ
R3OLAYM_SELECTOBJ
R3OBJ*, object to select
obj.SELECTOBJ(p3);
Select an object
R3OLAYM_SELECTOBJMUTEX
SELECTOBJMUTEX
R3OLAYM_SELECTOBJMUTEX
R3OBJ*, object to select
obj.SELECTOBJMUTEX(p3);
Select an object and deselect all other objects
R3OLAYM_SELECTOBJTOGGLE
SELECTOBJTOGGLE
R3OLAYM_SELECTOBJTOGGLE
R3OBJ*, object to toggle
obj.SELECTOBJTOGGLE(p3);
Select an object if it is selected, otherwise unselect it.
R3OLAYM_UNSELECTOBJ
UNSELECTOBJ
R3OLAYM_UNSELECTOBJ
R3OBJ*, object to unselect
obj.UNSELECTOBJ(p3);
Unselect an object.
R3OLAYM_INSERT
INSERT
R3OLAYM_INSERT
R3BOOL, if thue does not send R3OLAYM_DOUNDOCOPY method
R3OBJ*, insert after this object, if NULL insert at the end, if same as the parent level, then insert as the first child.
R3OBJ*, object to insert.
obj.INSERT(p1, p2, p3);
Insert an object to the layer.
R3OLAYM_REMOVE
REMOVE
R3OLAYM_REMOVE
R3OBJ*, obj
R3BOOL, if true, object is not mapped to abs space
R3OBJ*, object to remove.
rc = obj.REMOVE(p1, p3);
Remove an object from the layer.
R3OLAYM_NEWOBJECT
NEWOBJECT
R3OLAYM_NEWOBJECT
R3OBJ*, obj
R3INT, class id of the object to be created or NULL for default.
rc = obj.NEWOBJECT(p3);
Make a new object of the layers default type and insert it.
R3OLAYM_COPYOBJECT
COPYOBJECT
R3OLAYM_COPYOBJECT
R3OBJ*, copy of p3 if succeeded, else NULL.
R3INT, method to use for copying.
R3OBJ*, object to copy.
rc = obj.COPYOBJECT(p1, p3);
Make a copy of an object in the layer.
R3OLAYM_DELETEOBJECT
DELETEOBJECT
R3OLAYM_DELETEOBJECT
R3OBJ*, object to delete.
obj.DELETEOBJECT(p3);
Delete an object in the layer.
R3OLAYM_DELETESELECTION
DELETESELECTION
R3OLAYM_DELETESELECTION
obj.DELETESELECTION();
Delete all selected objects
R3OLAYM_CUTSELECTION
CUTSELECTION
R3OLAYM_CUTSELECTION
obj.CUTSELECTION();
Move all selected objects to clipboard
R3OLAYM_COPYSELECTION
COPYSELECTION
R3OLAYM_COPYSELECTION
obj.COPYSELECTION();
Copy all selected objects to clipboard
R3OLAYM_CLEARSELECTION
CLEARSELECTION
R3OLAYM_CLEARSELECTION
R3BOOL, recursive
obj.CLEARSELECTION(p3);
Unselect all seleced objects.
R3OLAYM_PASTE
PASTE
R3OLAYM_PASTE
obj.PASTE();
Copy all objects in clipboard and add to layer.
R3OLAYM_PASTE2
PASTE2
R3OLAYM_PASTE2
R3OBJ*, insert after this object, if NULL insert at the end, if same as the parent level, then insert as the first child.
obj.PASTE2(p3);
move objects from clipboard, don't copy.
R3OLAYM_CANPASTE
CANPASTE
R3OLAYM_CANPASTE
R3BOOL, TRUE/FALSE
rc = obj.CANPASTE();
Return TRUE if there are any objects of the layers type in the clipboard.
R3OLAYM_SETONSELECTED
SETONSELECTED
R3OLAYM_SETONSELECTED
R3TAG*, tags to pass to R3SetAttrsA().
obj.SETONSELECTED(p3);
Perform R3SetAttrsA(sel->obj, tags) on all selected objects
R3OLAYM_PERFORMONSELECTED
PERFORMONSELECTED
R3OLAYM_PERFORMONSELECTED
R3BOOL, disable undo
R3BOOL, disable R3MM_CHANGED
R3TAG*, R3OLAYA_PMethod, R3INT *, method to send. R3OLAYA_PMsg, void *, first parameter. R3OLAYA_PMsg2, void *, second parameter.
obj.PERFORMONSELECTED(p1, p2, p3);
Send a method to all selected objects.
R3OLAYM_LOCKEXCLUSIVE
LOCKEXCLUSIVE
R3OLAYM_LOCKEXCLUSIVE
obj.LOCKEXCLUSIVE();
Lock layer with exclusive lock
R3OLAYM_LOCKSHARED
LOCKSHARED
R3OLAYM_LOCKSHARED
obj.LOCKSHARED();
Lock layer with shared lock
R3OLAYM_RELEASE
RELEASE
R3OLAYM_RELEASE
obj.RELEASE();
Release the lock obtained via R3OLAYM_LOCKSHARED or R3OLAYM_LOCKEXCLUSIVE
R3OLAYM_LOCKSHAREDYIELDS
LOCKSHAREDYIELDS
R3OLAYM_LOCKSHAREDYIELDS
R3TAG*, R3OLAYA_YieldingObject, R3OBJ *, R3OLAYA_YieldMethod, R3INT, R3OLAYA_YieldDoneMethod, R3INT,
obj.LOCKSHAREDYIELDS(p3);
Locking for objects willing to give up the lock if another thread wants an exclusive lock.
R3OLAYM_GETFIRSTSELECTED
GETFIRSTSELECTED
R3OLAYM_GETFIRSTSELECTED
R3OBJ*, the object
rc = obj.GETFIRSTSELECTED();
Return first selected object.
R3OLAYM_UNDO
UNDO
R3OLAYM_UNDO
obj.UNDO();
Normal undo
R3OLAYM_UNDOCOPY
UNDOCOPY
R3OLAYM_UNDOCOPY
R3OBJ*, the data
rc = obj.UNDOCOPY();
Return data representing all objects for inserting into undo list.
R3OLAYM_DOUNDOCOPY
DOUNDOCOPY
R3OLAYM_DOUNDOCOPY
obj.DOUNDOCOPY();
Copy the current state into the undo list.
R3OLAYM_SETUNDOCOPY
SETUNDOCOPY
R3OLAYM_SETUNDOCOPY
obj.SETUNDOCOPY();
Reset the state of the layer to on returned by UNDOCOPY
R3OLAYM_REMOVEUNDOCOPY
REMOVEUNDOCOPY
R3OLAYM_REMOVEUNDOCOPY
obj.REMOVEUNDOCOPY();
Delete the data returned by UNDOCOPY
R3OLAYM_BEGINATOMARYUNDO
BEGINATOMARYUNDO
R3OLAYM_BEGINATOMARYUNDO
obj.BEGINATOMARYUNDO();
Do one undo copy but no further undo copies until ENDATOMARYUNDO is called
R3OLAYM_ENDATOMARYUNDO
ENDATOMARYUNDO
R3OLAYM_ENDATOMARYUNDO
obj.ENDATOMARYUNDO();
See BEGINATOMARYUNDO
R3OLAYM_FINDBYNAME
FINDBYNAME
R3OLAYM_FINDBYNAME
R3OBJ*, object if found, else NULL,
char*, name of object
rc = obj.FINDBYNAME(p3);
Find an object by its name.
R3OLAYM_PERFORMONSELECTEDA2
PERFORMONSELECTEDA2
R3OLAYM_PERFORMONSELECTEDA2
R3OBJ*, obj
R3INT, a method to be sent
void*, p1 parameter for the selected object
void*, p3 parameter for the selected objects
rc = obj.PERFORMONSELECTEDA2(p1, p2, p3);
Send a method to all selected objects using R3SendMsgA2().
R3OLAYM_SETONSELECTEDA
SETONSELECTEDA
R3OLAYM_SETONSELECTEDA
R3INT, attribute
R3BOOL, disable undocopy
void*, value
obj.SETONSELECTEDA(p1, p2, p3);
Perform R3SetAttrs(sel->obj, p1, msg, R3TAG_END) on all selected objects
R3OLAYM_WRITESELECTION
WRITESELECTION
R3OLAYM_WRITESELECTION
R3BOOL, TRUE if succeed, FALSE otherwise
rc = obj.WRITESELECTION();
Send write method to all selected objects
R3OLAYM_SELECTBYNAME
SELECTBYNAME
R3OLAYM_SELECTBYNAME
R3INT, number of objects selected
R3BOOL, if true selects, otherwise unselects
char*, regular expression
rc = obj.SELECTBYNAME(p1, p3);
Select objects by name
R3OLAYM_SELECTBYCLASS
SELECTBYCLASS
R3OLAYM_SELECTBYCLASS
R3INT, number of objects selected
R3BOOL, if true selects, otherwise unselects
R3CLID, class id
rc = obj.SELECTBYCLASS(p1, p3);
Select objects by class
R3OLAYM_ENUMOBJECTS
ENUMOBJECTS
R3OLAYM_ENUMOBJECTS
R3INT, return value from the hook function.
R3TAG*, tag list specifying R3RA_Hook and R3RA_HookData.
rc = obj.ENUMOBJECTS(p3);
Enumerate the contents of the layer. The given callback must define * two parameters: object and context data. If the callback returns TRUE, enumeration continues. If the return values is not TRUE, the enumeration is canceled and the return code from the hook is returned.
R3OLAYM_SETDYNATTRS
SETDYNATTRS
R3OLAYM_SETDYNATTRS
R3BOOL, true if succeeded.
R3TAG*, dynamic tags to be added.
rc = obj.SETDYNATTRS(p3);
Add dynamic attributes to the layer object.
R3OLAYM_GETDYNATTRS
GETDYNATTRS
R3OLAYM_GETDYNATTRS
R3TAG*, NULL if all tags were found, otherwise address to the last not found tag
R3TAG*, attributes to be fetched
rc = obj.GETDYNATTRS(p3);
Get dynamic attributes from the layer
R3OLAYM_KINDOF
KINDOF
R3OLAYM_KINDOF
R3BOOL, FALSE if class id cannot be detected (no objects selected)
R3BOOL, recursive
rc = obj.KINDOF(p1, 0);
Find common class id for the selected objects. Note: initialize the result value to -1 zero before caling this function. If there is no selected objects, this method doesn't touch 'p3'
R3OLAYM_REDO
REDO
R3OLAYM_REDO
obj.REDO();
Redo
R3OLAYM_SELECTEDOFKIND
SELECTEDOFKIND
R3OLAYM_SELECTEDOFKIND
R3BOOL, TRUE/FALSE
R3CLID, class id to be checked
rc = obj.SELECTEDOFKIND(p3);
Check if the selected objects include objects with the given class id.
R3OLAYM_GETCURRENTIME
GETCURRENTIME
R3OLAYM_GETCURRENTIME
R3FLOAT, buffer
obj.GETCURRENTIME(p3);
Fetch the current time of the layer.
R3OLAYM_FINDTAGCLOSE
FINDTAGCLOSE
R3OLAYM_FINDTAGCLOSE
R3OBJ*, object which defines given attribute - value.
R3INT, unique identifier
rc = obj.FINDTAGCLOSE(0, p2, 0);
Find object identified by given dynamic tag.
R3OLAYM_FINDTAGFROMCHILDREN
FINDTAGFROMCHILDREN
R3OLAYM_FINDTAGFROMCHILDREN
R3INT, tag id of identifier,
R3INT, value of the identifier
R3OBJ*, object excluded in the search
obj.FINDTAGFROMCHILDREN(p1, p2, p3);
find object with give unique identifier
R3OLAYM_ENUMSELECTLIST
ENUMSELECTLIST
R3OLAYM_ENUMSELECTLIST
R3INT, return value from the hook function.
R3TAG*, tag list specifying R3RA_Hook and R3RA_HookData.
rc = obj.ENUMSELECTLIST(p3);
Enumerate the contents of the select list. The given callback gets the enumerated * object as the first parameter and the given context data second. If the callback returns TRUE, enumeration continues. If the return values is not TRUE, the enumeration is canceled and the return code from the hook is returned.
R3OLAYM_DUPLICATESELECTION
DUPLICATESELECTION
R3OLAYM_DUPLICATESELECTION
obj.DUPLICATESELECTION();
Duplicates all selected objects and optionally renames them.
R3OLAYM_EXECIDLES
EXECIDLES
R3OLAYM_EXECIDLES
obj.EXECIDLES();
Execute all idle messages to a target or to all targets
R3OLAYM_ADDIDLEMSG
ADDIDLEMSG
R3OLAYM_ADDIDLEMSG
R3BOOL, true if succeeded
R3OBJ*, object to be called
R3INT, method
void*, p3 parameter for the object to be called.
rc = obj.ADDIDLEMSG(p1, p2, p3);
Add idle message to the layers idle list
R3OLAYM_SELECTBYORDNUM
SELECTBYORDNUM
R3OLAYM_SELECTBYORDNUM
R3BOOL, true if selected
R3INT, ordnum
rc = obj.SELECTBYORDNUM(p3);
Select an object by ordnum.
R3OLAYM_GETENDTIME
GETENDTIME
R3OLAYM_GETENDTIME
R3FLOAT, buffer
obj.GETENDTIME(p3);
Fetch the end time of the layer.
R3OLAYM_EXPORT
EXPORT
R3OLAYM_EXPORT
obj.EXPORT();
Export objects in the layer
R3OLAYM_DELETEALL
DELETEALL
R3OLAYM_DELETEALL
obj.DELETEALL();
Delete all objects in the layer.
R3OLAYCM_REGISTERPASTEHANDLE
REGISTERPASTEHANDLE
R3OLAYCM_REGISTERPASTEHANDLE
R3BOOL, true if succeeded.
rc = obj.REGISTERPASTEHANDLE();
Register paste handler for a class. Paste handler is called for objects in the clipboard before each paste operation. Paste handler consists of three functions: begin is called once per paste operation: userdata = (*begin)(layer); 'handler' is called once per each object in the clip board and the return value o fthe 'begin' function is passed as a parameter for the function. Memory allocated in the 'begin' function can then be freed in the 'end' function.
R3OLAYM_ENUMPASTEOBJ
ENUMPASTEOBJ
R3OLAYM_ENUMPASTEOBJ
obj.ENUMPASTEOBJ();
Called internally by cut/copy/paste/duplcate etc. operations.
R3OLAYM_ADD
ADD
R3OLAYM_ADD
R3OBJ*, object to be inserted
obj.ADD(p3);
Lock the layer, insert the object using the default options and release the layer.
R3OLAYM_STRIPIDLESTOOBJ
STRIPIDLESTOOBJ
R3OLAYM_STRIPIDLESTOOBJ
R3BOOL, true to execute, false just removes the message from the queue.
R3OBJ*, target object
obj.STRIPIDLESTOOBJ(p1, p3);
Remove or execute all idle messages to given object.
R3OLAYM_SETSUBFLOATONSELECTE
SETSUBFLOATONSELECTE
R3OLAYM_SETSUBFLOATONSELECTE
R3INT, attribute to be set
R3INT, ordnum of the sub field (0 = x, 1 = y etc.)
R3FLOAT, new value
obj.SETSUBFLOATONSELECTE(p1, p2, p3);
Set given sub component of vector attribute.
R3OLAYM_SETRELATIVESUBFLOATO
SETRELATIVESUBFLOATO
R3OLAYM_SETRELATIVESUBFLOATO
R3INT, attribute to be set
R3INT, ordnum of the sub field (0 = x, 1 = y etc.)
R3FLOAT, new value
obj.SETRELATIVESUBFLOATO(p1, p2, p3);
Set given sub component of a vector attribute in 'relative' way (the value is added to the current value, not assigned).
R3OLAYM_UNSELECTCHILDANDANC
UNSELECTCHILDANDANC
R3OLAYM_UNSELECTCHILDANDANC
obj.UNSELECTCHILDANDANC();
Unselect children and anchestors.
R3OLAYM_SELECTOBJRANGE
SELECTOBJRANGE
R3OLAYM_SELECTOBJRANGE
R3OBJ*, end of selection range
obj.SELECTOBJRANGE(p3);
Select range of objects, from the first previosly selected to the given object p3
R3OLAYM_EXECSELECTEDIDLES
EXECSELECTEDIDLES
R3OLAYM_EXECSELECTEDIDLES
R3INT, method, if != 0 only these methods are removed/executed
R3BOOL, dont_execute, if TRUE selected idle messages are removed but not executed
obj.EXECSELECTEDIDLES(p1, p2, 0);
Execute selected idle messages
R3OLAYCM_REGISTERCHANGETOIGN
REGISTERCHANGETOIGN
R3OLAYCM_REGISTERCHANGETOIGN
R3INT, tag to ignore
obj.REGISTERCHANGETOIGN(p3);
Register R3MM_CHANGED tags that do not cause layer to be dirty.
R3OLAYM_SETCURRENTTIME
SETCURRENTTIME
R3OLAYM_SETCURRENTTIME
R3BOOL, if true, don't send R3MM_CHANGED
R3FLOAT, new time
obj.SETCURRENTTIME(p1, p3);
Set current time.
R3OLAYM_REGISTERCHANGECALLBA
REGISTERCHANGECALLBA
R3OLAYM_REGISTERCHANGECALLBA
R3OBJ*, callback target
R3INT, callback method
void*, additional context
obj.REGISTERCHANGECALLBA(p1, p2, p3);
Register a simple callback hook that is called when layer is changed: * R3DoA2(cbobj, cbthm, context, changetaglist);
R3OLAYM_FREECHANGECALLBACKS
FREECHANGECALLBACKS
R3OLAYM_FREECHANGECALLBACKS
obj.FREECHANGECALLBACKS();
Frees the callback list
R3OLAYM_CHORNOTIFICATION
CHORNOTIFICATION
R3OLAYM_CHORNOTIFICATION
obj.CHORNOTIFICATION();
Notification for choreography creation/deletion
R3OLAYM_SHOWMSG
SHOWMSG
R3OLAYM_SHOWMSG
R3BOOL, true if there was a progress model associated with the layer
char*, message to be shown
rc = obj.SHOWMSG(p3);
Show message to the user. This sets the given string to * the progress indicator model and logs the message to the * app.log via R3AppInfo().
R3OLAYM_REMOVEREFERENCES
REMOVEREFERENCES
R3OLAYM_REMOVEREFERENCES
R3BOOL, permanently
R3OBJ*, target object
obj.REMOVEREFERENCES(p1, p3);
Invalidate or remove inter object references. If 'target' is NULL, all references are invalidated/removed. If not, refrences to the given target only is removed. If 'p1' is TRUE, references are removed permanently. If 'p1' is FALSE, references are only invalidated. This method is called internally when an object is removed from the layer, or deleted.
R3OLAYM_RELEASESHAREDYIELDS
RELEASESHAREDYIELDS
R3OLAYM_RELEASESHAREDYIELDS
R3OBJ*, object that called the R3OLAYM_LOCKSHAREDYIELDS
obj.RELEASESHAREDYIELDS(p3);
Release the lock called via R3OLAYM_LOCKSHAREDYIELDS wants an exclusive lock.
R3OLAYM_PURGEUNRESOLVED
PURGEUNRESOLVED
R3OLAYM_PURGEUNRESOLVED
obj.PURGEUNRESOLVED();
Remove unresolved references.
R3OLAYM_OPTRESOLV
OPTRESOLV
R3OLAYM_OPTRESOLV
R3OBJ*, resolved object
R3INT, identifier for R3TTM_FINDTAGCLOSE
void*, unique identifier value for R3TTM_FINDTAGCLOSE
rc = obj.OPTRESOLV(p1, p3);
Do optimized R3TTM_FINDTAGCLOSE. This calls * R3OLAYM_OPTRESOLVEBEGIN method, if not already called, * and runs optimized r3ttm_findtagclose. The optimization * data is released in R3OLAYM_RELEASE.
R3OLAYM_SETCURRENTFRAME
SETCURRENTFRAME
R3OLAYM_SETCURRENTFRAME
R3INT, current frame
obj.SETCURRENTFRAME(p3);
Set current frame.
R3OLAYM_GETCURRENTFRAME
GETCURRENTFRAME
R3OLAYM_GETCURRENTFRAME
R3INT*, current frame
obj.GETCURRENTFRAME(p3);
Set current frame.
R3OLAYM_SELECTAFTERUNDO
SELECTAFTERUNDO
R3OLAYM_SELECTAFTERUNDO
void*, private
obj.SELECTAFTERUNDO(p3);
Update selected list after undo and redo. Private.
R3OLAYM_BEGINSELECTION
BEGINSELECTION
R3OLAYM_BEGINSELECTION
obj.BEGINSELECTION();
Starts optimized selection. Should be followed by * R3OLAYM_ENDSELECTION which updates object selection specific sub systems
R3OLAYM_ENDSELECTION
ENDSELECTION
R3OLAYM_ENDSELECTION
obj.ENDSELECTION();
Finishes optimized selection.
R3OLAYM_SUSPENDYIELDS
SUSPENDYIELDS
R3OLAYM_SUSPENDYIELDS
R3OBJ*, object that called the R3OLAYM_LOCKSHAREDYIELDS
obj.SUSPENDYIELDS(p3);
Unlock but keep the yield node so that layer can report back yield_done method
R3OLAYM_RESUMEYIELDS
RESUMEYIELDS
R3OLAYM_RESUMEYIELDS
R3OBJ*, object that called the R3OLAYM_LOCKSHAREDYIELDS
obj.RESUMEYIELDS(p3);
Unlock but keep the yield node so that layer can report back yield_done method
R3OLAYCM_REGISTEREXTENSION
REGISTEREXTENSION
R3OLAYCM_REGISTEREXTENSION
R3BOOL, true if succeeded.
R3CLID, class id of the extension object
R3INT, unique identifier
rc = obj.REGISTEREXTENSION(p1, p3);
Register extension object that gets created and * deleted with the object.
R3OLAYM_STARTOBJECT
STARTOBJECT
R3OLAYM_STARTOBJECT
R3OBJ*, object which is just inserted to layer from the undo buffer
obj.STARTOBJECT(p3);
This method is called, for example, when an object is inserted to layer from undo buffer. * Object should be prepared for use in the current project
R3OLAYM_STOPOBJECT
STOPOBJECT
R3OLAYM_STOPOBJECT
R3OBJ*, object which should be stopped
obj.STOPOBJECT(p3);
This method is called, for example, when an object is copied to undo layer * Object should be prepared for passive state
R3OLAYM_FINDEXTENSION
FINDEXTENSION
R3OLAYM_FINDEXTENSION
R3OBJ*, extension object
R3INT, extension identifier
rc = obj.FINDEXTENSION(p3);
Find extension object associated with the layer
SelectList
SelectList
R3OLAYA_SelectList
Object
R3OBJ*
R3RM_GET, layers select list
value = jsobj.GetSelectList();
R3OBJ* value;
R3GetAttrs(r3obj, R3OLAYA_SelectList, &value, R3TAG_END);
UndoDepth
UndoDepth
R3OLAYA_UndoDepth
Integer
R3INT
R3RM_SET, max size of undo list
jsobj.SetUndoDepth(value);
value = jsobj.GetUndoDepth();
R3INT value = ...;
R3SetAttrs(r3obj, R3OLAYA_UndoDepth, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3OLAYA_UndoDepth, &value, R3TAG_END);
CurrentUndos
CurrentUndos
R3OLAYA_CurrentUndos
Integer
R3INT
R3RM_GET, current size of undo list
value = jsobj.GetCurrentUndos();
R3INT value;
R3GetAttrs(r3obj, R3OLAYA_CurrentUndos, &value, R3TAG_END);
ClipBoard
ClipBoard
R3OLAYA_ClipBoard
Object
R3OBJ*
R3RM_CREATE, clipboard to use
jsobj.SetClipBoard(value);
R3OBJ* value = ...;
R3SetAttrs(r3obj, R3OLAYA_ClipBoard, value, R3TAG_END);
ClipClass
ClipClass
R3OLAYA_ClipClass
Integer
R3INT
R3RM_SET/GET, for subclasses only, type of objects in clipboard
jsobj.SetClipClass(value);
value = jsobj.GetClipClass();
R3INT value = ...;
R3SetAttrs(r3obj, R3OLAYA_ClipClass, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3OLAYA_ClipClass, &value, R3TAG_END);
ProgressIndicator
ProgressIndicator
R3OLAYA_ProgressIndicator
Object
R3OBJ*
R3RM_SET, progress indicator to use
jsobj.SetProgressIndicator(value);
value = jsobj.GetProgressIndicator();
R3OBJ* value = ...;
R3SetAttrs(r3obj, R3OLAYA_ProgressIndicator, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3OLAYA_ProgressIndicator, &value, R3TAG_END);
CurrentRedos
CurrentRedos
R3OLAYA_CurrentRedos
Integer
R3INT
R3RM_GET, current size of redo list
value = jsobj.GetCurrentRedos();
R3INT value;
R3GetAttrs(r3obj, R3OLAYA_CurrentRedos, &value, R3TAG_END);
AddKeyResol
AddKeyResol
R3OLAYA_AddKeyResol
Number
R3FLOAT
for animations
jsobj.SetAddKeyResol(value);
value = jsobj.GetAddKeyResol();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3OLAYA_AddKeyResol, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3OLAYA_AddKeyResol, &value, R3TAG_END);
FindTagObj
FindTagObj
R3OLAYA_FindTagObj
Object
R3OBJ*
object to be called if object can't be found in this layer
jsobj.SetFindTagObj(value);
value = jsobj.GetFindTagObj();
R3OBJ* value = ...;
R3SetAttrs(r3obj, R3OLAYA_FindTagObj, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3OLAYA_FindTagObj, &value, R3TAG_END);
FindTagMth
FindTagMth
R3OLAYA_FindTagMth
Integer
R3INT
tag find methdod for FindTagObj
jsobj.SetFindTagMth(value);
value = jsobj.GetFindTagMth();
R3INT value = ...;
R3SetAttrs(r3obj, R3OLAYA_FindTagMth, value, R3TAG_END);
R3INT value;
R3GetAttrs(r3obj, R3OLAYA_FindTagMth, &value, R3TAG_END);
CurrentTime
CurrentTime
R3OLAYA_CurrentTime
Number
R3FLOAT
current time
jsobj.SetCurrentTime(value);
value = jsobj.GetCurrentTime();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3OLAYA_CurrentTime, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3OLAYA_CurrentTime, &value, R3TAG_END);
Modified
Modified
R3OLAYA_Modified
Boolean
R3BOOL
set when modified, cleared by save
jsobj.SetModified(value);
value = jsobj.GetModified();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3OLAYA_Modified, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3OLAYA_Modified, &value, R3TAG_END);
EndTime
EndTime
R3OLAYA_EndTime
Number
R3FLOAT
length of the time space
jsobj.SetEndTime(value);
value = jsobj.GetEndTime();
R3FLOAT value = ...;
R3SetAttrs(r3obj, R3OLAYA_EndTime, value, R3TAG_END);
R3FLOAT value;
R3GetAttrs(r3obj, R3OLAYA_EndTime, &value, R3TAG_END);
RemoveReferencesMth
RemoveReferencesMth
R3OLAYA_RemoveReferencesMth
Integer
R3INT
callback method for invalidating references to deleted objects
jsobj.SetRemoveReferencesMth(value);
R3INT value = ...;
R3SetAttrs(r3obj, R3OLAYA_RemoveReferencesMth, value, R3TAG_END);
Open
Open
R3OLAYA_Open
Boolean
R3BOOL
open/close the level
jsobj.SetOpen(value);
value = jsobj.GetOpen();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3OLAYA_Open, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3OLAYA_Open, &value, R3TAG_END);
AsyncExecutor
AsyncExecutor
R3OLAYA_AsyncExecutor
Object
R3OBJ*
async. executor thread
jsobj.SetAsyncExecutor(value);
value = jsobj.GetAsyncExecutor();
R3OBJ* value = ...;
R3SetAttrs(r3obj, R3OLAYA_AsyncExecutor, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3OLAYA_AsyncExecutor, &value, R3TAG_END);
NoLocking
NoLocking
R3OLAYA_NoLocking
Boolean
R3BOOL
set to true if locking is not needed for this layer
jsobj.SetNoLocking(value);
value = jsobj.GetNoLocking();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3OLAYA_NoLocking, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3OLAYA_NoLocking, &value, R3TAG_END);
ChangeCount
ChangeCount
R3OLAYA_ChangeCount
Integer
R3INT
running counter of received MM_CHANGED events. Read only.
value = jsobj.GetChangeCount();
R3INT value;
R3GetAttrs(r3obj, R3OLAYA_ChangeCount, &value, R3TAG_END);
NoChangeCounting
NoChangeCounting
R3OLAYA_NoChangeCounting
Boolean
R3BOOL
use this to filter temporarily undesired change counting changes
jsobj.SetNoChangeCounting(value);
value = jsobj.GetNoChangeCounting();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3OLAYA_NoChangeCounting, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3OLAYA_NoChangeCounting, &value, R3TAG_END);
ChangeCallbacks
ChangeCallbacks
R3OLAYA_ChangeCallbacks
Boolean
R3BOOL
enables/disables (e.g. during loading) change callbacks. Default off.
jsobj.SetChangeCallbacks(value);
value = jsobj.GetChangeCallbacks();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3OLAYA_ChangeCallbacks, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3OLAYA_ChangeCallbacks, &value, R3TAG_END);
NumObjects
NumObjects
R3OLAYA_NumObjects
Integer
R3INT
R3RM_GET only, number of objects in the layer
value = jsobj.GetNumObjects();
R3INT value;
R3GetAttrs(r3obj, R3OLAYA_NumObjects, &value, R3TAG_END);
AnimRecord
AnimRecord
R3OLAYA_AnimRecord
Boolean
R3BOOL
anim record on/off
jsobj.SetAnimRecord(value);
value = jsobj.GetAnimRecord();
R3BOOL value = ...;
R3SetAttrs(r3obj, R3OLAYA_AnimRecord, value, R3TAG_END);
R3BOOL value;
R3GetAttrs(r3obj, R3OLAYA_AnimRecord, &value, R3TAG_END);
DeleteReferencesMth
DeleteReferencesMth
R3OLAYA_DeleteReferencesMth
Integer
R3INT
callback method for deleting references to deleted objects
jsobj.SetDeleteReferencesMth(value);
R3INT value = ...;
R3SetAttrs(r3obj, R3OLAYA_DeleteReferencesMth, value, R3TAG_END);
UnitConverter
UnitConverter
R3OLAYA_UnitConverter
Object
R3OBJ*
unit converter: note, r3layer gives this for us, read only
jsobj.SetUnitConverter(value);
value = jsobj.GetUnitConverter();
R3OBJ* value = ...;
R3SetAttrs(r3obj, R3OLAYA_UnitConverter, value, R3TAG_END);
R3OBJ* value;
R3GetAttrs(r3obj, R3OLAYA_UnitConverter, &value, R3TAG_END);
OptResolvMth
OptResolvMth
R3OLAYA_OptResolvMth
Integer
R3INT
callback method id for optimized resolv.
jsobj.SetOptResolvMth(value);
R3INT value = ...;
R3SetAttrs(r3obj, R3OLAYA_OptResolvMth, value, R3TAG_END);
OptResolvInvMth
OptResolvInvMth
R3OLAYA_OptResolvInvMth
Integer
R3INT
callback for invalidating opt data
jsobj.SetOptResolvInvMth(value);
R3INT value = ...;
R3SetAttrs(r3obj, R3OLAYA_OptResolvInvMth, value, R3TAG_END);