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 classBufferer.BufferCommandprivate static classBufferer.GeometryCursorForMultiPointprivate static classBufferer.GeometryCursorForPolygonprivate static classBufferer.GeometryCursorForPolylineprivate static classBufferer.GlueingCursorForPolyline
-
Field Summary
Fields Modifier and Type Field Description private doublem_abs_distanceprivate doublem_abs_distance_reversedprivate booleanm_b_output_loopsprivate booleanm_bfilterprivate java.util.ArrayList<Bufferer.BufferCommand>m_buffer_commandsprivate java.util.ArrayList<Point2D>m_circle_templateprivate intm_circle_template_sizeprivate doublem_dAprivate doublem_densify_distprivate doublem_distanceprivate doublem_filter_toleranceprivate Geometrym_geometryprivate Point2D[]m_helper_arrayprivate Linem_helper_line_1private Linem_helper_line_2private java.util.ArrayList<Point2D>m_left_stackprivate intm_max_vertex_in_complete_circleprivate java.util.ArrayList<Point2D>m_middle_stackprivate intm_old_circle_template_sizeprivate intm_original_geom_typeprivate intm_progress_counterprivate ProgressTrackerm_progress_trackerprivate doublem_small_toleranceprivate SpatialReferencem_spatialReferenceprivate doublem_tolerance
-
Constructor Summary
Constructors Constructor Description Bufferer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddCircle_(MultiPathImpl result_mp, Point point)private voidaddJoin_(MultiPathImpl dst, Point2D center, Point2D fromPt, Point2D toPt, boolean bStartPath, boolean bFinishAtToPt)(package private) Geometrybuffer(Geometry geometry, double distance, SpatialReference sr, double densify_dist, int max_vertex_in_complete_circle, ProgressTracker progress_tracker)Result is always a polygon.private Geometrybuffer_()private PolygonbufferCleanup_(MultiPath multi_path, boolean simplify_result)private intbufferClosedPath_(Geometry input_geom, int ipath, MultiPathImpl result_mp, boolean bfilter, int dir)private PolygonbufferConvexPath_(MultiPath src, int ipath)private GeometrybufferEnvelope_()private GeometrybufferMultiPoint_()private GeometrybufferPoint_()private GeometrybufferPoint_(Point point)private GeometrybufferPolygon_()private PolygonbufferPolygonImpl_(Polygon input_geom, int ipath_begin, int ipath_end)private GeometrybufferPolyline_()private PolygonbufferPolylinePath_(Polyline polyline, int ipath, boolean bfilter)private intcalcN_()private intcleanupBufferCommands_()private static intclipFilter_(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 intfilterPath_(EditShape edit_shape, int geom, int dir, boolean closed, double abs_distance, double filter_tolerance, double densify_distance)private voidgenerateCircleTemplate_()private booleanisDegenerateGeometry_(Geometry geom)private booleanisDegeneratePath_(MultiPathImpl mp_impl, int ipath)private PolylinepreparePolyline_(Polyline input_geom)private voidprocessBufferCommands_(MultiPathImpl result_mp)private voidprogress_()private static voidprotectExtremeVertices_(EditShape edit_shape, int protection_index, int geom, int path)private PolygonsetStrongSimple_(Polygon poly)private static PolygonsetWeakSimple_(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)
-
-