Difference between revisions of "Render Part C Assignment"

From CSE425S Wiki
Jump to navigation Jump to search
Line 23: Line 23:
  
 
:up corresponds to translating along the positive y axis
 
:up corresponds to translating along the positive y axis
 +
 +
any other value for direction should raise an [https://ruby-doc.org/core-2.5.0/ArgumentError.html ArgumentError].
  
 
===calculate_bounds===
 
===calculate_bounds===

Revision as of 02:38, 19 July 2019

In this studio we will evolve our code from Render_Part_B_Assignment to add new methods and a new class.

Render part c class hierarchy.svg

Continue editing files in the render/assignment directory.

Code to Implement

Transform

move

the move method will accept two parameters: direction and amount.

direction can be one of four symbols

:left
:right
:up
:down
left corresponds to translating along the negative x axis
right corresponds to translating along the positive x axis
down corresponds to translating along the negative y axis
up corresponds to translating along the positive y axis

any other value for direction should raise an ArgumentError.

calculate_bounds

Rectangle

calculate_local_bounds

BezierCurve, Chord, Ellipse, EquilateralTriangle, Image, Text

Imagine what it would be like to define calculate_local_bounds for each of these classes.

CompositeTransform

calculate_local_bounds

Scene

calculate_bounds

ConvexPolygon

render_transformed

calculate_local_bounds