com.esri.arcgis.geodatabaseextensions
Class TerrainBlockCursor

java.lang.Object
  extended by com.esri.arcgis.geodatabaseextensions.TerrainBlockCursor
All Implemented Interfaces:
ITerrainBlockCursor, com.esri.arcgis.interop.RemoteObjRef, Serializable

public class TerrainBlockCursor
extends Object
implements com.esri.arcgis.interop.RemoteObjRef, ITerrainBlockCursor

Esri TerrainBlockCursor object.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

See Also:
Serialized Form

Constructor Summary
TerrainBlockCursor(Object obj)
          Construct a TerrainBlockCursor using a reference to such an object returned from ArcGIS Engine or Server.
 
Method Summary
 boolean equals(Object o)
          Compare this object with another
 int getBlockCount()
          The number of blocks in the cursor.
 int hashCode()
          the hashcode for this object
 void next(int[] pRowBegin, int[] pRowEnd, int[] pColBegin, int[] pColEnd, boolean[] pbIsEnd)
          Returns next block in the form of rows and columns.
 void nextAsTin(ITin[] ppTin, IEnvelope[] ppExtent)
          Returns next block as a reference to a TIN object.
 void reset()
          Resets the cursor to point to the first block.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef
getJintegraDispatch, release
 

Constructor Detail

TerrainBlockCursor

public TerrainBlockCursor(Object obj)
                   throws IOException
Construct a TerrainBlockCursor using a reference to such an object returned from ArcGIS Engine or Server. This is semantically equivalent to casting obj to TerrainBlockCursor.
Casting to this class from the return value of a method will not work, as this class represents an abstract class in ArcObjects.
*
TerrainBlockCursor o = (TerrainBlockCursor)obj; // will not work

TerrainBlockCursor o = new TerrainBlockCursor(obj); // Use this constructor instead
* @param obj an object returned from ArcGIS Engine or Server

Throws:
IOException - if there are interop problems TerrainBlockCursor theTerrainBlockCursor = (TerrainBlockCursor) obj;
Method Detail

equals

public boolean equals(Object o)
Compare this object with another

Overrides:
equals in class Object

hashCode

public int hashCode()
the hashcode for this object

Overrides:
hashCode in class Object

getBlockCount

public int getBlockCount()
                  throws IOException,
                         AutomationException
The number of blocks in the cursor.

Description

The total number of blocks in the cursor. While this value is generally reliable it's possible for it to change in the event an overload condition is discovered for a block and it needs to be subdivided into multiple blocks. Therefore, it may be need to be checked each successive call to Next or NextAsTin if it's being used to track progress.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
getBlockCount in interface ITerrainBlockCursor
Returns:
The pcBlocks
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

next

public void next(int[] pRowBegin,
                 int[] pRowEnd,
                 int[] pColBegin,
                 int[] pColEnd,
                 boolean[] pbIsEnd)
          throws IOException,
                 AutomationException
Returns next block in the form of rows and columns.

Description

Returns the row and column numbers of the terrain tiles associated with the next block. These can be passed to IDynamicSurface3.ConvertToExtent if getting the spatial extent of the block is desired.

bEnd is set to TRUE when there are no more blocks. Thus the row and column values are not to be used when bEnd is TRUE.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
next in interface ITerrainBlockCursor
Parameters:
pRowBegin - The pRowBegin (out: use single element array)
pRowEnd - The pRowEnd (out: use single element array)
pColBegin - The pColBegin (out: use single element array)
pColEnd - The pColEnd (out: use single element array)
pbIsEnd - The pbIsEnd (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

nextAsTin

public void nextAsTin(ITin[] ppTin,
                      IEnvelope[] ppExtent)
               throws IOException,
                      AutomationException
Returns next block as a reference to a TIN object.

Description

Returns a TIN for the area represented by the next block in the cursor.

pTin is the output TIN for the next block. This will be returned NULL when there are no more blocks.

pExtent is an output envelope represeting the neatline, tile based, boundary for the block. The extent of the envelope may fall outside the data area of the TIN on the perimeter of the terrain where data does not fill the extent of the tiles. The extent of the envelope may fall within the data extent of the TIN for areas on the inside of the terrain. This is intentional and is designed to provide data overlap between neighboring blocks. This completes interpolation neighborhoods along block boundaries so that analytic results performed separately on the TINs for neighboring blocks match after being clipped by their respective block extents and merged.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
nextAsTin in interface ITerrainBlockCursor
Parameters:
ppTin - A reference to a com.esri.arcgis.geodatabase.ITin (out: use single element array)
ppExtent - A reference to a com.esri.arcgis.geometry.IEnvelope (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

reset

public void reset()
           throws IOException,
                  AutomationException
Resets the cursor to point to the first block.

Description

Returns the cursor to the initial block.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Specified by:
reset in interface ITerrainBlockCursor
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.