Package gov.nih.mipav.model.structures
Class JCVoronoi
java.lang.Object
gov.nih.mipav.model.structures.JCVoronoi
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) classprivate classprivate class(package private) class(package private) class(package private) class(package private) class(package private) class(package private) class(package private) class(package private) class(package private) class(package private) class(package private) class(package private) class(package private) class(package private) class -
Field Summary
FieldsModifier and TypeFieldDescription(package private) JCVoronoi.Context(package private) double(package private) int(package private) int(package private) int(package private) int(package private) int(package private) static final int(package private) static final int(package private) static final int(package private) static final int(package private) static final int(package private) static final int(package private) static final int(package private) static final int(package private) double(package private) static final int(package private) static final int(package private) static final int(package private) int(package private) static final double -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) voidcheck_edges(JCVoronoi.jcv_graphedge edges, int num_expected, JCVoronoi.jcv_point[] expected_points, JCVoronoi.jcv_site[] expected_neighbors) (package private) boolean(package private) boolean(package private) intvoidcrash1()void(package private) intvoidDelauney()(package private) void(package private) voiddraw_line(int x0, int y0, int x1, int y1, byte[] image, int width, int height, int nchannels, byte[] color) (package private) voiddraw_triangle(JCVoronoi.jcv_point v0, JCVoronoi.jcv_point v1, JCVoronoi.jcv_point v2, byte[] image, int width, int height, int nchannels, byte[] color) void(package private) intis_ascii(byte[] chars, int len) (package private) int(package private) intvoidvoidvoidvoidvoid(package private) JCVoronoi.jcv_point(package private) JCVoronoi.jcv_edgejcv_alloc_edge(JCVoronoi.jcv_context_internal internal) (package private) JCVoronoi.jcv_graphedge(package private) JCVoronoi.jcv_halfedge(package private) JCVoronoi.jcv_context_internaljcv_alloc_internal(int num_points, int userallocctx, int allocfn, int freefn) (package private) intjcv_boxshape_clip(JCVoronoi.jcv_clipper clipper, JCVoronoi.jcv_edge e) (package private) voidjcv_boxshape_fillgaps(JCVoronoi.jcv_clipper clipper, JCVoronoi.jcv_context_internal allocator, JCVoronoi.jcv_site site) (package private) int(package private) double(package private) doublejcv_ceil(double v) (package private) intjcv_check_circle_event(JCVoronoi.jcv_halfedge he1, JCVoronoi.jcv_halfedge he2, JCVoronoi.jcv_point vertex) (package private) void(package private) int(package private) voidjcv_clip_polygon_fill_gaps(JCVoronoi.jcv_clipper clipper, JCVoronoi.jcv_context_internal allocator, JCVoronoi.jcv_site site) (package private) int(package private) void(package private) intjcv_corner_rotate_90(int corner) (package private) JCVoronoi.jcv_pointjcv_corner_to_point(int corner, JCVoronoi.jcv_point min, JCVoronoi.jcv_point max) (package private) voidjcv_create_corner_edge(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_site site, JCVoronoi.jcv_graphedge current, JCVoronoi.jcv_graphedge gap) (package private) JCVoronoi.jcv_edgejcv_create_gap_edge(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_site site, JCVoronoi.jcv_graphedge ge) (package private) double(package private) voidjcv_delauney_begin(JCVoronoi.jcv_diagram diagram, JCVoronoi.jcv_delauney_iter iter) (package private) int(package private) double(package private) void(package private) voidjcv_diagram_generate(int num_points, JCVoronoi.jcv_point[] points, JCVoronoi.jcv_rect rect, JCVoronoi.jcv_clipper clipper, JCVoronoi.jcv_diagram d) (package private) voidjcv_diagram_generate_useralloc(int num_points, JCVoronoi.jcv_point[] points, JCVoronoi.jcv_rect rect, JCVoronoi.jcv_clipper clipper, int userallocctx, int allocfn, int freefn, JCVoronoi.jcv_diagram d) (package private) JCVoronoi.jcv_edge(package private) JCVoronoi.jcv_edge(package private) JCVoronoi.jcv_site[](package private) double(package private) int(package private) void(package private) intjcv_edge_flags_to_corner(int edge_flags) (package private) JCVoronoi.jcv_edgejcv_edge_new(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_site s1, JCVoronoi.jcv_site s2) (package private) voidjcv_endpos(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_edge e, JCVoronoi.jcv_point p, int direction) (package private) voidjcv_fillgaps(JCVoronoi.jcv_diagram diagram) (package private) int(package private) void(package private) doublejcv_floor(double v) (package private) JCVoronoi.jcv_halfedge(package private) int(package private) int(package private) voidjcv_graphedge_free(JCVoronoi.jcv_graphedge graphedge) (package private) int(package private) void(package private) intjcv_halfedge_intersect(JCVoronoi.jcv_halfedge he1, JCVoronoi.jcv_halfedge he2, JCVoronoi.jcv_point out) (package private) JCVoronoi.jcv_site(package private) voidjcv_halfedge_link(JCVoronoi.jcv_halfedge edge, JCVoronoi.jcv_halfedge newedge) (package private) JCVoronoi.jcv_halfedgejcv_halfedge_new(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_edge e, int direction) (package private) int(package private) JCVoronoi.jcv_site(package private) void(package private) intjcv_is_corner(int corner) (package private) int(package private) double(package private) double(package private) JCVoronoi.jcv_pointjcv_mix(JCVoronoi.jcv_point a, JCVoronoi.jcv_point b, double t) (package private) JCVoronoi.jcv_pointjcv_mul(JCVoronoi.jcv_point v, double s) (package private) JCVoronoi.jcv_sitejcv_nextsite(JCVoronoi.jcv_context_internal internal) (package private) int(package private) double(package private) double(package private) int(package private) int(package private) int(package private) double(package private) voidjcv_pq_create(JCVoronoi.jcv_priorityqueue pq, int capacity, JCVoronoi.jcv_halfedge[] buffer) (package private) int(package private) intjcv_pq_maxchild(JCVoronoi.jcv_priorityqueue pq, int pos) (package private) intjcv_pq_movedown(JCVoronoi.jcv_priorityqueue pq, int pos) (package private) intjcv_pq_moveup(JCVoronoi.jcv_priorityqueue pq, int pos) (package private) JCVoronoi.jcv_halfedge(package private) int(package private) void(package private) JCVoronoi.jcv_halfedge(package private) intjcv_prune_duplicates(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_rect rect) (package private) intjcv_prune_not_in_shape(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_rect rect) (package private) intjcv_ray_intersect_polygon(JCVoronoi.jcv_clipper clipper, JCVoronoi.jcv_point p0, JCVoronoi.jcv_point p1, double[] out_t0, double[] out_t1) (package private) intjcv_real_eq(double a, double b) (package private) doublejcv_real_to_int(double v) (package private) voidjcv_rect_inflate(JCVoronoi.jcv_rect rect, double amount) (package private) void(package private) void(package private) voidjcv_site_event(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_site site) (package private) void(package private) void(package private) JCVoronoi.jcv_pointvoidvoidvoid(package private) intmax2(int a, int b) (package private) intmax3(int a, int b, int c) (package private) intmin2(int a, int b) (package private) intmin3(int a, int b, int c) void(package private) intvoidvoid(package private) voidplot(int x, int y, byte[] image, int width, int height, int nchannels, byte[] color) voidvoid(package private) voidrelax_points(JCVoronoi.jcv_diagram diagram, JCVoronoi.jcv_point[] points) (package private) JCVoronoi.jcv_pointremap(JCVoronoi.jcv_point pt, JCVoronoi.jcv_point min, JCVoronoi.jcv_point max, JCVoronoi.jcv_point scale) void(package private) voidsetup_clip_shape_box(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_rect rect) (package private) JCVoronoi.jcv_context_internalsetup_test_context_internal(int num_points, JCVoronoi.jcv_point[] points, int ctx) void(package private) voidUsage()void
-
Field Details
-
jcv_alloc_fn
int jcv_alloc_fn -
jcv_free_fn
int jcv_free_fn -
JCV_BOXSHAPE_CLIP
int JCV_BOXSHAPE_CLIP -
JCV_BOXSHAPE_FILLGAPS
int JCV_BOXSHAPE_FILLGAPS -
JCV_BOXSHAPE_TEST
int JCV_BOXSHAPE_TEST -
JCV_EDGE_INTERSECT_THRESHOLD
double JCV_EDGE_INTERSECT_THRESHOLD -
JCV_DIRECTION_LEFT
static final int JCV_DIRECTION_LEFT- See Also:
-
JCV_DIRECTION_RIGHT
static final int JCV_DIRECTION_RIGHT- See Also:
-
JCV_INVALID_VALUE
static final double JCV_INVALID_VALUE- See Also:
-
epsilon
double epsilon -
JCV_EDGE_LEFT
static final int JCV_EDGE_LEFT- See Also:
-
JCV_EDGE_RIGHT
static final int JCV_EDGE_RIGHT- See Also:
-
JCV_EDGE_BOTTOM
static final int JCV_EDGE_BOTTOM- See Also:
-
JCV_EDGE_TOP
static final int JCV_EDGE_TOP- See Also:
-
JCV_CORNER_NONE
static final int JCV_CORNER_NONE- See Also:
-
JCV_CORNER_TOP_LEFT
static final int JCV_CORNER_TOP_LEFT- See Also:
-
JCV_CORNER_BOTTOM_LEFT
static final int JCV_CORNER_BOTTOM_LEFT- See Also:
-
JCV_CORNER_BOTTOM_RIGHT
static final int JCV_CORNER_BOTTOM_RIGHT- See Also:
-
JCV_CORNER_TOP_RIGHT
static final int JCV_CORNER_TOP_RIGHT- See Also:
-
IMAGE_SIZE
int IMAGE_SIZE -
ctx
-
-
Constructor Details
-
JCVoronoi
public JCVoronoi()
-
-
Method Details
-
jcv_real_eq
int jcv_real_eq(double a, double b) -
jcv_real_to_int
double jcv_real_to_int(double v) -
jcv_floor
double jcv_floor(double v) -
jcv_ceil
double jcv_ceil(double v) -
jcv_point_cmp
-
jcv_point_less
-
jcv_point_eq
-
jcv_point_on_box_edge
-
jcv_get_edge_flags
-
jcv_edge_flags_to_corner
int jcv_edge_flags_to_corner(int edge_flags) -
jcv_is_corner
int jcv_is_corner(int corner) -
jcv_corner_rotate_90
int jcv_corner_rotate_90(int corner) -
jcv_corner_to_point
JCVoronoi.jcv_point jcv_corner_to_point(int corner, JCVoronoi.jcv_point min, JCVoronoi.jcv_point max) -
jcv_point_dist_sq
-
jcv_point_dist
-
jcv_graphedge_free
-
jcv_site_free
-
jcv_diagram_free
-
jcv_context_internal_free
-
jcv_diagram_get_sites
-
jcv_diagram_get_edges
-
jcv_diagram_get_next_edge
-
jcv_delauney_begin
-
jcv_delauney_next
-
jcv_alloc_edge
-
jcv_alloc_halfedge
-
jcv_alloc_graphedge
-
jcv_is_valid
-
jcv_edge_create
-
jcv_boxshape_test
-
jcv_boxshape_clip
-
jcv_edge_clipline
-
jcv_edge_new
JCVoronoi.jcv_edge jcv_edge_new(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_site s1, JCVoronoi.jcv_site s2) -
jcv_halfedge_link
-
jcv_halfedge_unlink
-
jcv_halfedge_new
JCVoronoi.jcv_halfedge jcv_halfedge_new(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_edge e, int direction) -
jcv_halfedge_delete
-
jcv_halfedge_leftsite
-
jcv_halfedge_rightsite
-
jcv_halfedge_rightof
-
jcv_halfedge_compare
-
jcv_halfedge_intersect
int jcv_halfedge_intersect(JCVoronoi.jcv_halfedge he1, JCVoronoi.jcv_halfedge he2, JCVoronoi.jcv_point out) -
jcv_pq_moveup
-
jcv_pq_maxchild
-
jcv_pq_movedown
-
jcv_pq_create
-
jcv_pq_empty
-
jcv_pq_push
-
jcv_pq_pop
-
jcv_pq_top
-
jcv_pq_remove
-
jcv_nextsite
-
jcv_get_edge_above_x
JCVoronoi.jcv_halfedge jcv_get_edge_above_x(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_point p) -
jcv_check_circle_event
int jcv_check_circle_event(JCVoronoi.jcv_halfedge he1, JCVoronoi.jcv_halfedge he2, JCVoronoi.jcv_point vertex) -
jcv_site_event
-
jcv_determinant
-
jcv_calc_sort_metric
-
jcv_graphedge_eq
-
jcv_sortedges_insert
-
jcv_finishline
-
jcv_endpos
void jcv_endpos(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_edge e, JCVoronoi.jcv_point p, int direction) -
jcv_create_corner_edge
void jcv_create_corner_edge(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_site site, JCVoronoi.jcv_graphedge current, JCVoronoi.jcv_graphedge gap) -
jcv_create_gap_edge
JCVoronoi.jcv_edge jcv_create_gap_edge(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_site site, JCVoronoi.jcv_graphedge ge) -
jcv_boxshape_fillgaps
void jcv_boxshape_fillgaps(JCVoronoi.jcv_clipper clipper, JCVoronoi.jcv_context_internal allocator, JCVoronoi.jcv_site site) -
jcv_fillgaps
-
jcv_circle_event
-
jcv_diagram_generate
void jcv_diagram_generate(int num_points, JCVoronoi.jcv_point[] points, JCVoronoi.jcv_rect rect, JCVoronoi.jcv_clipper clipper, JCVoronoi.jcv_diagram d) -
jcv_rect_union
-
jcv_rect_round
-
jcv_rect_inflate
-
jcv_prune_duplicates
-
jcv_prune_not_in_shape
-
jcv_alloc_internal
JCVoronoi.jcv_context_internal jcv_alloc_internal(int num_points, int userallocctx, int allocfn, int freefn) -
display_site
-
jcv_diagram_generate_useralloc
void jcv_diagram_generate_useralloc(int num_points, JCVoronoi.jcv_point[] points, JCVoronoi.jcv_rect rect, JCVoronoi.jcv_clipper clipper, int userallocctx, int allocfn, int freefn, JCVoronoi.jcv_diagram d) -
jcv_cross
-
jcv_add
-
jcv_sub
-
jcv_mul
-
jcv_mix
-
jcv_dot
-
jcv_length
-
jcv_length_sq
-
jcv_point_to_line_segment_t
double jcv_point_to_line_segment_t(JCVoronoi.jcv_point p, JCVoronoi.jcv_point p0, JCVoronoi.jcv_point p1) -
jcv_clip_polygon_test_point
-
jcv_ray_intersect_polygon
int jcv_ray_intersect_polygon(JCVoronoi.jcv_clipper clipper, JCVoronoi.jcv_point p0, JCVoronoi.jcv_point p1, double[] out_t0, double[] out_t1) -
jcv_clip_polygon_clip_edge
-
jcv_find_polygon_edge
-
jcv_clip_polygon_fill_gaps
void jcv_clip_polygon_fill_gaps(JCVoronoi.jcv_clipper clipper, JCVoronoi.jcv_context_internal allocator, JCVoronoi.jcv_site site) -
plot
void plot(int x, int y, byte[] image, int width, int height, int nchannels, byte[] color) -
draw_line
void draw_line(int x0, int y0, int x1, int y1, byte[] image, int width, int height, int nchannels, byte[] color) -
orient2d
-
min2
int min2(int a, int b) -
max2
int max2(int a, int b) -
min3
int min3(int a, int b, int c) -
max3
int max3(int a, int b, int c) -
draw_triangle
void draw_triangle(JCVoronoi.jcv_point v0, JCVoronoi.jcv_point v1, JCVoronoi.jcv_point v2, byte[] image, int width, int height, int nchannels, byte[] color) -
relax_points
-
Usage
void Usage() -
debug_skip_point
-
is_ascii
int is_ascii(byte[] chars, int len) -
is_text
-
remap
JCVoronoi.jcv_point remap(JCVoronoi.jcv_point pt, JCVoronoi.jcv_point min, JCVoronoi.jcv_point max, JCVoronoi.jcv_point scale) -
simple_test
public void simple_test() -
check_point_eq
-
check_graphedge_eq
boolean check_graphedge_eq(JCVoronoi.jcv_graphedge e, JCVoronoi.jcv_point p1, JCVoronoi.jcv_point p2) -
check_edges
void check_edges(JCVoronoi.jcv_graphedge edges, int num_expected, JCVoronoi.jcv_point[] expected_points, JCVoronoi.jcv_site[] expected_neighbors) -
parallel_horiz_2_test
public void parallel_horiz_2_test() -
parallel_vert_2_test
public void parallel_vert_2_test() -
one_site_test
public void one_site_test() -
culling_test
public void culling_test() -
setup_test_context_internal
JCVoronoi.jcv_context_internal setup_test_context_internal(int num_points, JCVoronoi.jcv_point[] points, int ctx) -
prune_duplicates_test
public void prune_duplicates_test() -
setup_clip_shape_box
-
prune_not_in_shape_test
public void prune_not_in_shape_test() -
same_site_test
public void same_site_test() -
many_test
public void many_test() -
many_diagonal_test
public void many_diagonal_test() -
many_circle_test
public void many_circle_test() -
crash1
public void crash1() -
issue10_zero_edge_length
public void issue10_zero_edge_length() -
issue22_wrong_edge_count
public void issue22_wrong_edge_count() -
issue28_not_all_edges_returned_test
public void issue28_not_all_edges_returned_test() -
issue38_numsites_equals_one_assert_test
public void issue38_numsites_equals_one_assert_test() -
is_closed_loop
-
voronoi_testfn_closed_loop
public void voronoi_testfn_closed_loop() -
count_edges
-
fn_count_edges
public void fn_count_edges() -
issue_missing_border_edges
public void issue_missing_border_edges() -
Delauney
public void Delauney()
-