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
- #to_queries_txt(name = '', planet = 'earth') ⇒ Object
Methods inherited from Object
#_alternate_to_kml, #change, #master_only?, parse
Constructor Details
#initialize(className, point, options = {}) ⇒ AbstractView
Returns a new instance of AbstractView.
537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 |
# File 'lib/kamelopard/classes.rb', line 537 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.
533 534 535 |
# File 'lib/kamelopard/classes.rb', line 533 def altitudeMode @altitudeMode end |
#className ⇒ Object (readonly)
Returns the value of attribute className.
535 536 537 |
# File 'lib/kamelopard/classes.rb', line 535 def className @className end |
#heading ⇒ Object
Returns the value of attribute heading.
533 534 535 |
# File 'lib/kamelopard/classes.rb', line 533 def heading @heading end |
#point ⇒ Object
Returns the value of attribute point.
535 536 537 |
# File 'lib/kamelopard/classes.rb', line 535 def point @point end |
#range ⇒ Object
Returns the value of attribute range.
533 534 535 |
# File 'lib/kamelopard/classes.rb', line 533 def range @range end |
#roll ⇒ Object
Returns the value of attribute roll.
533 534 535 |
# File 'lib/kamelopard/classes.rb', line 533 def roll @roll end |
#tilt ⇒ Object
Returns the value of attribute tilt.
533 534 535 |
# File 'lib/kamelopard/classes.rb', line 533 def tilt @tilt end |
#timespan ⇒ Object
Returns the value of attribute timespan.
533 534 535 |
# File 'lib/kamelopard/classes.rb', line 533 def timespan @timespan end |
#timestamp ⇒ Object
Returns the value of attribute timestamp.
533 534 535 |
# File 'lib/kamelopard/classes.rb', line 533 def @timestamp end |
#viewerOptions ⇒ Object
Returns the value of attribute viewerOptions.
533 534 535 |
# File 'lib/kamelopard/classes.rb', line 533 def viewerOptions @viewerOptions end |
Instance Method Details
#[](a) ⇒ Object
638 639 640 |
# File 'lib/kamelopard/classes.rb', line 638 def [](a) return @viewerOptions[a] end |
#[]=(a, b) ⇒ Object
642 643 644 645 646 647 648 649 650 |
# File 'lib/kamelopard/classes.rb', line 642 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
574 575 576 |
# File 'lib/kamelopard/classes.rb', line 574 def altitude @point.nil? ? nil : @point.altitude end |
#altitude=(a) ⇒ Object
594 595 596 597 598 599 600 |
# File 'lib/kamelopard/classes.rb', line 594 def altitude=(a) if @point.nil? then @point = Point.new(0, 0, a) else @point.altitude = a end end |
#latitude ⇒ Object
570 571 572 |
# File 'lib/kamelopard/classes.rb', line 570 def latitude @point.nil? ? nil : @point.latitude end |
#latitude=(a) ⇒ Object
586 587 588 589 590 591 592 |
# File 'lib/kamelopard/classes.rb', line 586 def latitude=(a) if @point.nil? then @point = Point.new(0, a) else @point.latitude = a end end |
#longitude ⇒ Object
566 567 568 |
# File 'lib/kamelopard/classes.rb', line 566 def longitude @point.nil? ? nil : @point.longitude end |
#longitude=(a) ⇒ Object
578 579 580 581 582 583 584 |
# File 'lib/kamelopard/classes.rb', line 578 def longitude=(a) if @point.nil? then @point = Point.new(a, 0) else @point.longitude = a end end |
#to_kml(elem = nil) ⇒ Object
602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 |
# File 'lib/kamelopard/classes.rb', line 602 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 |
#to_queries_txt(name = '', planet = 'earth') ⇒ Object
634 635 636 |
# File 'lib/kamelopard/classes.rb', line 634 def to_queries_txt(name = '', planet = 'earth') return "#{planet}@#{name}@flytoview=" + self.to_kml.to_s.gsub(/^\s+/, '').gsub("\n", '') end |