Class: Sketchup::ShadowInfo

Inherits:
Entity
  • Object
show all
Includes:
Enumerable

Overview

The ShadowInfo class contains method to extract the shadow information for a model. The majority of the shadow information returned exists in the Model Info > Location and Model Info > Shadows dialogs inside SketchUp.

The following shadow information keys are maintained in SketchUp:

  • City (in Model Info > Geo-location > Set Manual Location…) Note that 'City' is called 'Location' in the UI

  • Country (in Model Info > Geo-location > Set Manual Location…)

  • Dark (in Window > Shadows)

  • DayOfYear

  • DaylightSavings

  • DisplayNorth (in View > Toolbars > Solar North) Note that 'Toolbar' is called 'Tool Palettes' on Mac

  • DisplayOnAllFaces (in Window > Shadows)

  • DisplayOnGroundPlane (in Window > Shadows)

  • DisplayShadows (in Window > Shadows)

  • EdgesCastShadows (in Window > Shadows)

  • Latitude (in Model Info > Geo-location > Set Manual Location…)

  • Light (in Window > Shadows)

  • Longitude (in Model Info > Geo-location > Set Manual Location…)

  • North Angle (in View > Toolbars > Solar North) Note that 'Toolbar' is called 'Tool Palettes' on Mac

  • ShadowTime (in Window > Shadows)

  • ShadowTime_time_t (ShadowTime in Epoch time)

  • SunDirection (Generated based on ShadowTime)

  • SunRise (Generated based on ShadowTime)

  • SunRise_time_t (SunRise in Epoch time)

  • SunSet (Generated based on ShadowTime)

  • SunSet_time_t (SunSet in Epoch time)

  • TZOffset (in Window > Shadows)

  • UseSunForAllShading (in Window > Shadows)

You access the ShadowInfo object by calling Model.shadow_info:

Examples:

model = Sketchup.active_model
shadowinfo = model.shadow_info
UI.messagebox("My city is: " + shadowinfo["City"].to_s)

Version:

  • SketchUp 6.0

Class Method Summary # collapse

Instance Method Summary # collapse

Methods inherited from Entity

#attribute_dictionaries, #attribute_dictionary, #delete_attribute, #deleted?, #entityID, #get_attribute, #inspect, #model, #parent, #persistent_id, #set_attribute, #to_s, #typename, #valid?

Class Method Details

.each_key {|key| ... } ⇒ Object

The each_key method iterates through all of the shadow information keys.

Examples:

shadowinfo.each_key { |key| UI.messagebox(key) }

Yields:

  • (key)

    Variable to hold each key as they are found.

Returns:

  • nil

Version:

  • SketchUp 6.0

.keysObject

The keys method is a class method that returns an array with all of the attribute keys

Examples:

keys = Sketchup::ShadowInfo.keys

Returns:

  • keys - an array of keys

Version:

  • SketchUp 6.0

Instance Method Details

#[](key) ⇒ Object

The [] method retrieves a value from the array of keys

Examples:

value = shadowinfo["key"]

Returns value - the value that is retrieved.

Parameters:

  • key

    The key of the shadowinfo value to retrieve.

Returns:

  • value - the value that is retrieved.

Version:

  • SketchUp 6.0

#[]=(key, value) ⇒ Object

The set value []= method is used to set the value in the array of shadow info options.

Examples:

model = Sketchup.active_model
shadowinfo = model.shadow_info
value = shadowinfo["City"]
UI.messagebox value
value = shadowinfo["City"]="Denver, CO"
UI.messagebox value

Parameters:

  • key

    The key of the shadowinfo value to set.

  • value

    The value to be set.

Returns:

  • value - the value that was set if successful, or false if unsuccessful.

Version:

  • SketchUp 6.0

#add_observer(observer) ⇒ Object

The add_observer method is used to add an observer to the current object.

Examples:

status = object.add_observer observer

Returns true if successful, false if unsuccessful.

Parameters:

  • observer

    An observer.

Returns:

  • true if successful, false if unsuccessful.

Version:

  • SketchUp 6.0

#countObject

The count method is inherited from the Enumerable mix-in module.

Examples:

shadow_info = Sketchup.active_model.shadow_info
number = shadow_info.count

Returns:

  • integer

Version:

  • SketchUp 2014

#each {|key, value| ... } ⇒ nil

The #each method iterates through all of the shadow information key/value pairs.

Examples:

model = Sketchup.active_model
shadow_info = model.shadow_info
shadow_info.each { |key, value|
  puts "#{key} : #{value}"
}

Yields:

  • (key, value)

Yield Parameters:

Returns:

  • (nil)

See Also:

Version:

  • SketchUp 6.0

#each_key {|key| ... } ⇒ Object

The each_key method iterates through all of the shadow information keys.

Examples:

shadowinfo.each_key { |key| UI.messagebox(key) }

Yields:

  • (key)

    Variable to hold each key as they are found.

Returns:

  • nil

Version:

  • SketchUp 6.0

#each_pair {|key, value| ... } ⇒ nil

The ##each_pair method is an alias for #each.

Examples:

model = Sketchup.active_model
shadow_info = model.shadow_info
shadow_info.each_pair { |key, value|
  puts "#{key} : #{value}"
}

Yields:

  • (key, value)

Yield Parameters:

Returns:

  • (nil)

See Also:

Version:

  • SketchUp 6.0

#keysObject

The keys method is a class method that returns an array with all of the attribute keys

Examples:

keys = Sketchup::ShadowInfo.keys

Returns:

  • keys - an array of keys

Version:

  • SketchUp 6.0

#lengthInteger

The #length method returns the number of options in the shadow options collection

Examples:

shadow_info = Sketchup.active_model.shadow_info
number = shadow_info.length

Returns:

  • (Integer)

See Also:

Version:

  • SketchUp 2014

#remove_observer(observer) ⇒ Object

The remove_observer method is used to remove an observer from the current object.

Examples:

status = object.remove_observer observer

Returns true if successful, false if unsuccessful.

Parameters:

  • observer

    An observer.

Returns:

  • true if successful, false if unsuccessful.

Version:

  • SketchUp 6.0

#sizeInteger

The #size method is an alias for #length.

Examples:

shadow_info = Sketchup.active_model.shadow_info
number = shadow_info.size

Returns:

  • (Integer)

See Also:

Version:

  • SketchUp 2014