com.esri.core.geometry
Class Segment

java.lang.Object
  extended by com.esri.core.geometry.Geometry
      extended by com.esri.core.geometry.Segment
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
Line

public abstract class Segment
extends Geometry
implements Serializable

A base class for segments. Presently only Line segments are supported.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class com.esri.core.geometry.Geometry
Geometry.GeometryAccelerationDegree, Geometry.Type
 
Constructor Summary
Segment()
          Creates a segment with start and end points (0,0).
 
Method Summary
 double calculateArea2D()
          Calculates the area of the geometry.
 void copyTo(Geometry dst)
          Copies this geometry to another geometry of the same type.
abstract  double getAttributeAsDbl(double t, int semantics, int ordinate)
          Returns the attribute on the segment for the given parameter value.
 int getDimension()
          Returns the topological dimension of the geometry object based on the geometry's type.
 double getEndAttributeAsDbl(int semantics, int ordinate)
          Returns value of the end vertex attribute's ordinate.
 int getEndAttributeAsInt(int semantics, int ordinate)
          Returns the value of the end vertex attribute's ordinate.
 double getEndX()
          Returns the X coordinate of ending point.
 double getEndY()
          Returns the Y coordinate of ending point.
 double getStartAttributeAsDbl(int semantics, int ordinate)
          Returns value of the start vertex attribute's ordinate.
 int getStartAttributeAsInt(int semantics, int ordinate)
          Returns the value of the start vertex attribute's ordinate.
 double getStartX()
          Returns the X coordinate of starting point.
 double getStartY()
          Returns the Y coordinate of starting point.
abstract  int intersectionWithAxis2D(boolean bAxisX, double ordinate, double[] resultOrdinates, double[] parameters)
          Calculates intersection points of this segment with an infinite line, parallel to one of the axes.
 boolean isEmpty()
          IsEmpty returns TRUE when the Geometry object does not contain geometric information beyond its original initialization state.
 boolean isEmptyImpl()
          Non public abstract version of the function.
 void queryEnd(Point dstPoint)
          Returns coordinates of the end point in this segment.
 Envelope1D queryInterval(int semantics, int ordinate)
          Returns the min and max attribute values at the ordinate of the Geometry
 void queryStart(Point dstPoint)
          Returns coordinates of the start point in a Point class.
 void setEmpty()
          Returns the geometry to its original initialization state by releasing all data referenced by the geometry.
 void setEnd(Point srcPoint)
          Sets the coordinates of the end point in a Point class.
 void setEndAttribute(int semantics, int ordinate, double value)
          Sets the value of end vertex attribute.
 void setEndAttribute(int semantics, int ordinate, int value)
           
 void setStart(Point srcPoint)
          Sets the coordinates of the start point in this segment.
 void setStartAttribute(int semantics, int ordinate, double value)
          Sets the value of the start vertex attribute.
 void setStartAttribute(int semantics, int ordinate, int value)
           
 
Methods inherited from class com.esri.core.geometry.Geometry
_getImpl, addAttribute, addID, addM, applyTransformation, calculateLength2D, copy, createInstance, dropAllAttributes, dropAttribute, getDescription, getDimensionFromType, getStateFlag, getType, hasAttribute, hasID, hasM, hasZ, isArea, isLinear, isMultiPath, isMultiVertex, isPoint, isSegment, queryEnvelope, queryEnvelope2D, queryLooseEnvelope2D
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Segment

public Segment()
Creates a segment with start and end points (0,0).

Method Detail

queryStart

public void queryStart(Point dstPoint)
Returns coordinates of the start point in a Point class.


setStart

public void setStart(Point srcPoint)
Sets the coordinates of the start point in this segment.

Parameters:
srcPoint - The new start point of this segment.

getStartAttributeAsDbl

public double getStartAttributeAsDbl(int semantics,
                                     int ordinate)
Returns value of the start vertex attribute's ordinate. Throws if the Point is empty.

Parameters:
semantics - The attribute semantics.
ordinate - The attribute's ordinate. For example, the y coordinate of the NORMAL has ordinate of 1.
Returns:
Ordinate value as double.

getStartAttributeAsInt

public int getStartAttributeAsInt(int semantics,
                                  int ordinate)
Returns the value of the start vertex attribute's ordinate. The ordinate is always 0 because integer attributes always have one component.

Parameters:
semantics - The attribute semantics.
ordinate - The attribute's ordinate. For example, the y coordinate of the NORMAL has ordinate of 1.
Returns:
Ordinate value truncated to 32 bit integer.

setStartAttribute

public void setStartAttribute(int semantics,
                              int ordinate,
                              double value)
Sets the value of the start vertex attribute.

Parameters:
semantics - The attribute semantics.
value - is the array to write values to. The attribute type and the number of elements must match the persistence type, as well as the number of components of the attribute.

setStartAttribute

public void setStartAttribute(int semantics,
                              int ordinate,
                              int value)

getStartX

public double getStartX()
Returns the X coordinate of starting point.

Returns:
The X coordinate of starting point.

getStartY

public double getStartY()
Returns the Y coordinate of starting point.

Returns:
The Y coordinate of starting point.

getEndX

public double getEndX()
Returns the X coordinate of ending point.

Returns:
The X coordinate of ending point.

getEndY

public double getEndY()
Returns the Y coordinate of ending point.

Returns:
The Y coordinate of ending point.

queryEnd

public void queryEnd(Point dstPoint)
Returns coordinates of the end point in this segment.

Parameters:
dstPoint - The end point of this segment.

setEnd

public void setEnd(Point srcPoint)
Sets the coordinates of the end point in a Point class.

Parameters:
srcPoint - The new end point of this segment.

getEndAttributeAsDbl

public double getEndAttributeAsDbl(int semantics,
                                   int ordinate)
Returns value of the end vertex attribute's ordinate. Throws if the Point is empty.

Parameters:
semantics - The attribute semantics.
ordinate - The attribute's ordinate. For example, the y coordinate of the NORMAL has ordinate of 1.
Returns:
Ordinate value as double.

getEndAttributeAsInt

public int getEndAttributeAsInt(int semantics,
                                int ordinate)
Returns the value of the end vertex attribute's ordinate. The ordinate is always 0 because integer attributes always have one component.

Parameters:
semantics - The attribute semantics.
ordinate - The attribute's ordinate. For example, the y coordinate of the NORMAL has ordinate of 1.
Returns:
The ordinate value truncated to 32 bit integer.

setEndAttribute

public void setEndAttribute(int semantics,
                            int ordinate,
                            double value)
Sets the value of end vertex attribute.

Parameters:
semantics - The attribute semantics.
ordinate - The attribute's ordinate.
value - Is the array to write values to. The attribute type and the number of elements must match the persistence type, as well as the number of components of the attribute.

setEndAttribute

public void setEndAttribute(int semantics,
                            int ordinate,
                            int value)

getDimension

public final int getDimension()
Description copied from class: Geometry
Returns the topological dimension of the geometry object based on the geometry's type.

Returns 0 for point and multipoint.

Returns 1 for lines and polylines.

Returns 2 for polygons and envelopes

Returns 3 for objects with volume

Specified by:
getDimension in class Geometry
Returns:
Returns the integer value of the dimension of geometry.

isEmpty

public final boolean isEmpty()
Description copied from class: Geometry
IsEmpty returns TRUE when the Geometry object does not contain geometric information beyond its original initialization state.

Specified by:
isEmpty in class Geometry
Returns:
boolean Returns TRUE if this geometry is empty.

setEmpty

public final void setEmpty()
Description copied from class: Geometry
Returns the geometry to its original initialization state by releasing all data referenced by the geometry.

Specified by:
setEmpty in class Geometry

calculateArea2D

public double calculateArea2D()
Description copied from class: Geometry
Calculates the area of the geometry. If the spatial reference is a Geographic Coordinate System (WGS84) then the 2D area calculation is defined in angular units.

Overrides:
calculateArea2D in class Geometry
Returns:
A double value representing the 2D area of the geometry.

isEmptyImpl

public boolean isEmptyImpl()
Non public abstract version of the function.


copyTo

public void copyTo(Geometry dst)
Description copied from class: Geometry
Copies this geometry to another geometry of the same type. The result geometry is an exact copy.

Specified by:
copyTo in class Geometry

queryInterval

public Envelope1D queryInterval(int semantics,
                                int ordinate)
Description copied from class: Geometry
Returns the min and max attribute values at the ordinate of the Geometry

Specified by:
queryInterval in class Geometry

intersectionWithAxis2D

public abstract int intersectionWithAxis2D(boolean bAxisX,
                                           double ordinate,
                                           double[] resultOrdinates,
                                           double[] parameters)
Calculates intersection points of this segment with an infinite line, parallel to one of the axes.

Parameters:
bAxisX - TRUE if the function works with the line parallel to the axis X.
ordinate - The ordinate value of the line (x for axis Y, y for axis X).
resultOrdinates - The value of ordinate in the intersection points One ordinate is equal to the ordinate parameter. This parameter can be NULL.
parameters - The value of the parameter in the intersection points (between 0 and 1). This parameter can be NULL.
Returns:
The number of intersection points, 0 when no intersection points exist, -1 when the segment coincides with the line (infinite number of intersection points).

getAttributeAsDbl

public abstract double getAttributeAsDbl(double t,
                                         int semantics,
                                         int ordinate)
Returns the attribute on the segment for the given parameter value. The interpolation of attribute is given by the attribute interpolation type.



Copyright © 2013. All Rights Reserved.