Package com.esri.core.geometry
Class Bufferer
- java.lang.Object
-
- com.esri.core.geometry.Bufferer
-
class Bufferer extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
Bufferer.BufferCommand
private static class
Bufferer.GeometryCursorForMultiPoint
private static class
Bufferer.GeometryCursorForPolygon
private static class
Bufferer.GeometryCursorForPolyline
private static class
Bufferer.GlueingCursorForPolyline
-
Field Summary
Fields Modifier and Type Field Description private double
m_abs_distance
private double
m_abs_distance_reversed
private boolean
m_b_output_loops
private boolean
m_bfilter
private java.util.ArrayList<Bufferer.BufferCommand>
m_buffer_commands
private java.util.ArrayList<Point2D>
m_circle_template
private int
m_circle_template_size
private double
m_dA
private double
m_densify_dist
private double
m_distance
private double
m_filter_tolerance
private Geometry
m_geometry
private Point2D[]
m_helper_array
private Line
m_helper_line_1
private Line
m_helper_line_2
private java.util.ArrayList<Point2D>
m_left_stack
private int
m_max_vertex_in_complete_circle
private java.util.ArrayList<Point2D>
m_middle_stack
private int
m_old_circle_template_size
private int
m_original_geom_type
private int
m_progress_counter
private ProgressTracker
m_progress_tracker
private double
m_small_tolerance
private SpatialReference
m_spatialReference
private double
m_tolerance
-
Constructor Summary
Constructors Constructor Description Bufferer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
addCircle_(MultiPathImpl result_mp, Point point)
private void
addJoin_(MultiPathImpl dst, Point2D center, Point2D fromPt, Point2D toPt, boolean bStartPath, boolean bFinishAtToPt)
(package private) Geometry
buffer(Geometry geometry, double distance, SpatialReference sr, double densify_dist, int max_vertex_in_complete_circle, ProgressTracker progress_tracker)
Result is always a polygon.private Geometry
buffer_()
private Polygon
bufferCleanup_(MultiPath multi_path, boolean simplify_result)
private int
bufferClosedPath_(Geometry input_geom, int ipath, MultiPathImpl result_mp, boolean bfilter, int dir)
private Polygon
bufferConvexPath_(MultiPath src, int ipath)
private Geometry
bufferEnvelope_()
private Geometry
bufferMultiPoint_()
private Geometry
bufferPoint_()
private Geometry
bufferPoint_(Point point)
private Geometry
bufferPolygon_()
private Polygon
bufferPolygonImpl_(Polygon input_geom, int ipath_begin, int ipath_end)
private Geometry
bufferPolyline_()
private Polygon
bufferPolylinePath_(Polyline polyline, int ipath, boolean bfilter)
private int
calcN_()
private int
cleanupBufferCommands_()
private static int
clipFilter_(EditShape edit_shape, int fixed_vertices_index, int from_vertex, int to_vertex, int dir, double abs_distance, double densify_distance, int max_filter)
private static int
filterPath_(EditShape edit_shape, int geom, int dir, boolean closed, double abs_distance, double filter_tolerance, double densify_distance)
private void
generateCircleTemplate_()
private boolean
isDegenerateGeometry_(Geometry geom)
private boolean
isDegeneratePath_(MultiPathImpl mp_impl, int ipath)
private Polyline
preparePolyline_(Polyline input_geom)
private void
processBufferCommands_(MultiPathImpl result_mp)
private void
progress_()
private static void
protectExtremeVertices_(EditShape edit_shape, int protection_index, int geom, int path)
private Polygon
setStrongSimple_(Polygon poly)
private static Polygon
setWeakSimple_(Polygon poly)
-
-
-
Field Detail
-
m_geometry
private Geometry m_geometry
-
m_buffer_commands
private java.util.ArrayList<Bufferer.BufferCommand> m_buffer_commands
-
m_original_geom_type
private int m_original_geom_type
-
m_progress_tracker
private ProgressTracker m_progress_tracker
-
m_max_vertex_in_complete_circle
private int m_max_vertex_in_complete_circle
-
m_spatialReference
private SpatialReference m_spatialReference
-
m_tolerance
private double m_tolerance
-
m_small_tolerance
private double m_small_tolerance
-
m_filter_tolerance
private double m_filter_tolerance
-
m_densify_dist
private double m_densify_dist
-
m_distance
private double m_distance
-
m_abs_distance
private double m_abs_distance
-
m_abs_distance_reversed
private double m_abs_distance_reversed
-
m_dA
private double m_dA
-
m_b_output_loops
private boolean m_b_output_loops
-
m_bfilter
private boolean m_bfilter
-
m_circle_template
private java.util.ArrayList<Point2D> m_circle_template
-
m_left_stack
private java.util.ArrayList<Point2D> m_left_stack
-
m_middle_stack
private java.util.ArrayList<Point2D> m_middle_stack
-
m_helper_line_1
private Line m_helper_line_1
-
m_helper_line_2
private Line m_helper_line_2
-
m_helper_array
private Point2D[] m_helper_array
-
m_progress_counter
private int m_progress_counter
-
m_circle_template_size
private int m_circle_template_size
-
m_old_circle_template_size
private int m_old_circle_template_size
-
-
Method Detail
-
buffer
Geometry buffer(Geometry geometry, double distance, SpatialReference sr, double densify_dist, int max_vertex_in_complete_circle, ProgressTracker progress_tracker)
Result is always a polygon. For non positive distance and non-areas returns an empty polygon. For points returns circles.
-
generateCircleTemplate_
private void generateCircleTemplate_()
-
buffer_
private Geometry buffer_()
-
bufferPolyline_
private Geometry bufferPolyline_()
-
bufferPolygon_
private Geometry bufferPolygon_()
-
bufferPolygonImpl_
private Polygon bufferPolygonImpl_(Polygon input_geom, int ipath_begin, int ipath_end)
-
bufferPoint_
private Geometry bufferPoint_()
-
bufferMultiPoint_
private Geometry bufferMultiPoint_()
-
bufferEnvelope_
private Geometry bufferEnvelope_()
-
bufferPolylinePath_
private Polygon bufferPolylinePath_(Polyline polyline, int ipath, boolean bfilter)
-
progress_
private void progress_()
-
calcN_
private int calcN_()
-
addJoin_
private void addJoin_(MultiPathImpl dst, Point2D center, Point2D fromPt, Point2D toPt, boolean bStartPath, boolean bFinishAtToPt)
-
bufferClosedPath_
private int bufferClosedPath_(Geometry input_geom, int ipath, MultiPathImpl result_mp, boolean bfilter, int dir)
-
processBufferCommands_
private void processBufferCommands_(MultiPathImpl result_mp)
-
cleanupBufferCommands_
private int cleanupBufferCommands_()
-
protectExtremeVertices_
private static void protectExtremeVertices_(EditShape edit_shape, int protection_index, int geom, int path)
-
filterPath_
private static int filterPath_(EditShape edit_shape, int geom, int dir, boolean closed, double abs_distance, double filter_tolerance, double densify_distance)
-
clipFilter_
private static int clipFilter_(EditShape edit_shape, int fixed_vertices_index, int from_vertex, int to_vertex, int dir, double abs_distance, double densify_distance, int max_filter)
-
isDegeneratePath_
private boolean isDegeneratePath_(MultiPathImpl mp_impl, int ipath)
-
isDegenerateGeometry_
private boolean isDegenerateGeometry_(Geometry geom)
-
addCircle_
private void addCircle_(MultiPathImpl result_mp, Point point)
-
-