com.esri.arcgis.geometry
Interface IMSegmentation4

All Superinterfaces:
IMCollection, IMSegmentation, IMSegmentation2, IMSegmentation3, Serializable
All Known Implementing Classes:
Polyline

public interface IMSegmentation4
extends IMSegmentation3, Serializable

Provides access to additional linear referencing operations on polylines.

Product Availability

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


Method Summary
 IEnumSplitPoint calibrateByDistance3D(IEnumVertex points, int updateHow, boolean ignoreGaps, double cutoffDistance)
          Calibrates Ms of existing vertices using new Ms from the input points and the shortest 3D path distances along the polyline between those points.
 IEnumSplitPoint calibrateByMs3D(IEnumVertex points, int updateHow, double cutoffDistance)
          Calibrates Ms of existing vertices using new Ms from the input points and existing Ms along the shortest 3D paths between those points.
 void extrapolateMs3D(int extrapolationStyle, int fromPart, int fromPoint, int toPart, int toPoint)
          Extrapolates the Ms at one or both ends of the geometry based on the M interval between the fromIndex and the toIndex.
 Object getDistancesAtM3D(boolean asRatio, double m)
          Returns an array of 3D distances along the polyline at which is located the specified M.
 Object getMsAtDistance3D(double distance, boolean asRatio)
          Returns M values at the 3D distance along the geometry.
 IGeometryCollection getPointsAtM3D(double m, IVector3D offset)
          Returns a multipoint geometry corresponding to the locations along the geometry where the specified M occurs.
 IGeometryCollection getSubcurveBetweenMs3D(double fromM, double toM)
          Returns a polyline geometry corresponding to the subcurve(s) between the fromM and the toM.
 IGeometryCollection getSubcurveBetweenMsEx3D(double fromM, double toM, int[] fromMDetails, int[] toMDetails)
          Returns a polyline geometry corresponding to the subcurve(s) between the fromM and the toM values.
 void insertMAtDistance3D(double m, double distance, boolean asRatio, boolean createPart, boolean[] splitHappened, int[] newPartIndex, int[] newSegmentIndex)
          Sets the M value at the given 3D distance along the geometry; creates a point at that distance if no point exists there.
 void interpolateMsBetween3D(int fromPart, int fromPoint, int toPart, int toPoint)
          Generates Ms by linear interpolation of 3D distances for all vertices in the range [start+1, end-1].
 void setAndInterpolateMsBetween3D(double fromM, double toM)
          Sets the Ms at the beginning and the end of the geometry and interpolates the M values between these values based on an interpolation normalized to the 3D length of the shape.
 void setMsAsDistance3D(boolean asRatio)
          Sets the M values to the cumulative 3D length from the origin of the geometry.
 
Methods inherited from interface com.esri.arcgis.geometry.IMSegmentation3
getMMonotonicity, getNormalsAtM, orientByMs, queryFirstLastM, updateAllMsByMs
 
Methods inherited from interface com.esri.arcgis.geometry.IMSegmentation2
calibrateByDistance, calibrateByMs, getSubcurveBetweenMsEx, setMsAsDistance2, updateMsByDistance, updateMsByMs
 
Methods inherited from interface com.esri.arcgis.geometry.IMSegmentation
calculateNonSimpleMs, extrapolateMs, getDistancesAtM, getMMonotonic, getMsAtDistance, getPointsAtM, getSubcurveBetweenMs, insertMAtDistance, interpolateMsBetween, reverseMsOrder, setAndInterpolateMsBetween, setMsAsDistance
 
Methods inherited from interface com.esri.arcgis.geometry.IMCollection
getMMax, getMMin, multiplyMs, offsetMs
 

Method Detail

calibrateByDistance3D

IEnumSplitPoint calibrateByDistance3D(IEnumVertex points,
                                      int updateHow,
                                      boolean ignoreGaps,
                                      double cutoffDistance)
                                      throws IOException,
                                             AutomationException
Calibrates Ms of existing vertices using new Ms from the input points and the shortest 3D path distances along the polyline between those points. The update method is given as a combination of esriGeometryUpdateMEnum values.

Product Availability

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

Parameters:
points - A reference to a com.esri.arcgis.geometry.IEnumVertex (in)
updateHow - The updateHow (in)
ignoreGaps - The ignoreGaps (in)
cutoffDistance - The cutoffDistance (in)
Returns:
A reference to a com.esri.arcgis.geometry.IEnumSplitPoint
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

calibrateByMs3D

IEnumSplitPoint calibrateByMs3D(IEnumVertex points,
                                int updateHow,
                                double cutoffDistance)
                                throws IOException,
                                       AutomationException
Calibrates Ms of existing vertices using new Ms from the input points and existing Ms along the shortest 3D paths between those points. The update method is given as a combination of esriGeometryUpdateMEnum values.

Product Availability

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

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

getDistancesAtM3D

Object getDistancesAtM3D(boolean asRatio,
                         double m)
                         throws IOException,
                                AutomationException
Returns an array of 3D distances along the polyline at which is located the specified M. If the geometry's M's are monotonic along the geometry then the array will only have one element.

Product Availability

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

Parameters:
asRatio - The asRatio (in)
m - The m (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getMsAtDistance3D

Object getMsAtDistance3D(double distance,
                         boolean asRatio)
                         throws IOException,
                                AutomationException
Returns M values at the 3D distance along the geometry. An array of one or two Ms is returned. Two Ms can be returned if the given distance is exactly at the beginning or ending of a part.

Product Availability

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

Parameters:
distance - The distance (in)
asRatio - The asRatio (in)
Returns:
A Variant
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

interpolateMsBetween3D

void interpolateMsBetween3D(int fromPart,
                            int fromPoint,
                            int toPart,
                            int toPoint)
                            throws IOException,
                                   AutomationException
Generates Ms by linear interpolation of 3D distances for all vertices in the range [start+1, end-1].

Product Availability

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

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

setAndInterpolateMsBetween3D

void setAndInterpolateMsBetween3D(double fromM,
                                  double toM)
                                  throws IOException,
                                         AutomationException
Sets the Ms at the beginning and the end of the geometry and interpolates the M values between these values based on an interpolation normalized to the 3D length of the shape.

Product Availability

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

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

insertMAtDistance3D

void insertMAtDistance3D(double m,
                         double distance,
                         boolean asRatio,
                         boolean createPart,
                         boolean[] splitHappened,
                         int[] newPartIndex,
                         int[] newSegmentIndex)
                         throws IOException,
                                AutomationException
Sets the M value at the given 3D distance along the geometry; creates a point at that distance if no point exists there.

Product Availability

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

Parameters:
m - The m (in)
distance - The distance (in)
asRatio - The asRatio (in)
createPart - The createPart (in)
splitHappened - The splitHappened (out: use single element array)
newPartIndex - The newPartIndex (out: use single element array)
newSegmentIndex - The newSegmentIndex (out: use single element array)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPointsAtM3D

IGeometryCollection getPointsAtM3D(double m,
                                   IVector3D offset)
                                   throws IOException,
                                          AutomationException
Returns a multipoint geometry corresponding to the locations along the geometry where the specified M occurs.

Product Availability

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

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

getSubcurveBetweenMs3D

IGeometryCollection getSubcurveBetweenMs3D(double fromM,
                                           double toM)
                                           throws IOException,
                                                  AutomationException
Returns a polyline geometry corresponding to the subcurve(s) between the fromM and the toM.

Product Availability

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

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

getSubcurveBetweenMsEx3D

IGeometryCollection getSubcurveBetweenMsEx3D(double fromM,
                                             double toM,
                                             int[] fromMDetails,
                                             int[] toMDetails)
                                             throws IOException,
                                                    AutomationException
Returns a polyline geometry corresponding to the subcurve(s) between the fromM and the toM values. The 'details' arguments are composed of esriMCurveRelationEnum values.

Product Availability

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

Parameters:
fromM - The fromM (in)
toM - The toM (in)
fromMDetails - The fromMDetails (in/out: use single element array)
toMDetails - The toMDetails (in/out: use single element array)
Returns:
A reference to a com.esri.arcgis.geometry.IGeometryCollection
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

extrapolateMs3D

void extrapolateMs3D(int extrapolationStyle,
                     int fromPart,
                     int fromPoint,
                     int toPart,
                     int toPoint)
                     throws IOException,
                            AutomationException
Extrapolates the Ms at one or both ends of the geometry based on the M interval between the fromIndex and the toIndex.

Product Availability

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

Parameters:
extrapolationStyle - A com.esri.arcgis.geometry.esriExtrapolationEnum constant (in)
fromPart - The fromPart (in)
fromPoint - The fromPoint (in)
toPart - The toPart (in)
toPoint - The toPoint (in)
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

setMsAsDistance3D

void setMsAsDistance3D(boolean asRatio)
                       throws IOException,
                              AutomationException
Sets the M values to the cumulative 3D length from the origin of the geometry.

Product Availability

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

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