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



2675
2676
2677
2678
# File 'ext/tg_geometry/tg_geometry_ext.c', line 2675

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



2680
2681
2682
2683
# File 'ext/tg_geometry/tg_geometry_ext.c', line 2680

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



2691
2692
2693
2694
# File 'ext/tg_geometry/tg_geometry_ext.c', line 2691

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)


2696
2697
2698
2699
2700
2701
# File 'ext/tg_geometry/tg_geometry_ext.c', line 2696

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



2685
2686
2687
2688
2689
# File 'ext/tg_geometry/tg_geometry_ext.c', line 2685

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