Class: RGeo::Geos::CAPILineStringImpl

Inherits:
Object
  • Object
show all
Includes:
CAPIGeometryMethods, CAPILineStringMethods
Defined in:
lib/rgeo/geos/capi_feature_classes.rb,
ext/geos_c_impl/globals.c

Overview

:nodoc:

Class Method Summary collapse

Methods included from CAPILineStringMethods

#closed?, #coordinates, #end_point, #eql?, #geometry_type, #hash, #interpolate_point, #is_closed?, #is_ring?, #length, #num_points, #point_n, #points, #project_point, #rep_equals?, #ring?, #start_point

Methods included from CAPIGeometryMethods

#*, #+, #-, #==, #_as_text, #_steal, #as_binary, #as_text, #boundary, #buffer, #buffer_with_style, #contains?, #convex_hull, #crosses?, #difference, #dimension, #disjoint?, #distance, #empty?, #encode_with, #envelope, #eql?, #equals?, #factory, #factory=, #geometry_type, #init_with, #initialize_copy, #initialized?, #inspect, #intersection, #intersects?, #invalid_reason, #is_empty?, #is_simple?, #marshal_dump, #marshal_load, #overlaps?, #point_on_surface, #prepare!, #prepared?, #relate?, #rep_equals?, #simple?, #simplify, #simplify_preserve_topology, #srid, #sym_difference, #touches?, #unary_union, #union, #valid?, #within?

Class Method Details

._copy_from(factory, original) ⇒ Object


615
616
617
618
# File 'ext/geos_c_impl/line_string.c', line 615

static VALUE cmethod_line_string_copy_from(VALUE klass, VALUE factory, VALUE original)
{
  return impl_copy_from(klass, factory, original, 0);
}

.create(factory, array) ⇒ Object

Class methods for CAPILineStringImpl


480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
# File 'ext/geos_c_impl/line_string.c', line 480

static VALUE cmethod_create_line_string(VALUE module, VALUE factory, VALUE array)
{
  VALUE result;
  GEOSCoordSequence* coord_seq;
  RGeo_FactoryData* factory_data;
  GEOSGeometry* geom;

  result = Qnil;
  coord_seq = coord_seq_from_array(factory, array, 0);
  if (coord_seq) {
    factory_data = RGEO_FACTORY_DATA_PTR(factory);
    geom = GEOSGeom_createLineString_r(factory_data->geos_context, coord_seq);
    if (geom) {
      result = rgeo_wrap_geos_geometry(factory, geom, rgeo_geos_line_string_class);
    }
  }
  return result;
}