Difference between revisions of "Render Part B Assignment"

From CSE425S Wiki
Jump to navigation Jump to search
Line 8: Line 8:
  
 
=Code to Implement=
 
=Code to Implement=
==class Transform==
+
==Transform==
  
 
superclass: Object
 
superclass: Object
  
==class Image==
+
==Image==
 
[[Render_Part_A_Assignment#Image|from Part A]]
 
[[Render_Part_A_Assignment#Image|from Part A]]
  
 
superclass: Transform
 
superclass: Transform
  
==class ColorTransform==
+
==ColorTransform==
  
 
superclass: Transform
 
superclass: Transform
  
==class Text==
+
==Text==
 
[[Render_Part_A_Assignment#Text|from Part A]]
 
[[Render_Part_A_Assignment#Text|from Part A]]
  
 
superclass: ColorTransform
 
superclass: ColorTransform
  
==class Ellipse==
+
==Ellipse==
 +
[[Render_Part_A_Assignment#Ellipse|from Part A]]
  
 
superclass: ColorTransform
 
superclass: ColorTransform
  
==class EquilateralTriangle==
+
==EquilateralTriangle==
 +
[[Render_Part_A_Assignment#EquilateralTriangle|from Part A]]
  
 
superclass: ColorTransform
 
superclass: ColorTransform
  
==class BezierCurve==
+
==BezierCurve==
 +
[[Render_Part_A_Assignment#B.C3.A9zier_Curve|from Part A]]
  
 
superclass: ColorTransform
 
superclass: ColorTransform
  
==class Chord==
+
==Chord==
 +
[[Render_Part_A_Assignment#Chord|from Part A]]
  
 
superclass: ColorTransform
 
superclass: ColorTransform
  
==class Rectangle==
+
==Rectangle==
 +
[[Render_Part_A_Assignment#Rectangle|from Part A]]
  
 
superclass: ColorTransform
 
superclass: ColorTransform
  
==class CompositeTransform==
+
==CompositeTransform==
  
 
superclass: Transform
 
superclass: Transform

Revision as of 05:40, 15 July 2019

In this studio we will evolve our code from Render_Part_A_Assignment to leverage class hierarchies.

File:Part b class hierarchy.png

Continue editing files in the render/assignment directory.

In this studio, we will have parameters for which explicitly passed arguments are not required (for convenience and backwards compatibility). We will prefer keyword arguments over optional arguments.

Code to Implement

Transform

superclass: Object

Image

from Part A

superclass: Transform

ColorTransform

superclass: Transform

Text

from Part A

superclass: ColorTransform

Ellipse

from Part A

superclass: ColorTransform

EquilateralTriangle

from Part A

superclass: ColorTransform

BezierCurve

from Part A

superclass: ColorTransform

Chord

from Part A

superclass: ColorTransform

Rectangle

from Part A

superclass: ColorTransform

CompositeTransform

superclass: Transform

class Scene

superclass: Object

Testing Your Solution

Unit Testing

ruby/render/part_b_test/part_b_unit_test.rb

Visual Comparison

ruby/render/part_b_test/part_b_test_snapshots_web_page_generator.rb