Anatomist commands reference: ExternalReference


ExternalReference

New in Anatomist 3.1
Manages reference counting inside Anatomist for objects, windows etc., allowing external applications (like BrainVisa) to use reference counting for their objects.
Warning: this command is reserved to experts and is highly dangerous since it can easily cause Anatomist to crash.
Attribute: Type: Description:
elements int_vector IDs of elements
action_type string specifies which of reference counting operation is to be performed:
  • TakeStrongRef: increments the "strong" (normal) reference counting counter of selected objects
  • TakeWeakSharedRef: increments the "weak shared" counter. weak shared references don't forbit manual deletion of objects, but will maintain a count and automatically delete them when nobody references them; It is like a standard reference counter, but still allows forcing destruction.
  • TakeWeakRef: no effect so far, no action is needed. A weak counter is an observer and is notified when the object is destroyed.
  • ReleaseStrongRef: decrements the strong reference counter on the object (and possibly destroy it if it reaches 0).
  • ReleaseWeakSharedRef: decrements the "weak shared" counter, possibly deleting the object.
  • ReleaseWeakRef: no effect so far.
  • ReleaseApplication: releases the Anatomist application reference on the object. By default all objects are referenced once in the application to keep them alive. If you wish to use reference counting from another application, you should first remove this Anatomist reference.
  • TakeApplication, New in Anatomist 4.4: tell the Anatomist application to take back a reference on the object. It is the contrary of ReleaseApplication, and is only useful to revert this latest action.

Back to commands index