Class: Kamelopard::Point

Inherits:
Geometry show all
Defined in:
lib/kamelopard/classes.rb

Overview

Represents a Point in KML.

Instance Attribute Summary collapse

Attributes inherited from Object

#comment, #kml_id, #master_only

Instance Method Summary collapse

Methods inherited from Object

#_alternate_to_kml, #change, #master_only?

Constructor Details

#initialize(longitude = nil, latitude = nil, altitude = nil, options = {}) ⇒ Point

Returns a new instance of Point.



309
310
311
312
313
314
# File 'lib/kamelopard/classes.rb', line 309

def initialize(longitude = nil, latitude = nil, altitude = nil, options = {})
    super options
    @longitude = Kamelopard.convert_coord(longitude) unless longitude.nil?
    @latitude = Kamelopard.convert_coord(latitude) unless latitude.nil?
    @altitude = altitude unless altitude.nil?
end

Instance Attribute Details

#altitudeObject

Returns the value of attribute altitude.



307
308
309
# File 'lib/kamelopard/classes.rb', line 307

def altitude
  @altitude
end

#altitudeModeObject

Returns the value of attribute altitudeMode.



307
308
309
# File 'lib/kamelopard/classes.rb', line 307

def altitudeMode
  @altitudeMode
end

#extrudeObject

Returns the value of attribute extrude.



307
308
309
# File 'lib/kamelopard/classes.rb', line 307

def extrude
  @extrude
end

#latitudeObject

Returns the value of attribute latitude.



306
307
308
# File 'lib/kamelopard/classes.rb', line 306

def latitude
  @latitude
end

#longitudeObject

Returns the value of attribute longitude.



306
307
308
# File 'lib/kamelopard/classes.rb', line 306

def longitude
  @longitude
end

Instance Method Details

#to_kml(elem = nil, short = false) ⇒ Object



329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
# File 'lib/kamelopard/classes.rb', line 329

def to_kml(elem = nil, short = false)
    e = XML::Node.new 'Point'
    super(e)
    e.attributes['id'] = @kml_id
    c = XML::Node.new 'coordinates'
    c << "#{ @longitude }, #{ @latitude }, #{ @altitude }"
    e << c

    if not short then
        c = XML::Node.new 'extrude'
        c << ( @extrude ? 1 : 0 ).to_s
        e << c

        Kamelopard.add_altitudeMode(@altitudeMode, e)
    end

    elem << e unless elem.nil?
    e
end

#to_sObject



324
325
326
327
# File 'lib/kamelopard/classes.rb', line 324

def to_s
    p @extrude
    "Point (#{@longitude}, #{@latitude}, #{@altitude}, mode = #{@altitudeMode}, #{ @extrude == 1 ? 'extruded' : 'not extruded' })"
end