com.esri.arcgis.geodatabase
Interface ITinEdit2

All Superinterfaces:
Serializable
All Known Implementing Classes:
Tin

public interface ITinEdit2
extends Serializable

Provides access to members that control TIN editing.

Product Availability

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


Method Summary
 void addFrom3dMultipointFeatureClass(IFeatureClass pFeatureClass, ISpatialFilter pClippingFilter)
          Adds features from a 3D multi-point feature class to the TIN.
 void resetExtent(IEnvelope pExtent)
          Reset TIN's extent.
 void saveSnapshot(String name, boolean bOverWrite)
          Saves a snapshot of the TIN that is been edited to disk.
 void setToConstrainedDelaunay()
          Apply constrained Delaunay from now on.
 int swapEdge(int index, int type, int tag)
          Swap the specified edge and set the TIN as constrained Delaunay triangulation.
 

Method Detail

resetExtent

void resetExtent(IEnvelope pExtent)
                 throws IOException,
                        AutomationException
Reset TIN's extent.

Description

Redefines the declared 2D data area for the TIN using the rectangle defined by pExtent. This is the area into which data added to the TIN should fall.

This method can only be called if the TIN has four super nodes and no other data. An error is returned if that condition is not met.

The typical use case for this method pertains to the editing of TINs created by the Create TIN geoprocessing tool. That tool can create and save 'empty' TINs, where no data was added to the triangulation. When the tool does that the delcared data extent for the TIN is set to the domain of the TIN's spatial reference. It uses that because it doesn't know the data extent since no data was added. That domain is huge. If left unchanged, it can result in both performance and precision issues when data is added. For cases like this ResetExtent should be called right before adding data when the proper extent is known so the TIN's four super nodes can be repositioned before triangulation occurs.

Product Availability

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

Parameters:
pExtent - 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.

setToConstrainedDelaunay

void setToConstrainedDelaunay()
                              throws IOException,
                                     AutomationException
Apply constrained Delaunay from now on.

Description

Once this has been set breaklines will no longer be densified with steiner points in order to ensure the triangulation conforms to Delaunay criteria.

Once a TIN has been placed in this mode it cannot be changed back by any means other than not saving the edit session used to call this method.

Product Availability

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

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

swapEdge

int swapEdge(int index,
             int type,
             int tag)
             throws IOException,
                    AutomationException
Swap the specified edge and set the TIN as constrained Delaunay triangulation.

Description

Alters the triangulation by connecting an edge to the opposite nodes of the triangles sharing the edge. The return value from this method is the index of the resulting edge. The TIN will automatically have the ITin.IsDelaunay property set to FALSE when calling this method.

Index is the index of the TIN edge to swap.

esriTinEdgeType is assigned to the resulting edge. If you want to ensure the edge is not redefined via a subsequent edit operation that's within close proximity to the edge set it to esriTinHardEdge or esriTinSoftEdge.

Tag is the tag value assigned to the resulting edge. Use a value of 0 if you're not concerned about edge tag values.

Product Availability

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

Parameters:
index - The index (in)
type - A com.esri.arcgis.geodatabase.esriTinEdgeType constant (in)
tag - The tag (in)
Returns:
The pNewIndex
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

addFrom3dMultipointFeatureClass

void addFrom3dMultipointFeatureClass(IFeatureClass pFeatureClass,
                                     ISpatialFilter pClippingFilter)
                                     throws IOException,
                                            AutomationException
Adds features from a 3D multi-point feature class to the TIN.

Description

Used to add a subset of points from a z-aware multipoint feature class. The benefit of using this method over ITinEdit.AddFromFeatureClass is that the multipoints can be clipped to an area of interest before they get added to the triangulation, excluding vertices that are of no interest.

pFeatureClass must reference a z-aware multipoint feature class.

pClippingFilter is a SpatialFilter that's used to select points from the input feature class. First, the filter will be applied as a search filter on the multipoint feature class. Then, each vertex of each returned multipoint is tested to see if it's within or coincident to the filter's geometry. If so, it's add to the triangulation.

Notes:
The most straightforward use of this method would be to set the filter geometry to an envelope or polygon and the spatial relationship test to Intersects. This is the most efficient way to triangulate just those vertices from a multipoint feature class that are inside an area of interest defined by a rectangle or polygon.

Product Availability

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

Parameters:
pFeatureClass - A reference to a com.esri.arcgis.geodatabase.IFeatureClass (in)
pClippingFilter - A reference to a com.esri.arcgis.geodatabase.ISpatialFilter (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

saveSnapshot

void saveSnapshot(String name,
                  boolean bOverWrite)
                  throws IOException,
                         AutomationException
Saves a snapshot of the TIN that is been edited to disk.

Description

Saves a copy of the TIN, based on its current state in memory, to disk. This differs from ITinAdvanced.SaveAs and ITinEdit.SaveAs because those methods point the TIN object to the saved version of the TIN whereas SaveSnapshot does not.

sName is the full output path to the new TIN.

bOverWrite should be set to FALSE if the output should not be replaced if it already exists. An error will be returned if the output already exists. If it's okay to replace the output then set bOverWrite to TRUE.

Product Availability

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

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