com.esri.arcgis.analyst3d
Interface IKeyframe

All Superinterfaces:
Serializable
All Known Implementing Classes:
Bookmark3D, GlobeCameraKeyframe, GlobeLayerKeyframe, LayerKeyframe, SceneKeyframe

public interface IKeyframe
extends Serializable

Provides access to keyframe of animated objects.

Remarks

Keyframes encapsulate some properties and behaviors of an animated object. IKeyframe interface can be used to access those properties and methods. Starting from ArcGIS 8.2 3D Analyst extension, three built-in objects (Camera, Layer, and Scene) can be animated by using IKeyframe, which is already implemented for all three internally and used by the animation tools on the Animation Toolbar. Developers can animate other objects by first implementing IKeyframe interface for those objects.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux


Method Summary
 void apply(IScene pScene, Object pObject)
          Apply to the object the active properties of the keyframe.
 void captureProperties(IScene pScene, Object pObject)
          Copy the properties from the object to the keyframe.
 ILongArray getActiveProperties()
          The combination of active properties.
 IAnimationType getAnimationType()
          The animation type.
 String getName()
          The name of the keyframe.
 double getPropertyValueDouble(int propIndex)
          The value of a double-typed property.
 IEnvelope getPropertyValueExtent(int propIndex)
          The value of an Extent-typed property.
 int getPropertyValueInt(int propIndex)
          The value of an integer typed property.
 int getPropertyValueLong(int propIndex)
          The value of a long integer typed property.
 IPoint getPropertyValuePoint(int propIndex)
          The value of a Point-typed property.
 IColor getPropertyValueRGBColor(int propIndex)
          The value of an RGB Color-typed property.
 double getTimeStamp()
          The time stamp (in the interval 0-1).
 void interpolate(IScene pScene, Object pObject, int propertyIndex, double time, IKeyframe pNextKeyframe, IKeyframe pPrevKeyframe, IKeyframe pAfterNextKeyframe)
          Interpolates the values of an object property for a time between this keyframe and the next (time is in [0,1]).
 boolean isActiveProperty(int propIndex)
          Indicates if an animation property is active.
 boolean isObjectNeedsRefresh()
          Indicates if the object must be refreshed after interpolating its state.
 boolean isPropertyValueBoolean(int propIndex)
          Indicates if the property is TRUE.
 void refreshObject(IScene pScene, Object pObject)
          Recreates the object after its properties have been interpolated.
 void setActiveProperties(ILongArray ppActiveProps)
          The combination of active properties.
 void setIsActiveProperty(int propIndex, boolean pbIsActiveProp)
          Indicates if an animation property is active.
 void setName(String name)
          The name of the keyframe.
 void setPropertyValueBoolean(int propIndex, boolean pBoolValue)
          Indicates if the property is TRUE.
 void setPropertyValueDouble(int propIndex, double pDoubleValue)
          The value of a double-typed property.
 void setPropertyValueExtent(int propIndex, IEnvelope ppExtent)
          The value of an Extent-typed property.
 void setPropertyValueInt(int propIndex, int pIntValue)
          The value of an integer typed property.
 void setPropertyValueLong(int propIndex, int pLongValue)
          The value of a long integer typed property.
 void setPropertyValuePoint(int propIndex, IPoint ppPoint)
          The value of a Point-typed property.
 void setPropertyValueRGBColor(int propIndex, IColor ppColor)
          The value of an RGB Color-typed property.
 void setTimeStamp(double pTimeStamp)
          The time stamp (in the interval 0-1).
 

Method Detail

getName

String getName()
               throws IOException,
                      AutomationException
The name of the keyframe.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setName

void setName(String name)
             throws IOException,
                    AutomationException
The name of the keyframe.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getActiveProperties

ILongArray getActiveProperties()
                               throws IOException,
                                      AutomationException
The combination of active properties.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

setActiveProperties

void setActiveProperties(ILongArray ppActiveProps)
                         throws IOException,
                                AutomationException
The combination of active properties.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

isActiveProperty

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

Product Availability

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

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

setIsActiveProperty

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

Product Availability

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

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

getPropertyValueInt

int getPropertyValueInt(int propIndex)
                        throws IOException,
                               AutomationException
The value of an integer typed property.

Product Availability

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

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

getPropertyValueLong

int getPropertyValueLong(int propIndex)
                         throws IOException,
                                AutomationException
The value of a long integer typed property.

Product Availability

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

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

getPropertyValueDouble

double getPropertyValueDouble(int propIndex)
                              throws IOException,
                                     AutomationException
The value of a double-typed property.

Product Availability

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

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

isPropertyValueBoolean

boolean isPropertyValueBoolean(int propIndex)
                               throws IOException,
                                      AutomationException
Indicates if the property is TRUE.

Product Availability

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

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

getPropertyValuePoint

IPoint getPropertyValuePoint(int propIndex)
                             throws IOException,
                                    AutomationException
The value of a Point-typed property.

Product Availability

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

Parameters:
propIndex - The propIndex (in)
Returns:
A reference to a com.esri.arcgis.geometry.IPoint
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPropertyValueExtent

IEnvelope getPropertyValueExtent(int propIndex)
                                 throws IOException,
                                        AutomationException
The value of an Extent-typed property.

Product Availability

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

Parameters:
propIndex - The propIndex (in)
Returns:
A reference to a com.esri.arcgis.geometry.IEnvelope
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPropertyValueRGBColor

IColor getPropertyValueRGBColor(int propIndex)
                                throws IOException,
                                       AutomationException
The value of an RGB Color-typed property.

Product Availability

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

Parameters:
propIndex - The propIndex (in)
Returns:
A reference to a com.esri.arcgis.display.IColor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPropertyValueInt

void setPropertyValueInt(int propIndex,
                         int pIntValue)
                         throws IOException,
                                AutomationException
The value of an integer typed property.

Product Availability

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

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

setPropertyValueLong

void setPropertyValueLong(int propIndex,
                          int pLongValue)
                          throws IOException,
                                 AutomationException
The value of a long integer typed property.

Product Availability

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

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

setPropertyValueDouble

void setPropertyValueDouble(int propIndex,
                            double pDoubleValue)
                            throws IOException,
                                   AutomationException
The value of a double-typed property.

Product Availability

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

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

setPropertyValueBoolean

void setPropertyValueBoolean(int propIndex,
                             boolean pBoolValue)
                             throws IOException,
                                    AutomationException
Indicates if the property is TRUE.

Product Availability

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

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

setPropertyValuePoint

void setPropertyValuePoint(int propIndex,
                           IPoint ppPoint)
                           throws IOException,
                                  AutomationException
The value of a Point-typed property.

Product Availability

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

Parameters:
propIndex - The propIndex (in)
ppPoint - A reference to a com.esri.arcgis.geometry.IPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPropertyValueExtent

void setPropertyValueExtent(int propIndex,
                            IEnvelope ppExtent)
                            throws IOException,
                                   AutomationException
The value of an Extent-typed property.

Product Availability

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

Parameters:
propIndex - The propIndex (in)
ppExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setPropertyValueRGBColor

void setPropertyValueRGBColor(int propIndex,
                              IColor ppColor)
                              throws IOException,
                                     AutomationException
The value of an RGB Color-typed property.

Product Availability

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

Parameters:
propIndex - The propIndex (in)
ppColor - A reference to a com.esri.arcgis.display.IColor (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setTimeStamp

void setTimeStamp(double pTimeStamp)
                  throws IOException,
                         AutomationException
The time stamp (in the interval 0-1).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getTimeStamp

double getTimeStamp()
                    throws IOException,
                           AutomationException
The time stamp (in the interval 0-1).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

getAnimationType

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

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

apply

void apply(IScene pScene,
           Object pObject)
           throws IOException,
                  AutomationException
Apply to the object the active properties of the keyframe.

Remarks

The second argument of this method can be a Camera, a Layer, or a Scene object, which corresponds to one of the three built-in animation types.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

captureProperties

void captureProperties(IScene pScene,
                       Object pObject)
                       throws IOException,
                              AutomationException
Copy the properties from the object to the keyframe.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

interpolate

void interpolate(IScene pScene,
                 Object pObject,
                 int propertyIndex,
                 double time,
                 IKeyframe pNextKeyframe,
                 IKeyframe pPrevKeyframe,
                 IKeyframe pAfterNextKeyframe)
                 throws IOException,
                        AutomationException
Interpolates the values of an object property for a time between this keyframe and the next (time is in [0,1]).

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

Parameters:
pScene - A reference to a com.esri.arcgis.analyst3d.IScene (in)
pObject - A Variant (in)
propertyIndex - The propertyIndex (in)
time - The time (in)
pNextKeyframe - A reference to a com.esri.arcgis.analyst3d.IKeyframe (in)
pPrevKeyframe - A reference to a com.esri.arcgis.analyst3d.IKeyframe (in)
pAfterNextKeyframe - A reference to a com.esri.arcgis.analyst3d.IKeyframe (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

isObjectNeedsRefresh

boolean isObjectNeedsRefresh()
                             throws IOException,
                                    AutomationException
Indicates if the object must be refreshed after interpolating its state.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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

refreshObject

void refreshObject(IScene pScene,
                   Object pObject)
                   throws IOException,
                          AutomationException
Recreates the object after its properties have been interpolated.

Product Availability

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

Supported Platforms

Windows, Solaris, Linux

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