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.
505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 |
# File 'lib/kamelopard/classes.rb', line 505 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.
502 503 504 |
# File 'lib/kamelopard/classes.rb', line 502 def altitudeMode @altitudeMode end |
#className ⇒ Object (readonly)
Returns the value of attribute className.
503 504 505 |
# File 'lib/kamelopard/classes.rb', line 503 def className @className end |
#heading ⇒ Object
Returns the value of attribute heading.
502 503 504 |
# File 'lib/kamelopard/classes.rb', line 502 def heading @heading end |
#point ⇒ Object
Returns the value of attribute point.
503 504 505 |
# File 'lib/kamelopard/classes.rb', line 503 def point @point end |
#range ⇒ Object
Returns the value of attribute range.
502 503 504 |
# File 'lib/kamelopard/classes.rb', line 502 def range @range end |
#roll ⇒ Object
Returns the value of attribute roll.
502 503 504 |
# File 'lib/kamelopard/classes.rb', line 502 def roll @roll end |
#tilt ⇒ Object
Returns the value of attribute tilt.
502 503 504 |
# File 'lib/kamelopard/classes.rb', line 502 def tilt @tilt end |
#timespan ⇒ Object
Returns the value of attribute timespan.
502 503 504 |
# File 'lib/kamelopard/classes.rb', line 502 def timespan @timespan end |
#timestamp ⇒ Object
Returns the value of attribute timestamp.
502 503 504 |
# File 'lib/kamelopard/classes.rb', line 502 def @timestamp end |
#viewerOptions ⇒ Object
Returns the value of attribute viewerOptions.
502 503 504 |
# File 'lib/kamelopard/classes.rb', line 502 def viewerOptions @viewerOptions end |
Instance Method Details
#[](a) ⇒ Object
606 607 608 |
# File 'lib/kamelopard/classes.rb', line 606 def [](a) return @viewerOptions[a] end |
#[]=(a, b) ⇒ Object
610 611 612 613 614 615 616 617 618 |
# File 'lib/kamelopard/classes.rb', line 610 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
542 543 544 |
# File 'lib/kamelopard/classes.rb', line 542 def altitude @point.nil? ? nil : @point.altitude end |
#altitude=(a) ⇒ Object
562 563 564 565 566 567 568 |
# File 'lib/kamelopard/classes.rb', line 562 def altitude=(a) if @point.nil? then @point = Point.new(0, 0, a) else @point.altitude = a end end |
#latitude ⇒ Object
538 539 540 |
# File 'lib/kamelopard/classes.rb', line 538 def latitude @point.nil? ? nil : @point.latitude end |
#latitude=(a) ⇒ Object
554 555 556 557 558 559 560 |
# File 'lib/kamelopard/classes.rb', line 554 def latitude=(a) if @point.nil? then @point = Point.new(0, a) else @point.latitude = a end end |
#longitude ⇒ Object
534 535 536 |
# File 'lib/kamelopard/classes.rb', line 534 def longitude @point.nil? ? nil : @point.longitude end |
#longitude=(a) ⇒ Object
546 547 548 549 550 551 552 |
# File 'lib/kamelopard/classes.rb', line 546 def longitude=(a) if @point.nil? then @point = Point.new(a, 0) else @point.longitude = a end end |
#to_kml(elem = nil) ⇒ Object
570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 |
# File 'lib/kamelopard/classes.rb', line 570 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
602 603 604 |
# File 'lib/kamelopard/classes.rb', line 602 def to_queries_txt(name = '', planet = 'earth') return "#{planet}@#{name}@flytoview=" + self.to_kml.to_s.gsub(/^\s+/, '').gsub("\n", '') end |