Package com.esri.core.geometry
Class Bufferer
java.lang.Object
com.esri.core.geometry.Bufferer
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
private static final class
private static final class
private static final class
private static final class
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate double
private double
private boolean
private boolean
private ArrayList
<Bufferer.BufferCommand> private int
private double
private double
private double
private double
private Geometry
private Point2D[]
private Line
private Line
private int
private int
private int
private int
private ProgressTracker
private double
private SpatialReference
private double
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate 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
private Geometry
private Geometry
private Geometry
bufferPoint_
(Point point) private Geometry
private Polygon
bufferPolygonImpl_
(Polygon input_geom, int ipath_begin, int ipath_end) private Geometry
private Polygon
bufferPolylinePath_
(Polyline polyline, int ipath, boolean bfilter) private int
calcN_()
private int
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
private boolean
private boolean
isDegeneratePath_
(MultiPathImpl mp_impl, int ipath) private Polyline
preparePolyline_
(Polyline input_geom) private void
processBufferCommands_
(MultiPathImpl result_mp) private void
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 Details
-
m_geometry
-
m_buffer_commands
-
m_original_geom_type
private int m_original_geom_type -
m_progress_tracker
-
m_max_vertex_in_complete_circle
private int m_max_vertex_in_complete_circle -
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
-
m_left_stack
-
m_middle_stack
-
m_helper_line_1
-
m_helper_line_2
-
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
-
-
Constructor Details
-
Bufferer
Bufferer()
-
-
Method Details
-
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_
-
bufferPolyline_
-
bufferPolygon_
-
bufferPolygonImpl_
-
bufferPoint_
-
bufferPoint_
-
bufferMultiPoint_
-
bufferEnvelope_
-
bufferConvexPath_
-
bufferPolylinePath_
-
progress_
private void progress_() -
bufferCleanup_
-
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_
-
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_
-
isDegenerateGeometry_
-
preparePolyline_
-
addCircle_
-
setWeakSimple_
-
setStrongSimple_
-