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.
579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 |
# File 'lib/kamelopard/classes.rb', line 579 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.
575 576 577 |
# File 'lib/kamelopard/classes.rb', line 575 def altitudeMode @altitudeMode end |
#className ⇒ Object (readonly)
Returns the value of attribute className.
577 578 579 |
# File 'lib/kamelopard/classes.rb', line 577 def className @className end |
#heading ⇒ Object
Returns the value of attribute heading.
575 576 577 |
# File 'lib/kamelopard/classes.rb', line 575 def heading @heading end |
#point ⇒ Object
Returns the value of attribute point.
577 578 579 |
# File 'lib/kamelopard/classes.rb', line 577 def point @point end |
#range ⇒ Object
Returns the value of attribute range.
575 576 577 |
# File 'lib/kamelopard/classes.rb', line 575 def range @range end |
#roll ⇒ Object
Returns the value of attribute roll.
575 576 577 |
# File 'lib/kamelopard/classes.rb', line 575 def roll @roll end |
#tilt ⇒ Object
Returns the value of attribute tilt.
575 576 577 |
# File 'lib/kamelopard/classes.rb', line 575 def tilt @tilt end |
#timespan ⇒ Object
Returns the value of attribute timespan.
575 576 577 |
# File 'lib/kamelopard/classes.rb', line 575 def timespan @timespan end |
#timestamp ⇒ Object
Returns the value of attribute timestamp.
575 576 577 |
# File 'lib/kamelopard/classes.rb', line 575 def @timestamp end |
#viewerOptions ⇒ Object
Returns the value of attribute viewerOptions.
575 576 577 |
# File 'lib/kamelopard/classes.rb', line 575 def viewerOptions @viewerOptions end |
Instance Method Details
#[](a) ⇒ Object
680 681 682 |
# File 'lib/kamelopard/classes.rb', line 680 def [](a) return @viewerOptions[a] end |
#[]=(a, b) ⇒ Object
684 685 686 687 688 689 690 691 692 |
# File 'lib/kamelopard/classes.rb', line 684 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
616 617 618 |
# File 'lib/kamelopard/classes.rb', line 616 def altitude @point.nil? ? nil : @point.altitude end |
#altitude=(a) ⇒ Object
636 637 638 639 640 641 642 |
# File 'lib/kamelopard/classes.rb', line 636 def altitude=(a) if @point.nil? then @point = Point.new(0, 0, a) else @point.altitude = a end end |
#latitude ⇒ Object
612 613 614 |
# File 'lib/kamelopard/classes.rb', line 612 def latitude @point.nil? ? nil : @point.latitude end |
#latitude=(a) ⇒ Object
628 629 630 631 632 633 634 |
# File 'lib/kamelopard/classes.rb', line 628 def latitude=(a) if @point.nil? then @point = Point.new(0, a) else @point.latitude = a end end |
#longitude ⇒ Object
608 609 610 |
# File 'lib/kamelopard/classes.rb', line 608 def longitude @point.nil? ? nil : @point.longitude end |
#longitude=(a) ⇒ Object
620 621 622 623 624 625 626 |
# File 'lib/kamelopard/classes.rb', line 620 def longitude=(a) if @point.nil? then @point = Point.new(a, 0) else @point.longitude = a end end |
#to_kml(elem = nil) ⇒ Object
644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 |
# File 'lib/kamelopard/classes.rb', line 644 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
676 677 678 |
# File 'lib/kamelopard/classes.rb', line 676 def to_queries_txt(name = '', planet = 'earth') return "#{planet}@#{name}@flytoview=" + self.to_kml.to_s.gsub(/^\s+/, '').gsub("\n", '') end |