nextuppreviouscontents
Next:ActionUp:Objects in an AnimationPrevious:Individual SubclassesContents




This section is a copy of [1] , which is available at:
http://www.cc.gatech.edu/gvu/softviz/parviz/polkastuff/polkadoc-lite.ps.
The POLKA document is copyrighted by John T. Stasko, College of Computing, Georgia Institute of Technology, Atlanta, GA 30332-0280, and is available for noncommercial use.

Entry Points

AnimObject::AnimObject (const AnimObject&)
Each AnimObject subtype has a ``copy'' constructor that follows the prototype of the one given above that can be used for creating a copy of an AnimObject. The new object is give the exact same parameters as the old one, but of course, it exists now on a viewing plane closer to the end-user. The new object does not receive copies of existing programming from the original object.
 
 
 
void
AnimObject::Originate (int time)
This routine should be called after an object has been constructed, in order to add it to a View. The parameter time specifies the frame time which the object should first appear. If the View's time has already progressed past that time, the object will appear at the first new frame generated. Don't forget to call this function! It is a common bug, and should be thought of immediately if your objects don't seem to be showing up.
 
 
 
void
AnimObject::Delete (int time)
This routine is used to remove an object from an animation View. The parameter time specifies the animation frame when the object should be removed. Deleting a Set object does NOT Delete its constituent objects. Note: For any AnimObject type, only after the specified frame time actually occurs (via the Animate call) is it safe to delete (C++) the AnimObject pointer.
 
 
 
int
AnimObject::Program (int time, Action *action)
This routine ``programs'' or ``schedules'' the given Action to occur to the referenced AnimObject at the given time or animation frame. Subsequent calls to View::Animate which cover the specified time(s) actually make the programmed actions occur. Note that multiple Actions can be programmed onto an AnimObject at the same time or on overlapping times or on non-overlapping times. The effects of Actions are cumulative: all modifications scheduled for a particular frame occur ``in parallel'' and the resultant effect is seen when that frame number is generated. When an Action is programmed into an object, the contents of the Action are copied. Therefore, it is safe to immediately delete the Action after the call to Program.

If an Action is programmed to occur to an object at time $i$, then for some reason time $i$ is skipped over in calls to Animate, all the actions that should have occurred earlier will be batched into the changes at the first frame actually generated subsequent to time $i$.
 
 
 

Loc *
AnimObject::Where (PART p)
This routine returns a Loc* that corresponds to the location of the given part of the AnimObject upon which the function is invoked. Valid PARTs include PART_C (center), and the compass directions PART_NW, PART_N, PART_NE, PART_E, PART_SE, PART_S, PART_SW, and PART_W. For rectangles and circles, actual locations on the image boundary (other than the center) are returned. For lines, ellipses, polylines, polygons, splines, and text, a bounding box location is returned. For composites, a bounding box of all the subimages is returned.


nextuppreviouscontents
Next:ActionUp:Objects in an AnimationPrevious:Individual SubclassesContents
Ha Hoai Phuong

2002-11-11