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



1900
1901
1902
1903
# File 'ext/tg_geometry/tg_geometry_ext.c', line 1900

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



1905
1906
1907
1908
# File 'ext/tg_geometry/tg_geometry_ext.c', line 1905

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



1916
1917
1918
1919
# File 'ext/tg_geometry/tg_geometry_ext.c', line 1916

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)


1921
1922
1923
1924
1925
1926
# File 'ext/tg_geometry/tg_geometry_ext.c', line 1921

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



1910
1911
1912
1913
1914
# File 'ext/tg_geometry/tg_geometry_ext.c', line 1910

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));
}