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.



284
285
286
287
288
289
# File 'lib/kamelopard/classes.rb', line 284

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.



282
283
284
# File 'lib/kamelopard/classes.rb', line 282

def altitude
  @altitude
end

#altitudeModeObject

Returns the value of attribute altitudeMode.



282
283
284
# File 'lib/kamelopard/classes.rb', line 282

def altitudeMode
  @altitudeMode
end

#extrudeObject

Returns the value of attribute extrude.



282
283
284
# File 'lib/kamelopard/classes.rb', line 282

def extrude
  @extrude
end

#latitudeObject

Returns the value of attribute latitude.



281
282
283
# File 'lib/kamelopard/classes.rb', line 281

def latitude
  @latitude
end

#longitudeObject

Returns the value of attribute longitude.



281
282
283
# File 'lib/kamelopard/classes.rb', line 281

def longitude
  @longitude
end

Instance Method Details

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



303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
# File 'lib/kamelopard/classes.rb', line 303

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



299
300
301
# File 'lib/kamelopard/classes.rb', line 299

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