Class: Kamelopard::Tour

Inherits:
Object
  • Object
show all
Defined in:
lib/kamelopard/classes.rb

Overview

Corresponds to a KML gx:Tour object

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?, parse

Constructor Details

#initialize(name = nil, description = nil, no_wait = false) ⇒ Tour

Returns a new instance of Tour.



1996
1997
1998
1999
2000
2001
2002
2003
# File 'lib/kamelopard/classes.rb', line 1996

def initialize(name = nil, description = nil, no_wait = false)
    super()
    @name = name
    @description = description
    @playlist = []
    DocumentHolder.instance.current_document.tours << self
    Wait.new(0.1, :comment => "This wait is automatic, and helps prevent animation glitches") unless no_wait
end

Instance Attribute Details

#descriptionObject

Returns the value of attribute description.



1994
1995
1996
# File 'lib/kamelopard/classes.rb', line 1994

def description
  @description
end

#iconObject

Returns the value of attribute icon.



1994
1995
1996
# File 'lib/kamelopard/classes.rb', line 1994

def icon
  @icon
end

#last_abs_viewObject

Returns the value of attribute last_abs_view.



1994
1995
1996
# File 'lib/kamelopard/classes.rb', line 1994

def last_abs_view
  @last_abs_view
end

#nameObject

Returns the value of attribute name.



1994
1995
1996
# File 'lib/kamelopard/classes.rb', line 1994

def name
  @name
end

#playlistObject

Returns the value of attribute playlist.



1994
1995
1996
# File 'lib/kamelopard/classes.rb', line 1994

def playlist
  @playlist
end

Instance Method Details

#<<(a) ⇒ Object

Add another element to this Tour



2006
2007
2008
2009
# File 'lib/kamelopard/classes.rb', line 2006

def <<(a)
    @playlist << a
    @last_abs_view = a.view if a.kind_of? FlyTo
end

#to_kml(elem = nil) ⇒ Object



2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
# File 'lib/kamelopard/classes.rb', line 2011

def to_kml(elem = nil)
    k = XML::Node.new 'gx:Tour'
    super k
    Kamelopard.kml_array(k, [
        [ @name, 'name' ],
        [ @description, 'description' ],
    ])
    p = XML::Node.new 'gx:Playlist'
    @playlist.map do |a| a.to_kml p end
    k << p
    elem << k unless elem.nil?
    k
end