Package gov.nih.mipav.model.structures
Class JCVoronoi
- java.lang.Object
-
- gov.nih.mipav.model.structures.JCVoronoi
-
public class JCVoronoi extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classJCVoronoi.Contextprivate classJCVoronoi.indexPointComparatorprivate classJCVoronoi.indexPointItem(package private) classJCVoronoi.jcv_clipper(package private) classJCVoronoi.jcv_clipping_polygon(package private) classJCVoronoi.jcv_context_internal(package private) classJCVoronoi.jcv_delauney_edge(package private) classJCVoronoi.jcv_delauney_iter(package private) classJCVoronoi.jcv_diagram(package private) classJCVoronoi.jcv_edge(package private) classJCVoronoi.jcv_graphedge(package private) classJCVoronoi.jcv_halfedge(package private) classJCVoronoi.jcv_memoryblock(package private) classJCVoronoi.jcv_point(package private) classJCVoronoi.jcv_priorityqueue(package private) classJCVoronoi.jcv_rect(package private) classJCVoronoi.jcv_site
-
Field Summary
Fields Modifier and Type Field Description (package private) JCVoronoi.Contextctx(package private) doubleepsilon(package private) intIMAGE_SIZE(package private) intjcv_alloc_fn(package private) intJCV_BOXSHAPE_CLIP(package private) intJCV_BOXSHAPE_FILLGAPS(package private) intJCV_BOXSHAPE_TEST(package private) static intJCV_CORNER_BOTTOM_LEFT(package private) static intJCV_CORNER_BOTTOM_RIGHT(package private) static intJCV_CORNER_NONE(package private) static intJCV_CORNER_TOP_LEFT(package private) static intJCV_CORNER_TOP_RIGHT(package private) static intJCV_DIRECTION_LEFT(package private) static intJCV_DIRECTION_RIGHT(package private) static intJCV_EDGE_BOTTOM(package private) doubleJCV_EDGE_INTERSECT_THRESHOLD(package private) static intJCV_EDGE_LEFT(package private) static intJCV_EDGE_RIGHT(package private) static intJCV_EDGE_TOP(package private) intjcv_free_fn(package private) static doubleJCV_INVALID_VALUE
-
Constructor Summary
Constructors Constructor Description JCVoronoi()
-
Method Summary
-
-
-
Field Detail
-
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:
- Constant Field Values
-
JCV_DIRECTION_RIGHT
static final int JCV_DIRECTION_RIGHT
- See Also:
- Constant Field Values
-
JCV_INVALID_VALUE
static final double JCV_INVALID_VALUE
- See Also:
- Constant Field Values
-
epsilon
double epsilon
-
JCV_EDGE_LEFT
static final int JCV_EDGE_LEFT
- See Also:
- Constant Field Values
-
JCV_EDGE_RIGHT
static final int JCV_EDGE_RIGHT
- See Also:
- Constant Field Values
-
JCV_EDGE_BOTTOM
static final int JCV_EDGE_BOTTOM
- See Also:
- Constant Field Values
-
JCV_EDGE_TOP
static final int JCV_EDGE_TOP
- See Also:
- Constant Field Values
-
JCV_CORNER_NONE
static final int JCV_CORNER_NONE
- See Also:
- Constant Field Values
-
JCV_CORNER_TOP_LEFT
static final int JCV_CORNER_TOP_LEFT
- See Also:
- Constant Field Values
-
JCV_CORNER_BOTTOM_LEFT
static final int JCV_CORNER_BOTTOM_LEFT
- See Also:
- Constant Field Values
-
JCV_CORNER_BOTTOM_RIGHT
static final int JCV_CORNER_BOTTOM_RIGHT
- See Also:
- Constant Field Values
-
JCV_CORNER_TOP_RIGHT
static final int JCV_CORNER_TOP_RIGHT
- See Also:
- Constant Field Values
-
IMAGE_SIZE
int IMAGE_SIZE
-
ctx
JCVoronoi.Context ctx
-
-
Method Detail
-
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
int jcv_point_cmp(JCVoronoi.jcv_point p1, JCVoronoi.jcv_point p2)
-
jcv_point_less
int jcv_point_less(JCVoronoi.jcv_point pt1, JCVoronoi.jcv_point pt2)
-
jcv_point_eq
int jcv_point_eq(JCVoronoi.jcv_point pt1, JCVoronoi.jcv_point pt2)
-
jcv_point_on_box_edge
int jcv_point_on_box_edge(JCVoronoi.jcv_point pt, JCVoronoi.jcv_point min, JCVoronoi.jcv_point max)
-
jcv_get_edge_flags
int jcv_get_edge_flags(JCVoronoi.jcv_point pt, JCVoronoi.jcv_point min, JCVoronoi.jcv_point max)
-
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
double jcv_point_dist_sq(JCVoronoi.jcv_point pt1, JCVoronoi.jcv_point pt2)
-
jcv_point_dist
double jcv_point_dist(JCVoronoi.jcv_point pt1, JCVoronoi.jcv_point pt2)
-
jcv_graphedge_free
void jcv_graphedge_free(JCVoronoi.jcv_graphedge graphedge)
-
jcv_site_free
void jcv_site_free(JCVoronoi.jcv_site site)
-
jcv_diagram_free
void jcv_diagram_free(JCVoronoi.jcv_diagram d)
-
jcv_context_internal_free
void jcv_context_internal_free(JCVoronoi.jcv_context_internal internal)
-
jcv_diagram_get_sites
JCVoronoi.jcv_site[] jcv_diagram_get_sites(JCVoronoi.jcv_diagram diagram)
-
jcv_diagram_get_edges
JCVoronoi.jcv_edge jcv_diagram_get_edges(JCVoronoi.jcv_diagram diagram)
-
jcv_diagram_get_next_edge
JCVoronoi.jcv_edge jcv_diagram_get_next_edge(JCVoronoi.jcv_edge edge)
-
jcv_delauney_begin
void jcv_delauney_begin(JCVoronoi.jcv_diagram diagram, JCVoronoi.jcv_delauney_iter iter)
-
jcv_delauney_next
int jcv_delauney_next(JCVoronoi.jcv_delauney_iter iter, JCVoronoi.jcv_delauney_edge next)
-
jcv_alloc_edge
JCVoronoi.jcv_edge jcv_alloc_edge(JCVoronoi.jcv_context_internal internal)
-
jcv_alloc_halfedge
JCVoronoi.jcv_halfedge jcv_alloc_halfedge(JCVoronoi.jcv_context_internal internal)
-
jcv_alloc_graphedge
JCVoronoi.jcv_graphedge jcv_alloc_graphedge(JCVoronoi.jcv_context_internal internal)
-
jcv_is_valid
int jcv_is_valid(JCVoronoi.jcv_point p)
-
jcv_edge_create
void jcv_edge_create(JCVoronoi.jcv_edge e, JCVoronoi.jcv_site s1, JCVoronoi.jcv_site s2)
-
jcv_boxshape_test
int jcv_boxshape_test(JCVoronoi.jcv_clipper clipper, JCVoronoi.jcv_point p)
-
jcv_boxshape_clip
int jcv_boxshape_clip(JCVoronoi.jcv_clipper clipper, JCVoronoi.jcv_edge e)
-
jcv_edge_clipline
int jcv_edge_clipline(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_edge e)
-
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
void jcv_halfedge_link(JCVoronoi.jcv_halfedge edge, JCVoronoi.jcv_halfedge newedge)
-
jcv_halfedge_unlink
void jcv_halfedge_unlink(JCVoronoi.jcv_halfedge he)
-
jcv_halfedge_new
JCVoronoi.jcv_halfedge jcv_halfedge_new(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_edge e, int direction)
-
jcv_halfedge_delete
void jcv_halfedge_delete(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_halfedge he)
-
jcv_halfedge_leftsite
JCVoronoi.jcv_site jcv_halfedge_leftsite(JCVoronoi.jcv_halfedge he)
-
jcv_halfedge_rightsite
JCVoronoi.jcv_site jcv_halfedge_rightsite(JCVoronoi.jcv_halfedge he)
-
jcv_halfedge_rightof
int jcv_halfedge_rightof(JCVoronoi.jcv_halfedge he, JCVoronoi.jcv_point p)
-
jcv_halfedge_compare
int jcv_halfedge_compare(JCVoronoi.jcv_halfedge he1, JCVoronoi.jcv_halfedge he2)
-
jcv_halfedge_intersect
int jcv_halfedge_intersect(JCVoronoi.jcv_halfedge he1, JCVoronoi.jcv_halfedge he2, JCVoronoi.jcv_point out)
-
jcv_pq_moveup
int jcv_pq_moveup(JCVoronoi.jcv_priorityqueue pq, int pos)
-
jcv_pq_maxchild
int jcv_pq_maxchild(JCVoronoi.jcv_priorityqueue pq, int pos)
-
jcv_pq_movedown
int jcv_pq_movedown(JCVoronoi.jcv_priorityqueue pq, int pos)
-
jcv_pq_create
void jcv_pq_create(JCVoronoi.jcv_priorityqueue pq, int capacity, JCVoronoi.jcv_halfedge[] buffer)
-
jcv_pq_empty
int jcv_pq_empty(JCVoronoi.jcv_priorityqueue pq)
-
jcv_pq_push
int jcv_pq_push(JCVoronoi.jcv_priorityqueue pq, JCVoronoi.jcv_halfedge node)
-
jcv_pq_pop
JCVoronoi.jcv_halfedge jcv_pq_pop(JCVoronoi.jcv_priorityqueue pq)
-
jcv_pq_top
JCVoronoi.jcv_halfedge jcv_pq_top(JCVoronoi.jcv_priorityqueue pq)
-
jcv_pq_remove
void jcv_pq_remove(JCVoronoi.jcv_priorityqueue pq, JCVoronoi.jcv_halfedge node)
-
jcv_nextsite
JCVoronoi.jcv_site jcv_nextsite(JCVoronoi.jcv_context_internal internal)
-
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
void jcv_site_event(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_site site)
-
jcv_determinant
double jcv_determinant(JCVoronoi.jcv_point a, JCVoronoi.jcv_point b, JCVoronoi.jcv_point c)
-
jcv_calc_sort_metric
double jcv_calc_sort_metric(JCVoronoi.jcv_site site, JCVoronoi.jcv_graphedge edge)
-
jcv_graphedge_eq
int jcv_graphedge_eq(JCVoronoi.jcv_graphedge a, JCVoronoi.jcv_graphedge b)
-
jcv_sortedges_insert
void jcv_sortedges_insert(JCVoronoi.jcv_site site, JCVoronoi.jcv_graphedge edge)
-
jcv_finishline
void jcv_finishline(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_edge e)
-
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
void jcv_fillgaps(JCVoronoi.jcv_diagram diagram)
-
jcv_circle_event
void jcv_circle_event(JCVoronoi.jcv_context_internal internal)
-
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
void jcv_rect_union(JCVoronoi.jcv_rect rect, JCVoronoi.jcv_point p)
-
jcv_rect_round
void jcv_rect_round(JCVoronoi.jcv_rect rect)
-
jcv_rect_inflate
void jcv_rect_inflate(JCVoronoi.jcv_rect rect, double amount)
-
jcv_prune_duplicates
int jcv_prune_duplicates(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_rect rect)
-
jcv_prune_not_in_shape
int jcv_prune_not_in_shape(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_rect rect)
-
jcv_alloc_internal
JCVoronoi.jcv_context_internal jcv_alloc_internal(int num_points, int userallocctx, int allocfn, int freefn)
-
display_site
void display_site(JCVoronoi.jcv_site 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
double jcv_cross(JCVoronoi.jcv_point a, JCVoronoi.jcv_point b)
-
jcv_add
JCVoronoi.jcv_point jcv_add(JCVoronoi.jcv_point a, JCVoronoi.jcv_point b)
-
jcv_sub
JCVoronoi.jcv_point jcv_sub(JCVoronoi.jcv_point a, JCVoronoi.jcv_point b)
-
jcv_mul
JCVoronoi.jcv_point jcv_mul(JCVoronoi.jcv_point v, double s)
-
jcv_mix
JCVoronoi.jcv_point jcv_mix(JCVoronoi.jcv_point a, JCVoronoi.jcv_point b, double t)
-
jcv_dot
double jcv_dot(JCVoronoi.jcv_point a, JCVoronoi.jcv_point b)
-
jcv_length
double jcv_length(JCVoronoi.jcv_point v)
-
jcv_length_sq
double jcv_length_sq(JCVoronoi.jcv_point v)
-
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
int jcv_clip_polygon_test_point(JCVoronoi.jcv_clipper clipper, JCVoronoi.jcv_point p)
-
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
int jcv_clip_polygon_clip_edge(JCVoronoi.jcv_clipper clipper, JCVoronoi.jcv_edge e)
-
jcv_find_polygon_edge
int jcv_find_polygon_edge(JCVoronoi.jcv_clipper clipper, JCVoronoi.jcv_point p)
-
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
int orient2d(JCVoronoi.jcv_point a, JCVoronoi.jcv_point b, JCVoronoi.jcv_point c)
-
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
void relax_points(JCVoronoi.jcv_diagram diagram, JCVoronoi.jcv_point[] points)
-
Usage
void Usage()
-
debug_skip_point
int debug_skip_point(JCVoronoi.jcv_point pt)
-
is_ascii
int is_ascii(byte[] chars, int len)
-
is_text
int is_text(java.io.File file, int len)
-
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
boolean check_point_eq(JCVoronoi.jcv_point a, JCVoronoi.jcv_point b)
-
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
void setup_clip_shape_box(JCVoronoi.jcv_context_internal internal, JCVoronoi.jcv_rect rect)
-
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
int is_closed_loop(JCVoronoi.jcv_graphedge edge)
-
voronoi_testfn_closed_loop
public void voronoi_testfn_closed_loop()
-
count_edges
int count_edges(JCVoronoi.jcv_graphedge edge)
-
fn_count_edges
public void fn_count_edges()
-
issue_missing_border_edges
public void issue_missing_border_edges()
-
Delauney
public void Delauney()
-
-