MGHGRATOMATION__DEFINE Class
MGHgrAtomation Purpose
A container designed to hold a graphics tree and one or more sequences of
graphics objects to be managed and displayed by an animator window such as
MGH_Player. Properties
The following properties (ie keywords to the Init, GetProperty & SetProperty
methods) are supported
CLONE (Get)
This is a logical (integer) value that tells the animator
whether the frames delivered by the animation's Get method are
copies of the ones held in the container (CLONE=1) or the
originals (CLONE=0). For an MGHgrAtomation, CLONE is 0.
GRAPHICS_TREE (Init, Get, Set)
This is a reference to an IDLgrView, IDLgrViewGroup or
IDLgrScene object to be used as the non-changing part of the
animated sequence.
MULTIPLE (Init, Get, Set)
This is a logical value that indicates whether this animation
supports the simultaneous display of multiple frames. It is
used by animation-manager classes like MGH_Player. For an
MGHgrAtomation object it can be 0 or 1 and the default is 1.
N_SEQUENCES (Init, Get)
The number of sequences of atoms/models.
SAVEABLE (Get)
This is a logical value that tells the animator
whether the animation can usefully be saved. For an
MGHgrAtomation, SAVEABLE is 1.
SOCKET (Init, Get, Set)
This is an object array, dimensioned (N_SEQUENCES) containing
references to nodes in the graphics tree. The socket for each
sequence is the point where the graphics objects contained in
that sequence are added to the tree, in order for each frame
to be rendered.
The animation object doesn't do anything with the GRAPHICS_TREE
and SOCKET objects, it just holds the references for use by the
animator
###########################################################################
This software is provided subject to the following conditions:
1. NIWA makes no representations or warranties regarding the
accuracy of the software, the use to which the software may
be put or the results to be obtained from the use of the
software. Accordingly NIWA accepts no liability for any loss
or damage (whether direct of indirect) incurred by any person
through the use of or reliance on the software.
2. NIWA is to be acknowledged as the original author of the
software where the software is used or presented in any form.
###########################################################################
Modification History
Mark Hadfield, 1998-09:
Written.
Mark Hadfield, 1999-01:
Added the BASE property (since renamed GRAPHICS_TREE) for more
efficient display of sequences in which part of the picture
remains the same between frames.
Mark Hadfield, 1999-06:
Added the SOCKET property for compatibility with the revised
version of MGH_Animator. The MGH_Animator now requires the
animation to hold a sequence of atoms or models, rather than a
sequence of views. The animator now adds the frames to the
graphics tree before drawing them, then removes them afterwards,
so it needs to know where to add them.
Mark Hadfield, 2000-03
As a result of experience with 3D graphics, where I want to add
atoms at different socket points, I modified this class so it
can maintain several sequences of atoms. The number of
sequences is specified by the N_SEQUENCES property. The SOCKET
property is now an array of object references. Calls to Add &
Get now accept an optional INDEX keyword, which specifies which
sequence is being operated on.
Mark Hadfield, 2001-06:
- BASE property renamed GRAPHICS_TREE.
- Add method renamed AddAtom.
Mark Hadfield, 2004-03:
- Fixed bug: SetProperty was inadvertently setting MULTIPLE to
0.