Class: CrystalScad::AdvancedPrimitive

Inherits:
Primitive show all
Defined in:
lib/crystalscad/CrystalScad.rb

Direct Known Subclasses

Text

Instance Attribute Summary

Attributes inherited from Primitive

#children

Attributes inherited from CrystalScadObject

#args, #transformations

Instance Method Summary collapse

Methods inherited from Primitive

#mirror, #rotate, #rotate_around, #scale, #transform, #translate, #union

Methods inherited from CrystalScadObject

#method_missing, #save, #walk_tree, #walk_tree_classes

Constructor Details

#initialize(attributes) ⇒ AdvancedPrimitive

Returns a new instance of AdvancedPrimitive.



256
257
258
259
# File 'lib/crystalscad/CrystalScad.rb', line 256

def initialize(attributes)
  @attr = attributes.collect { |k, v| "#{k} = \"#{v}\"" }.join(', ')
  super
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class CrystalScad::CrystalScadObject

Instance Method Details

#to_rubyscadObject



261
262
263
# File 'lib/crystalscad/CrystalScad.rb', line 261

def to_rubyscad
  "#{@operation}(#{@attr});"
end