Class: Kamelopard::AbstractView
- Defined in:
- lib/kamelopard/classes.rb
Overview
Abstract class corresponding to KML’s AbstractView object
Instance Attribute Summary collapse
-
#altitudeMode ⇒ Object
Returns the value of attribute altitudeMode.
-
#className ⇒ Object
readonly
Returns the value of attribute className.
-
#heading ⇒ Object
Returns the value of attribute heading.
-
#point ⇒ Object
Returns the value of attribute point.
-
#range ⇒ Object
Returns the value of attribute range.
-
#roll ⇒ Object
Returns the value of attribute roll.
-
#tilt ⇒ Object
Returns the value of attribute tilt.
-
#timespan ⇒ Object
Returns the value of attribute timespan.
-
#timestamp ⇒ Object
Returns the value of attribute timestamp.
-
#viewerOptions ⇒ Object
Returns the value of attribute viewerOptions.
Attributes inherited from Object
#comment, #kml_id, #master_only
Instance Method Summary collapse
- #[](a) ⇒ Object
- #[]=(a, b) ⇒ Object
- #altitude ⇒ Object
- #altitude=(a) ⇒ Object
-
#initialize(className, point, options = {}) ⇒ AbstractView
constructor
A new instance of AbstractView.
- #latitude ⇒ Object
- #latitude=(a) ⇒ Object
- #longitude ⇒ Object
- #longitude=(a) ⇒ Object
- #to_kml(elem = nil) ⇒ Object
Methods inherited from Object
#_alternate_to_kml, #change, #master_only?
Constructor Details
#initialize(className, point, options = {}) ⇒ AbstractView
Returns a new instance of AbstractView.
474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 |
# File 'lib/kamelopard/classes.rb', line 474 def initialize(className, point, = {}) raise "className argument must not be nil" if className.nil? @heading = 0 @tilt = 0 @roll = nil @range = nil @altitudeMode = :clampToGround @viewerOptions = {} super @className = className self.point= point unless point.nil? end |
Instance Attribute Details
#altitudeMode ⇒ Object
Returns the value of attribute altitudeMode.
471 472 473 |
# File 'lib/kamelopard/classes.rb', line 471 def altitudeMode @altitudeMode end |
#className ⇒ Object (readonly)
Returns the value of attribute className.
472 473 474 |
# File 'lib/kamelopard/classes.rb', line 472 def className @className end |
#heading ⇒ Object
Returns the value of attribute heading.
471 472 473 |
# File 'lib/kamelopard/classes.rb', line 471 def heading @heading end |
#point ⇒ Object
Returns the value of attribute point.
472 473 474 |
# File 'lib/kamelopard/classes.rb', line 472 def point @point end |
#range ⇒ Object
Returns the value of attribute range.
471 472 473 |
# File 'lib/kamelopard/classes.rb', line 471 def range @range end |
#roll ⇒ Object
Returns the value of attribute roll.
471 472 473 |
# File 'lib/kamelopard/classes.rb', line 471 def roll @roll end |
#tilt ⇒ Object
Returns the value of attribute tilt.
471 472 473 |
# File 'lib/kamelopard/classes.rb', line 471 def tilt @tilt end |
#timespan ⇒ Object
Returns the value of attribute timespan.
471 472 473 |
# File 'lib/kamelopard/classes.rb', line 471 def timespan @timespan end |
#timestamp ⇒ Object
Returns the value of attribute timestamp.
471 472 473 |
# File 'lib/kamelopard/classes.rb', line 471 def @timestamp end |
#viewerOptions ⇒ Object
Returns the value of attribute viewerOptions.
471 472 473 |
# File 'lib/kamelopard/classes.rb', line 471 def viewerOptions @viewerOptions end |
Instance Method Details
#[](a) ⇒ Object
571 572 573 |
# File 'lib/kamelopard/classes.rb', line 571 def [](a) return @viewerOptions[a] end |
#[]=(a, b) ⇒ Object
575 576 577 578 579 580 581 582 583 |
# File 'lib/kamelopard/classes.rb', line 575 def []=(a, b) if not b.kind_of? FalseClass and not b.kind_of? TrueClass then raise 'Option value must be boolean' end if a != :streetview and a != :historicalimagery and a != :sunlight then raise 'Option index must be :streetview, :historicalimagery, or :sunlight' end @viewerOptions[a] = b end |
#altitude ⇒ Object
511 512 513 |
# File 'lib/kamelopard/classes.rb', line 511 def altitude @point.nil? ? nil : @point.altitude end |
#altitude=(a) ⇒ Object
531 532 533 534 535 536 537 |
# File 'lib/kamelopard/classes.rb', line 531 def altitude=(a) if @point.nil? then @point = Point.new(0, 0, a) else @point.altitude = a end end |
#latitude ⇒ Object
507 508 509 |
# File 'lib/kamelopard/classes.rb', line 507 def latitude @point.nil? ? nil : @point.latitude end |
#latitude=(a) ⇒ Object
523 524 525 526 527 528 529 |
# File 'lib/kamelopard/classes.rb', line 523 def latitude=(a) if @point.nil? then @point = Point.new(0, a) else @point.latitude = a end end |
#longitude ⇒ Object
503 504 505 |
# File 'lib/kamelopard/classes.rb', line 503 def longitude @point.nil? ? nil : @point.longitude end |
#longitude=(a) ⇒ Object
515 516 517 518 519 520 521 |
# File 'lib/kamelopard/classes.rb', line 515 def longitude=(a) if @point.nil? then @point = Point.new(a, 0) else @point.longitude = a end end |
#to_kml(elem = nil) ⇒ Object
539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 |
# File 'lib/kamelopard/classes.rb', line 539 def to_kml(elem = nil) t = XML::Node.new @className super(t) Kamelopard.kml_array(t, [ [ @point.nil? ? nil : @point.longitude, 'longitude' ], [ @point.nil? ? nil : @point.latitude, 'latitude' ], [ @point.nil? ? nil : @point.altitude, 'altitude' ], [ @heading, 'heading' ], [ @tilt, 'tilt' ], [ @range, 'range' ], [ @roll, 'roll' ] ]) Kamelopard.add_altitudeMode(@altitudeMode, t) if @viewerOptions.keys.length > 0 then vo = XML::Node.new 'gx:ViewerOptions' @viewerOptions.each do |k, v| o = XML::Node.new 'gx:option' o.attributes['name'] = k.to_s o.attributes['enabled'] = v ? 'true' : 'false' vo << o end t << vo end if not @timestamp.nil? then @timestamp.to_kml(t, 'gx') elsif not @timespan.nil? then @timespan.to_kml(t, 'gx') end elem << t unless elem.nil? t end |