com.esri.arcgis.analyst3d
Interface IAnimationTrack

All Superinterfaces:
java.io.Serializable
All Known Implementing Classes:
AnimationTrack, IAnimationTrackProxy

public interface IAnimationTrack
extends java.io.Serializable

Provides access to animation tracks.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server. Requires 3D Analyst Extension.

Supported Platforms

Windows, Solaris, Linux

Remarks

Animation tracks are conceptually containers of animation keyframes.  IAnimationTrack encapsulates properties and methods related to managing its keyframes and associating the animation track to proper objects.


Method Summary
 void attachObject(java.lang.Object pObject)
          Attach object to the track.
 void detachAllObjects()
          Detach all objects from the track.
 void detachObject(java.lang.Object pObject)
          Detach object from the track.
 void findKeyframe(java.lang.String name, IKeyframe[] ppKeyframe)
          Finds a keyframe by name.
 ILongArray getActiveProperties()
          The combination of active properties for the track.
 IAnimationType getAnimationType()
          The animation type.
 IArray getAttachedObjects()
          The objects to which the track is attached, or null.
 int getAttachedObjectsCount()
          The number of objects to which the track is attached.
 double getBeginTime()
          The initial time of the track.
 double getEndTime()
          The final time of the track.
 IKeyframe getKeyframe(int index)
          The keyframe with the given index in the track.
 int getKeyframeCount()
          The number of keyframes defined in the track.
 java.lang.String getName()
          The name of the track.
 void insertKeyframe(IKeyframe pKeyframe, int index)
          Inserts a new keyframe.
 void interpolateObjectProperties(IScene pScene, double time)
          Interpolates the state of the attached object for a time between BeginTime and Endtime.
 boolean isActiveProperty(int propIndex)
          Indicates if an animation property is active.
 boolean isApplyToAllViewers()
          Indicates whether to apply a camera track to all scene viewers.
 boolean isAttached(java.lang.Object pObject)
          Indicates if the given objects is attached to the track.
 boolean isCycle()
          Indicates if the track is repeated periodically.
 boolean isEnabled()
          Indicates if the track is enabled.
 boolean isEvenTimeStamps()
          Indicates whether to distribute time stamps evenly in the interval 0-1.
 void moveKeyframe(int originIndex, int destinationIndex)
          Moves the keyframe with the given index, inserting it with a different index.
 void removeAllKeyframes()
          Removes all the keyframes.
 void removeKeyframe(int index)
          Removes the keyframe with the given index.
 void resetAttachedObjects(IScene pScene)
          Reset the state of the attached objects to be ready for animation.
 void resetTimeStamps()
          Redistributes the time stamps in the interval [0,1].
 void restoreObjectProperties(IScene pScene, int index)
          Restores the saved properties of the attached object specified.
 void saveObjectProperties(IScene pScene, int index)
          Internally saves the properties of the attached object specified.
 void setActiveProperties(ILongArray ppActiveProps)
          The combination of active properties for the track.
 void setAnimationTypeByRef(IAnimationType ppAnimationType)
          The animation type.
 void setApplyToAllViewers(boolean pbApplyToAllViewers)
          Indicates whether to apply a camera track to all scene viewers.
 void setAttachedObjects(IArray ppObjectArray)
          The objects to which the track is attached, or null.
 void setBeginTime(double pBeginTime)
          The initial time of the track.
 void setEndTime(double pEndTime)
          The final time of the track.
 void setEvenTimeStamps(boolean pbEvenTimeStamps)
          Indicates whether to distribute time stamps evenly in the interval 0-1.
 void setIsActiveProperty(int propIndex, boolean pbIsActiveProp)
          Indicates if an animation property is active.
 void setIsCycle(boolean pbIsCycle)
          Indicates if the track is repeated periodically.
 void setIsEnabled(boolean pbIsEnabled)
          Indicates if the track is enabled.
 void setName(java.lang.String name)
          The name of the track.
 void sortKeyframes()
          Sorts the keyframes in ascending time order.
 

Method Detail

getActiveProperties

public ILongArray getActiveProperties()
                               throws java.io.IOException,
                                      AutomationException
The combination of active properties for the track.

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.system.ILongArray
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setActiveProperties

public void setActiveProperties(ILongArray ppActiveProps)
                         throws java.io.IOException,
                                AutomationException
The combination of active properties for the track.

Supported Platforms

Windows, Solaris, Linux

Parameters:
ppActiveProps - A reference to a com.esri.arcgis.system.ILongArray (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isActiveProperty

public boolean isActiveProperty(int propIndex)
                         throws java.io.IOException,
                                AutomationException
Indicates if an animation property is active.

Parameters:
propIndex - The propIndex (in)
Returns:
The pbIsActiveProp
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIsActiveProperty

public void setIsActiveProperty(int propIndex,
                                boolean pbIsActiveProp)
                         throws java.io.IOException,
                                AutomationException
Indicates if an animation property is active.

Supported Platforms

Windows, Solaris, Linux

Parameters:
propIndex - The propIndex (in)
pbIsActiveProp - The pbIsActiveProp (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getName

public java.lang.String getName()
                         throws java.io.IOException,
                                AutomationException
The name of the track.

Supported Platforms

Windows, Solaris, Linux

Returns:
The name
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setName

public void setName(java.lang.String name)
             throws java.io.IOException,
                    AutomationException
The name of the track.

Supported Platforms

Windows, Solaris, Linux

Parameters:
name - The name (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAnimationType

public IAnimationType getAnimationType()
                                throws java.io.IOException,
                                       AutomationException
The animation type.

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.analyst3d.IAnimationType
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAnimationTypeByRef

public void setAnimationTypeByRef(IAnimationType ppAnimationType)
                           throws java.io.IOException,
                                  AutomationException
The animation type.

Parameters:
ppAnimationType - A reference to a com.esri.arcgis.analyst3d.IAnimationType (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getKeyframeCount

public int getKeyframeCount()
                     throws java.io.IOException,
                            AutomationException
The number of keyframes defined in the track.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pKeyframeCount
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getKeyframe

public IKeyframe getKeyframe(int index)
                      throws java.io.IOException,
                             AutomationException
The keyframe with the given index in the track.

Supported Platforms

Windows, Solaris, Linux

Parameters:
index - The index (in)
Returns:
A reference to a com.esri.arcgis.analyst3d.IKeyframe
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isCycle

public boolean isCycle()
                throws java.io.IOException,
                       AutomationException
Indicates if the track is repeated periodically.

Returns:
The pbIsCycle
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIsCycle

public void setIsCycle(boolean pbIsCycle)
                throws java.io.IOException,
                       AutomationException
Indicates if the track is repeated periodically.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pbIsCycle - The pbIsCycle (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getBeginTime

public double getBeginTime()
                    throws java.io.IOException,
                           AutomationException
The initial time of the track.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pBeginTime
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setBeginTime

public void setBeginTime(double pBeginTime)
                  throws java.io.IOException,
                         AutomationException
The initial time of the track.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pBeginTime - The pBeginTime (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getEndTime

public double getEndTime()
                  throws java.io.IOException,
                         AutomationException
The final time of the track.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pEndTime
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setEndTime

public void setEndTime(double pEndTime)
                throws java.io.IOException,
                       AutomationException
The final time of the track.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pEndTime - The pEndTime (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isEnabled

public boolean isEnabled()
                  throws java.io.IOException,
                         AutomationException
Indicates if the track is enabled.

Returns:
The pbIsEnabled
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setIsEnabled

public void setIsEnabled(boolean pbIsEnabled)
                  throws java.io.IOException,
                         AutomationException
Indicates if the track is enabled.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pbIsEnabled - The pbIsEnabled (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setEvenTimeStamps

public void setEvenTimeStamps(boolean pbEvenTimeStamps)
                       throws java.io.IOException,
                              AutomationException
Indicates whether to distribute time stamps evenly in the interval 0-1.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pbEvenTimeStamps - The pbEvenTimeStamps (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isEvenTimeStamps

public boolean isEvenTimeStamps()
                         throws java.io.IOException,
                                AutomationException
Indicates whether to distribute time stamps evenly in the interval 0-1.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pbEvenTimeStamps
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setApplyToAllViewers

public void setApplyToAllViewers(boolean pbApplyToAllViewers)
                          throws java.io.IOException,
                                 AutomationException
Indicates whether to apply a camera track to all scene viewers.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pbApplyToAllViewers - The pbApplyToAllViewers (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isApplyToAllViewers

public boolean isApplyToAllViewers()
                            throws java.io.IOException,
                                   AutomationException
Indicates whether to apply a camera track to all scene viewers.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pbApplyToAllViewers
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAttachedObjectsCount

public int getAttachedObjectsCount()
                            throws java.io.IOException,
                                   AutomationException
The number of objects to which the track is attached.

Supported Platforms

Windows, Solaris, Linux

Returns:
The pObjectCount
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getAttachedObjects

public IArray getAttachedObjects()
                          throws java.io.IOException,
                                 AutomationException
The objects to which the track is attached, or null.

Supported Platforms

Windows, Solaris, Linux

Returns:
A reference to a com.esri.arcgis.system.IArray
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isAttached

public boolean isAttached(java.lang.Object pObject)
                   throws java.io.IOException,
                          AutomationException
Indicates if the given objects is attached to the track.

Parameters:
pObject - A reference to another Object (IUnknown) (in)
Returns:
The pbIsAttached
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setAttachedObjects

public void setAttachedObjects(IArray ppObjectArray)
                        throws java.io.IOException,
                               AutomationException
The objects to which the track is attached, or null.

Supported Platforms

Windows, Solaris, Linux

Parameters:
ppObjectArray - A reference to a com.esri.arcgis.system.IArray (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

attachObject

public void attachObject(java.lang.Object pObject)
                  throws java.io.IOException,
                         AutomationException
Attach object to the track.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pObject - A reference to another Object (IUnknown) (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

detachObject

public void detachObject(java.lang.Object pObject)
                  throws java.io.IOException,
                         AutomationException
Detach object from the track.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pObject - A reference to another Object (IUnknown) (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

detachAllObjects

public void detachAllObjects()
                      throws java.io.IOException,
                             AutomationException
Detach all objects from the track.

Supported Platforms

Windows, Solaris, Linux

Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

resetAttachedObjects

public void resetAttachedObjects(IScene pScene)
                          throws java.io.IOException,
                                 AutomationException
Reset the state of the attached objects to be ready for animation.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pScene - A reference to a com.esri.arcgis.analyst3d.IScene (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

insertKeyframe

public void insertKeyframe(IKeyframe pKeyframe,
                           int index)
                    throws java.io.IOException,
                           AutomationException
Inserts a new keyframe. If the index is -1, it is added last.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pKeyframe - A reference to a com.esri.arcgis.analyst3d.IKeyframe (in)
index - The index (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeKeyframe

public void removeKeyframe(int index)
                    throws java.io.IOException,
                           AutomationException
Removes the keyframe with the given index.

Supported Platforms

Windows, Solaris, Linux

Parameters:
index - The index (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

removeAllKeyframes

public void removeAllKeyframes()
                        throws java.io.IOException,
                               AutomationException
Removes all the keyframes.

Supported Platforms

Windows, Solaris, Linux

Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

findKeyframe

public void findKeyframe(java.lang.String name,
                         IKeyframe[] ppKeyframe)
                  throws java.io.IOException,
                         AutomationException
Finds a keyframe by name.

Supported Platforms

Windows, Solaris, Linux

Parameters:
name - The name (in)
ppKeyframe - A reference to a com.esri.arcgis.analyst3d.IKeyframe (out: use single element array)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

moveKeyframe

public void moveKeyframe(int originIndex,
                         int destinationIndex)
                  throws java.io.IOException,
                         AutomationException
Moves the keyframe with the given index, inserting it with a different index.

Supported Platforms

Windows, Solaris, Linux

Parameters:
originIndex - The originIndex (in)
destinationIndex - The destinationIndex (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

sortKeyframes

public void sortKeyframes()
                   throws java.io.IOException,
                          AutomationException
Sorts the keyframes in ascending time order.

Supported Platforms

Windows, Solaris, Linux

Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

resetTimeStamps

public void resetTimeStamps()
                     throws java.io.IOException,
                            AutomationException
Redistributes the time stamps in the interval [0,1].

Supported Platforms

Windows, Solaris, Linux

Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

saveObjectProperties

public void saveObjectProperties(IScene pScene,
                                 int index)
                          throws java.io.IOException,
                                 AutomationException
Internally saves the properties of the attached object specified.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pScene - A reference to a com.esri.arcgis.analyst3d.IScene (in)
index - The index (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

restoreObjectProperties

public void restoreObjectProperties(IScene pScene,
                                    int index)
                             throws java.io.IOException,
                                    AutomationException
Restores the saved properties of the attached object specified.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pScene - A reference to a com.esri.arcgis.analyst3d.IScene (in)
index - The index (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

interpolateObjectProperties

public void interpolateObjectProperties(IScene pScene,
                                        double time)
                                 throws java.io.IOException,
                                        AutomationException
Interpolates the state of the attached object for a time between BeginTime and Endtime.

Supported Platforms

Windows, Solaris, Linux

Parameters:
pScene - A reference to a com.esri.arcgis.analyst3d.IScene (in)
time - The time (in)
Throws:
java.io.IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.