Package com.esri.core.geometry
Class EditShape
- java.lang.Object
-
- com.esri.core.geometry.EditShape
-
final class EditShape extends java.lang.Object
A helper geometry structure that can store MultiPoint, Polyline, Polygon geometries in linked lists. It allows constant time manipulation of geometry vertices.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
EditShape.EditShapeBucketSortHelper
(package private) static interface
EditShape.PathFlags_
static class
EditShape.SimplificatorVertexComparerX
static class
EditShape.SimplificatorVertexComparerY
(package private) static class
EditShape.VertexIterator
-
Field Summary
-
Constructor Summary
Constructors Constructor Description EditShape()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) int
addGeometry(Geometry geometry)
(package private) int
addMultiPath_(MultiPath multi_path)
(package private) int
addMultiPoint_(MultiPoint multi_point)
(package private) int
addPathFromMultiPath(MultiPath multi_path, int ipath, boolean as_polygon)
(package private) int
addPoint(int path, Point point)
(package private) int
addVertex(int path, int vertex)
(package private) void
appendGeometry(int dstGeometry, Geometry srcGeometry)
(package private) void
appendMultiPath_(int dstGeom, MultiPath multi_path)
(package private) void
appendMultiPoint_(int dstGeom, MultiPoint multi_point)
(package private) void
applyTransformation(Transformation2D transform)
(package private) double
calculateSubLength2D(int path, int from_vertex, int to_vertex)
(package private) void
clearPath(int path)
(package private) void
closeAllPaths(int geometry)
(package private) int
compareVerticesSimpleX_(int v_1, int v_2)
(package private) int
compareVerticesSimpleY_(int v_1, int v_2)
(package private) int
createGeometry(Geometry.Type geometry_type)
(package private) int
createGeometry(Geometry.Type geometry_type, VertexDescription description)
(package private) int
createGeometryUserIndex()
(package private) int
createPathUserIndex()
(package private) int
createUserIndex()
(package private) int
filterClosePoints(double tolerance, boolean b_remove_last_vertices, boolean only_polygons)
(package private) void
free_vertex_(int vertex)
(package private) void
freeGeometry_(int geom)
(package private) void
freePath_(int path)
(package private) void
freeVertex_(int vertex)
(package private) double
getAttributeAsDbl(int semantics, int vertex, int ordinate)
(package private) Envelope2D
getEnvelope2D()
(package private) int
getFillRule(int geom)
(package private) int
getFirstGeometry()
(package private) int
getFirstPath(int geometry)
(package private) int
getFirstPath_(int geom)
(package private) int
getFirstVertex(int path)
(package private) Geometry
getGeometry(int geometry)
(package private) int
getGeometryCount()
(package private) int
getGeometryFromPath(int path)
(package private) int
getGeometryIndex_(int geom)
(package private) int
getGeometryType(int geom)
(package private) int
getGeometryUserIndex(int geom, int index)
(package private) Point
getHelperPoint_()
(package private) int
getLastPath(int geometry)
(package private) int
getLastVertex(int path)
(package private) int
getMinPathVertexY(int path)
(package private) int
getNextGeometry(int geom)
(package private) int
getNextPath(int currentPath)
(package private) int
getNextVertex(int currentVertex)
(package private) int
getNextVertex(int currentVertex, int dir)
(package private) int
getPathCount(int geom)
(package private) int
getPathFlags_(int path)
(package private) int
getPathFromVertex(int vertex)
(package private) int
getPathIndex_(int path)
(package private) int
getPathSize(int path)
(package private) int
getPathUserIndex(int path, int index)
(package private) int
getPointCount(int geom)
(package private) int
getPrevGeometry(int geom)
(package private) int
getPrevPath(int currentPath)
(package private) int
getPrevVertex(int currentVertex)
(package private) int
getPrevVertex(int currentVertex, int dir)
(package private) double
getRingArea(int path)
(package private) Segment
getSegment(int vertex)
(package private) Segment
getSegmentFromIndex_(int vindex)
(package private) int
getTotalPointCount()
(package private) int
getUserIndex(int vertex, int index)
(package private) VertexDescription
getVertexDescription()
(package private) int
getVertexIndex(int vertex)
(package private) double
getWeight(int vertex)
(package private) Point2D
getXY(int vertex)
(package private) void
getXY(int vertex, Point2D ptOut)
(package private) void
getXYWithIndex(int index, Point2D ptOut)
(package private) double
getY(int vertex)
(package private) boolean
hasDegenerateSegments(double tolerance)
(package private) boolean
hasPointFeatures()
(package private) int
insertClosedPath_(int geometry, int before_path, int first_vertex, int checked_vertex, boolean[] contains_checked_vertex)
(package private) int
insertPath(int geometry, int before_path)
(package private) int
insertVertex_(int path, int before, Point point)
(package private) void
interpolateAttributesForClosedPath(int path, int from_vertex, int to_vertex)
(package private) void
interpolateAttributesForClosedPath_(int semantics, int path, int from_vertex, int to_vertex, double sub_length, int ordinate)
(package private) boolean
isClosedPath(int path)
(package private) boolean
isEqualXY(int vertex_1, int vertex_2)
(package private) boolean
isEqualXY(int vertex, Point2D pt)
(package private) boolean
isExterior(int path)
(package private) boolean
isRingAreaValid_(int path)
(package private) void
movePath(int geom, int before_path, int path_to_move)
(package private) int
newGeometry_(int gt)
(package private) int
newPath_(int geom)
(package private) int
newVertex_(int vindex)
(package private) boolean
queryLineConnector(int vertex, Line line)
(package private) void
queryPoint(int vertex, Point point)
(package private) EditShape.VertexIterator
queryVertexIterator()
(package private) EditShape.VertexIterator
queryVertexIterator(boolean b_skip_multi_points)
(package private) EditShape.VertexIterator
queryVertexIterator(EditShape.VertexIterator source)
(package private) int
removeGeometry(int geometry)
(package private) void
removeGeometryUserIndex(int index)
(package private) int
removePath(int path)
(package private) void
removePathOnly_(int path)
(package private) void
removePathUserIndex(int index)
(package private) void
removeUserIndex(int index)
(package private) int
removeVertex(int vertex, boolean b_left_segment)
(package private) int
removeVertexInternal_(int vertex, boolean b_left_segment)
(package private) void
removeWeights()
(package private) void
reverseRingInternal_(int vertex)
(package private) boolean
ringParentageCheckInternal_(int vertex_1, int vertex_2)
(package private) void
setAttribute(int semantics, int vertex, int ordinate, double value)
(package private) void
setAttribute(int semantics, int vertex, int ordinate, int value)
(package private) void
setClosedPath(int path, boolean b_yes_no)
(package private) void
setExterior(int path, boolean b_yes_no)
(package private) void
setFillRule(int geom, int rule)
(package private) void
setFirstPath_(int geom, int firstPath)
(package private) void
setFirstVertex_(int path, int first_vertex)
(package private) void
setGeometryPathCount_(int geom, int path_count)
(package private) void
SetGeometryType_(int geom, int gt)
(package private) void
setGeometryUserIndex(int geom, int index, int value)
(package private) void
setGeometryVertexCount_(int geom, int vertex_count)
(package private) void
setLastPath_(int geom, int path)
(package private) void
setLastVertex_(int path, int last_vertex)
(package private) void
setNextGeometry_(int geom, int next)
(package private) void
setNextPath_(int path, int next)
(package private) void
setNextVertex_(int vertex, int next)
(package private) void
setPathFlags_(int path, int flags)
(package private) void
setPathGeometry_(int path, int geom)
(package private) void
setPathSize_(int path, int size)
(package private) void
setPathToVertex_(int vertex, int path)
(package private) void
setPathUserIndex(int path, int index, int value)
(package private) void
setPoint(int vertex, Point new_coord)
(package private) void
setPrevGeometry_(int geom, int prev)
(package private) void
setPrevPath_(int path, int prev)
(package private) void
setPrevVertex_(int vertex, int prev)
(package private) void
setRingAreaValid_(int path, boolean b_yes_no)
(package private) void
setSegmentToIndex_(int vindex, Segment seg)
(package private) void
setTotalPointCount_(int count)
(package private) void
setUserIndex(int vertex, int index, int value)
(package private) void
setWeight(int vertex, double weight)
(package private) void
setXY(int vertex, double new_x, double new_y)
(package private) void
setXY(int vertex, Point2D new_coord)
(package private) void
sortVerticesSimpleByX_(AttributeStreamOfInt32 points, int begin_, int end_)
(package private) void
sortVerticesSimpleByY_(AttributeStreamOfInt32 points, int begin_, int end_)
(package private) void
sortVerticesSimpleByYHelper_(AttributeStreamOfInt32 points, int begin_, int end_)
(package private) int
splitSegment(int origin_vertex, double[] split_scalars, int split_count)
(package private) void
splitSegment_(int origin_vertex, SegmentIntersector intersector, int intersector_index, boolean b_forward)
(package private) void
splitSegmentBackward_(int origin_vertex, SegmentIntersector intersector, int intersector_index)
(package private) void
splitSegmentForward_(int origin_vertex, SegmentIntersector intersector, int intersector_index)
(package private) void
swapGeometry(int geom1, int geom2)
(package private) void
transferAllDataToTheVertex(int from_vertex, int to_vertex)
-
-
-
Field Detail
-
m_geometryCount
private int m_geometryCount
-
m_path_count
private int m_path_count
-
m_point_count
private int m_point_count
-
m_first_geometry
private int m_first_geometry
-
m_last_geometry
private int m_last_geometry
-
m_vertex_index_list
private StridedIndexTypeCollection m_vertex_index_list
-
m_vertices_mp
private MultiPoint m_vertices_mp
-
m_vertices
private MultiPointImpl m_vertices
-
m_xy_stream
AttributeStreamOfDbl m_xy_stream
-
m_vertex_description
VertexDescription m_vertex_description
-
m_b_has_attributes
boolean m_b_has_attributes
-
m_segments
java.util.ArrayList<Segment> m_segments
-
m_weights
AttributeStreamOfDbl m_weights
-
m_indices
java.util.ArrayList<AttributeStreamOfInt32> m_indices
-
m_path_index_list
StridedIndexTypeCollection m_path_index_list
-
m_path_areas
AttributeStreamOfDbl m_path_areas
-
m_path_lengths
AttributeStreamOfDbl m_path_lengths
-
m_pathindices
java.util.ArrayList<AttributeStreamOfInt32> m_pathindices
-
m_geometry_index_list
StridedIndexTypeCollection m_geometry_index_list
-
m_geometry_indices
java.util.ArrayList<AttributeStreamOfInt32> m_geometry_indices
-
m_bucket_sort
BucketSort m_bucket_sort
-
m_helper_point
Point m_helper_point
-
-
Method Detail
-
getSegmentFromIndex_
Segment getSegmentFromIndex_(int vindex)
-
setSegmentToIndex_
void setSegmentToIndex_(int vindex, Segment seg)
-
setPrevPath_
void setPrevPath_(int path, int prev)
-
setNextPath_
void setNextPath_(int path, int next)
-
setPathFlags_
void setPathFlags_(int path, int flags)
-
getPathFlags_
int getPathFlags_(int path)
-
setPathGeometry_
void setPathGeometry_(int path, int geom)
-
getPathIndex_
int getPathIndex_(int path)
-
setNextGeometry_
void setNextGeometry_(int geom, int next)
-
setPrevGeometry_
void setPrevGeometry_(int geom, int prev)
-
getGeometryIndex_
int getGeometryIndex_(int geom)
-
getFirstPath_
int getFirstPath_(int geom)
-
setFirstPath_
void setFirstPath_(int geom, int firstPath)
-
setLastPath_
void setLastPath_(int geom, int path)
-
newGeometry_
int newGeometry_(int gt)
-
freeGeometry_
void freeGeometry_(int geom)
-
newPath_
int newPath_(int geom)
-
freePath_
void freePath_(int path)
-
freeVertex_
void freeVertex_(int vertex)
-
newVertex_
int newVertex_(int vindex)
-
free_vertex_
void free_vertex_(int vertex)
-
insertVertex_
int insertVertex_(int path, int before, Point point)
-
getHelperPoint_
Point getHelperPoint_()
-
setFillRule
void setFillRule(int geom, int rule)
-
getFillRule
int getFillRule(int geom)
-
addMultiPath_
int addMultiPath_(MultiPath multi_path)
-
addMultiPoint_
int addMultiPoint_(MultiPoint multi_point)
-
appendMultiPath_
void appendMultiPath_(int dstGeom, MultiPath multi_path)
-
appendMultiPoint_
void appendMultiPoint_(int dstGeom, MultiPoint multi_point)
-
splitSegmentForward_
void splitSegmentForward_(int origin_vertex, SegmentIntersector intersector, int intersector_index)
-
splitSegmentBackward_
void splitSegmentBackward_(int origin_vertex, SegmentIntersector intersector, int intersector_index)
-
getTotalPointCount
int getTotalPointCount()
-
getEnvelope2D
Envelope2D getEnvelope2D()
-
getGeometryCount
int getGeometryCount()
-
addGeometry
int addGeometry(Geometry geometry)
-
appendGeometry
void appendGeometry(int dstGeometry, Geometry srcGeometry)
-
addPathFromMultiPath
int addPathFromMultiPath(MultiPath multi_path, int ipath, boolean as_polygon)
-
getGeometry
Geometry getGeometry(int geometry)
-
createGeometry
int createGeometry(Geometry.Type geometry_type)
-
removeGeometry
int removeGeometry(int geometry)
-
createGeometry
int createGeometry(Geometry.Type geometry_type, VertexDescription description)
-
getFirstGeometry
int getFirstGeometry()
-
getNextGeometry
int getNextGeometry(int geom)
-
getPrevGeometry
int getPrevGeometry(int geom)
-
getGeometryType
int getGeometryType(int geom)
-
setGeometryUserIndex
void setGeometryUserIndex(int geom, int index, int value)
-
getGeometryUserIndex
int getGeometryUserIndex(int geom, int index)
-
createGeometryUserIndex
int createGeometryUserIndex()
-
removeGeometryUserIndex
void removeGeometryUserIndex(int index)
-
getFirstPath
int getFirstPath(int geometry)
-
getLastPath
int getLastPath(int geometry)
-
getPointCount
int getPointCount(int geom)
-
getPathCount
int getPathCount(int geom)
-
filterClosePoints
int filterClosePoints(double tolerance, boolean b_remove_last_vertices, boolean only_polygons)
-
hasDegenerateSegments
boolean hasDegenerateSegments(double tolerance)
-
transferAllDataToTheVertex
void transferAllDataToTheVertex(int from_vertex, int to_vertex)
-
splitSegment
int splitSegment(int origin_vertex, double[] split_scalars, int split_count)
-
interpolateAttributesForClosedPath
void interpolateAttributesForClosedPath(int path, int from_vertex, int to_vertex)
-
calculateSubLength2D
double calculateSubLength2D(int path, int from_vertex, int to_vertex)
-
setPoint
void setPoint(int vertex, Point new_coord)
-
queryPoint
void queryPoint(int vertex, Point point)
-
setXY
void setXY(int vertex, Point2D new_coord)
-
setXY
void setXY(int vertex, double new_x, double new_y)
-
getXY
Point2D getXY(int vertex)
-
getXY
void getXY(int vertex, Point2D ptOut)
-
getXYWithIndex
void getXYWithIndex(int index, Point2D ptOut)
-
getAttributeAsDbl
double getAttributeAsDbl(int semantics, int vertex, int ordinate)
-
setAttribute
void setAttribute(int semantics, int vertex, int ordinate, double value)
-
setAttribute
void setAttribute(int semantics, int vertex, int ordinate, int value)
-
getVertexDescription
VertexDescription getVertexDescription()
-
getMinPathVertexY
int getMinPathVertexY(int path)
-
getVertexIndex
int getVertexIndex(int vertex)
-
getY
double getY(int vertex)
-
isEqualXY
boolean isEqualXY(int vertex_1, int vertex_2)
-
isEqualXY
boolean isEqualXY(int vertex, Point2D pt)
-
setWeight
void setWeight(int vertex, double weight)
-
getWeight
double getWeight(int vertex)
-
removeWeights
void removeWeights()
-
setUserIndex
void setUserIndex(int vertex, int index, int value)
-
getUserIndex
int getUserIndex(int vertex, int index)
-
createUserIndex
int createUserIndex()
-
removeUserIndex
void removeUserIndex(int index)
-
getSegment
Segment getSegment(int vertex)
-
queryLineConnector
boolean queryLineConnector(int vertex, Line line)
-
insertPath
int insertPath(int geometry, int before_path)
-
insertClosedPath_
int insertClosedPath_(int geometry, int before_path, int first_vertex, int checked_vertex, boolean[] contains_checked_vertex)
-
removePath
int removePath(int path)
-
clearPath
void clearPath(int path)
-
getNextPath
int getNextPath(int currentPath)
-
getPrevPath
int getPrevPath(int currentPath)
-
getPathSize
int getPathSize(int path)
-
isClosedPath
boolean isClosedPath(int path)
-
setClosedPath
void setClosedPath(int path, boolean b_yes_no)
-
closeAllPaths
void closeAllPaths(int geometry)
-
getGeometryFromPath
int getGeometryFromPath(int path)
-
isExterior
boolean isExterior(int path)
-
setExterior
void setExterior(int path, boolean b_yes_no)
-
getRingArea
double getRingArea(int path)
-
setPathUserIndex
void setPathUserIndex(int path, int index, int value)
-
getPathUserIndex
int getPathUserIndex(int path, int index)
-
createPathUserIndex
int createPathUserIndex()
-
removePathUserIndex
void removePathUserIndex(int index)
-
movePath
void movePath(int geom, int before_path, int path_to_move)
-
addVertex
int addVertex(int path, int vertex)
-
removeVertex
int removeVertex(int vertex, boolean b_left_segment)
-
getFirstVertex
int getFirstVertex(int path)
-
getLastVertex
int getLastVertex(int path)
-
getNextVertex
int getNextVertex(int currentVertex)
-
getPrevVertex
int getPrevVertex(int currentVertex)
-
getPrevVertex
int getPrevVertex(int currentVertex, int dir)
-
getNextVertex
int getNextVertex(int currentVertex, int dir)
-
getPathFromVertex
int getPathFromVertex(int vertex)
-
addPoint
int addPoint(int path, Point point)
-
queryVertexIterator
EditShape.VertexIterator queryVertexIterator()
-
queryVertexIterator
EditShape.VertexIterator queryVertexIterator(EditShape.VertexIterator source)
-
queryVertexIterator
EditShape.VertexIterator queryVertexIterator(boolean b_skip_multi_points)
-
applyTransformation
void applyTransformation(Transformation2D transform)
-
interpolateAttributesForClosedPath_
void interpolateAttributesForClosedPath_(int semantics, int path, int from_vertex, int to_vertex, double sub_length, int ordinate)
-
SetGeometryType_
void SetGeometryType_(int geom, int gt)
-
splitSegment_
void splitSegment_(int origin_vertex, SegmentIntersector intersector, int intersector_index, boolean b_forward)
-
setPrevVertex_
void setPrevVertex_(int vertex, int prev)
-
setNextVertex_
void setNextVertex_(int vertex, int next)
-
setPathToVertex_
void setPathToVertex_(int vertex, int path)
-
setPathSize_
void setPathSize_(int path, int size)
-
setFirstVertex_
void setFirstVertex_(int path, int first_vertex)
-
setLastVertex_
void setLastVertex_(int path, int last_vertex)
-
setGeometryPathCount_
void setGeometryPathCount_(int geom, int path_count)
-
setGeometryVertexCount_
void setGeometryVertexCount_(int geom, int vertex_count)
-
ringParentageCheckInternal_
boolean ringParentageCheckInternal_(int vertex_1, int vertex_2)
-
reverseRingInternal_
void reverseRingInternal_(int vertex)
-
setTotalPointCount_
void setTotalPointCount_(int count)
-
removePathOnly_
void removePathOnly_(int path)
-
removeVertexInternal_
int removeVertexInternal_(int vertex, boolean b_left_segment)
-
isRingAreaValid_
boolean isRingAreaValid_(int path)
-
setRingAreaValid_
void setRingAreaValid_(int path, boolean b_yes_no)
-
compareVerticesSimpleY_
int compareVerticesSimpleY_(int v_1, int v_2)
-
compareVerticesSimpleX_
int compareVerticesSimpleX_(int v_1, int v_2)
-
sortVerticesSimpleByY_
void sortVerticesSimpleByY_(AttributeStreamOfInt32 points, int begin_, int end_)
-
sortVerticesSimpleByYHelper_
void sortVerticesSimpleByYHelper_(AttributeStreamOfInt32 points, int begin_, int end_)
-
sortVerticesSimpleByX_
void sortVerticesSimpleByX_(AttributeStreamOfInt32 points, int begin_, int end_)
-
hasPointFeatures
boolean hasPointFeatures()
-
swapGeometry
void swapGeometry(int geom1, int geom2)
-
-