

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
public interface IMSegmentation2
Provides access to additional linear referencing operations on polylines.
The IMSegmentation2 interface (like the IMSegmenation interface) also provides methods designed to work with the dynamic segmentation functionality in ArcObjects. These methods offer extended ways to interpolate and update the m attributes on a PolyLine, by cumulative distance and also by existing m values.
IPoint.getM()
,
IMSegmentation
,
IMSegmentation2
,
IMCollection
,
IMAware
Method Summary  

IEnumSplitPoint 
calibrateByDistance(IEnumVertex points,
int updateHow,
boolean ignoreGaps,
double cutoffDistance)
Calibrates Ms of existing vertices using new Ms from the input points and the shortest path distances along the polyline between those points. 
IEnumSplitPoint 
calibrateByMs(IEnumVertex points,
int updateHow,
double cutoffDistance)
Calibrates Ms of existing vertices using new Ms from the input points and existing Ms along shortest paths between those points. 
IGeometryCollection 
getSubcurveBetweenMsEx(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 
setMsAsDistance2(IPoint origin,
double scale,
double offset,
boolean ignoreGaps)
Sets Ms on vertices as scaled and offset distances from the input origin as measured along the polyline. 
void 
updateMsByDistance(int fromPart,
int fromPoint,
int toPart,
int toPoint,
double fromM,
double toM,
int updateHow,
boolean ignoreGaps)
Updates Ms along the shortest path between the specified endpoints. 
void 
updateMsByMs(int fromPart,
int fromPoint,
int toPart,
int toPoint,
double fromM,
double toM,
int updateHow)
Updates Ms along the shortest path between the specified endpoints. 
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 

void setMsAsDistance2(IPoint origin, double scale, double offset, boolean ignoreGaps) throws IOException, AutomationException
origin
 A reference to a com.esri.arcgis.geometry.IPoint (in)scale
 The scale (in)offset
 The offset (in)ignoreGaps
 The ignoreGaps (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.IMSegmentation.setMsAsDistance(boolean)
void updateMsByDistance(int fromPart, int fromPoint, int toPart, int toPoint, double fromM, double toM, int updateHow, boolean ignoreGaps) throws IOException, AutomationException
The updateHow argument is given as a combination of esriGeometryUpdateMEnum values. When combining multiple values, the bitwise Or operator should always be used. This assures an errorfree combination of the values (as long as the attempted combination is valid). Do not use the addition operator (+) to combine the values as unexpected results may occur.
For example, to interpolate between the input points and to extrapolate before and after the input points, you would use 7, which equates to: esriGeometryInterpolate OR esriGeometryExtrapolateBefore OR esriGeometryExtrapolateAfter
esriGeometryInterpolate = 0001 (1)
esriGeometryExtrapolateBefore = 0010 (2)
esriGeometryExtrapolateAfter = 0100 (4)
0001
0010
0100

0111
fromPart
 The fromPart (in)fromPoint
 The fromPoint (in)toPart
 The toPart (in)toPoint
 The toPoint (in)fromM
 The fromM (in)toM
 The toM (in)updateHow
 The updateHow (in)ignoreGaps
 The ignoreGaps (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.IMSegmentation2.updateMsByMs(int, int, int, int, double, double, int)
void updateMsByMs(int fromPart, int fromPoint, int toPart, int toPoint, double fromM, double toM, int updateHow) throws IOException, AutomationException
The updateHow argument is given as a combination of esriGeometryUpdateMEnum values. When combining multiple values, the bitwise Or operator should always be used. This assures an errorfree combination of the values (as long as the attempted combination is valid). Do not use the addition operator (+) to combine the values as unexpected results may occur.
For example, to interpolate between the input points and to extrapolate before and after the input points, you would use 7, which equates to: esriGeometryInterpolate OR esriGeometryExtrapolateBefore OR esriGeometryExtrapolateAfter
esriGeometryInterpolate = 0001 (1)
esriGeometryExtrapolateBefore = 0010 (2)
esriGeometryExtrapolateAfter = 0100 (4)
0001
0010
0100

0111
fromPart
 The fromPart (in)fromPoint
 The fromPoint (in)toPart
 The toPart (in)toPoint
 The toPoint (in)fromM
 The fromM (in)toM
 The toM (in)updateHow
 The updateHow (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.IMSegmentation2.updateMsByDistance(int, int, int, int, double, double, int, boolean)
IEnumSplitPoint calibrateByDistance(IEnumVertex points, int updateHow, boolean ignoreGaps, double cutoffDistance) throws IOException, AutomationException
The updateHow argument is given as a combination of esriGeometryUpdateMEnum values. When combining multiple values, the bitwise Or operator should always be used. This assures an errorfree combination of the values (as long as the attempted combination is valid). Do not use the addition operator (+) to combine the values as unexpected results may occur.
For example, to interpolate between the input points and to extrapolate before and after the input points, you would use 7, which equates to: esriGeometryInterpolate OR esriGeometryExtrapolateBefore OR esriGeometryExtrapolateAfter. A value of 0 will only split the input polyline and assign the Ms value to the new created vertex. If an input point has the same X (or projected to the same X) as an existing vertex the Ms value of the existing vertex will be updated.
Note : The "After" and "Before" for the updateHow parameter is define by the order of the points in the multipoints. Ex : If the points are define from left to right the "Before" will be at the left of the first point and the "After" will be at the right of the last point.
The cutoffDistance parameter is an input Double that represents the distance from the polyline from where points are not considered anymore as being valid calibration points.
The following picture demonstrates graphically the method behavior. A updateHow paramater of 7 has been used.
esriGeometryInterpolate = 0001 (1)
esriGeometryExtrapolateBefore = 0010 (2)
esriGeometryExtrapolateAfter = 0100 (4)
0001
0010
0100

0111
points
 A reference to a com.esri.arcgis.geometry.IEnumVertex (in)updateHow
 The updateHow (in)ignoreGaps
 The ignoreGaps (in)cutoffDistance
 The cutoffDistance (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.IMSegmentation2.calibrateByMs(com.esri.arcgis.geometry.IEnumVertex, int, double)
IEnumSplitPoint calibrateByMs(IEnumVertex points, int updateHow, double cutoffDistance) throws IOException, AutomationException
The updateHow argument is given as a combination of esriGeometryUpdateMEnum values. When combining multiple values, the bitwise Or operator should always be used. This assures an errorfree combination of the values (as long as the attempted combination is valid). Do not use the addition operator (+) to combine the values as unexpected results may occur.
The cutoffDistance parameter is an input Double that represents the distance from the polyline from where points are not considered anymore as being valid calibration points.
For example, to interpolate between the input points and to extrapolate before and after the input points, you would use 7, which equates to: esriGeometryInterpolate OR esriGeometryExtrapolateBefore OR esriGeometryExtrapolateAfter
esriGeometryInterpolate = 0001 (1)
esriGeometryExtrapolateBefore = 0010 (2)
esriGeometryExtrapolateAfter = 0100 (4)
0001
0010
0100

0111
points
 A reference to a com.esri.arcgis.geometry.IEnumVertex (in)updateHow
 The updateHow (in)cutoffDistance
 The cutoffDistance (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.IMSegmentation2.calibrateByDistance(com.esri.arcgis.geometry.IEnumVertex, int, boolean, double)
IGeometryCollection getSubcurveBetweenMsEx(double fromM, double toM, int[] fromMDetails, int[] toMDetails) throws IOException, AutomationException
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)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.IMSegmentation.getSubcurveBetweenMs(double, double)


PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 