Class: TG::Geometry::Segment

Inherits:
Object
  • Object
show all
Defined in:
ext/tg_geometry/tg_geometry_ext.c

Instance Method Summary collapse

Instance Method Details

#aObject



1930
1931
1932
1933
# File 'ext/tg_geometry/tg_geometry_ext.c', line 1930

static VALUE rb_tg_geometry_segment_a(VALUE self) {
    tg_segment_wrapper_t *w = get_segment_wrapper(self);
    return point_array_from_tg_point(w->segment.a);
}

#bObject



1935
1936
1937
1938
# File 'ext/tg_geometry/tg_geometry_ext.c', line 1935

static VALUE rb_tg_geometry_segment_b(VALUE self) {
    tg_segment_wrapper_t *w = get_segment_wrapper(self);
    return point_array_from_tg_point(w->segment.b);
}

#bboxObject



1946
1947
1948
1949
# File 'ext/tg_geometry/tg_geometry_ext.c', line 1946

static VALUE rb_tg_geometry_segment_bbox(VALUE self) {
    tg_segment_wrapper_t *w = get_segment_wrapper(self);
    return rect_from_tg_rect(tg_segment_rect(w->segment));
}

#intersects?(other) ⇒ Boolean

Returns:

  • (Boolean)


1951
1952
1953
1954
1955
1956
# File 'ext/tg_geometry/tg_geometry_ext.c', line 1951

static VALUE rb_tg_geometry_segment_intersects_p(VALUE self, VALUE other) {
    tg_segment_wrapper_t *w = get_segment_wrapper(self);
    tg_segment_wrapper_t *other_w = get_segment_wrapper(other);

    return tg_segment_intersects_segment(w->segment, other_w->segment) ? Qtrue : Qfalse;
}

#pointsObject



1940
1941
1942
1943
1944
# File 'ext/tg_geometry/tg_geometry_ext.c', line 1940

static VALUE rb_tg_geometry_segment_points(VALUE self) {
    tg_segment_wrapper_t *w = get_segment_wrapper(self);
    return rb_ary_new_from_args(2, point_array_from_tg_point(w->segment.a),
                                point_array_from_tg_point(w->segment.b));
}