Class: RGeo::Geos::CAPILinearRingImpl

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

Class Method Summary collapse

Instance Method Summary collapse

Methods included from CAPILinearRingMethods

#geometry_type, #hash

Methods included from CAPILineStringMethods

#closed?, #coordinates, #end_point, #eql?, #geometry_type, #hash, #interpolate_point, #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, #coordinate_dimension, #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, #invalid_reason_location, #is_3d?, #make_valid, #marshal_dump, #marshal_load, #measured?, #overlaps?, #point_on_surface, #polygonize, #prepare!, #prepared?, #relate?, #rep_equals?, #simple?, #simplify, #simplify_preserve_topology, #spatial_dimension, #srid, #sym_difference, #touches?, #unary_union, #union, #valid?, #within?

Methods included from ImplHelper::ValidityCheck

#check_validity!, included, #invalid_reason, #make_valid, override_classes

Methods included from Feature::Type

#add_subtype, #check_type, #each_immediate_subtype, extended, #subtype_of?, #supertype, #type_name

Methods included from Feature::LineString

#num_points, #point_n, #points

Methods included from Feature::Curve

#closed?, #end_point, #length, #ring?, #start_point

Methods included from Feature::Geometry

#*, #+, #-, #==, #as_binary, #as_text, #boundary, #buffer, #contains?, #convex_hull, #coordinate_dimension, #crosses?, #difference, #dimension, #disjoint?, #distance, #empty?, #envelope, #eql?, #equals?, #factory, #geometry_type, #intersection, #intersects?, #is_3d?, #locate_along, #locate_between, #measured?, #overlaps?, #relate?, #rep_equals?, #simple?, #spatial_dimension, #srid, #sym_difference, #touches?, #transform, #unary_union, #union, #within?

Class Method Details

._copy_from(factory, original) ⇒ Object



631
632
633
634
635
# File 'ext/geos_c_impl/line_string.c', line 631

static VALUE
cmethod_linear_ring_copy_from(VALUE klass, VALUE factory, VALUE original)
{
  return impl_copy_from(klass, factory, original, 2);
}

.create(factory, array) ⇒ Object

Class methods for CAPILinearRingImpl



499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
# File 'ext/geos_c_impl/line_string.c', line 499

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

  result = Qnil;
  coord_seq = coord_seq_from_array(factory, array, 1);
  if (coord_seq) {
    geom = GEOSGeom_createLinearRing(coord_seq);
    if (geom) {
      result =
        rgeo_wrap_geos_geometry(factory, geom, rgeo_geos_linear_ring_class);
    }
  }
  return result;
}

Instance Method Details

#ccw?Boolean

Returns:

  • (Boolean)


105
106
107
# File 'lib/rgeo/geos/capi_feature_classes.rb', line 105

def ccw?
  RGeo::Cartesian::Analysis.ccw?(self)
end