| lab_inheritance
    Insidious Inheritance | 
A subclass of a Shape that represents a triangle in 2D space. More...
#include <triangle.h>
| Public Member Functions | |
| Triangle (const cs225::HSLAPixel &color, const Vector2 &vertex1, const Vector2 &vertex2, const Vector2 &vertex3) | |
| Constructs a new Triangle out of the 3 give Vector2s.  More... | |
| Triangle (const Triangle &other) | |
| ~Triangle () | |
| Triangle & | operator= (const Triangle &rhs) | 
| int | area () const | 
| Computes and returns the area of the Triangle.  More... | |
| int | perimeter () const | 
| Computes and returns the perimeter of the Triangle.  More... | |
| bool | contains (const Vector2 &p) const | 
| Checks to see if the Vector2 p is contained inside of the Triangle.  More... | |
| void | draw (cs225::PNG *canvas) const | 
| Draws the Triangle to the canvas.  More... | |
| void | set_center (const Vector2 ¢er) | 
| Overridden set_center method that sets the center Vector2 of the Triangle.  More... | |
| Vector2 | vertex (int i) const | 
| Gets one of the Triangle's vertices.  More... | |
| void | set_vertex (int i, const Vector2 &value) | 
| Sets one of the Triangle's vertices.  More... | |
|  Public Member Functions inherited from Shape | |
| Shape () | |
| Constructs a new Shape with a default color and center.  More... | |
| Shape (const Vector2 ¢er, const cs225::HSLAPixel &color) | |
| Constructs a new Shape with the given center and color.  More... | |
| ~Shape () | |
| int | area () const | 
| Computes and returns the area of the Shape in pixels.  More... | |
| int | perimeter () const | 
| Computes and returns the perimeter of the Shape in pixels.  More... | |
| bool | contains (const Vector2 &p) const | 
| Checks to see if the Vector2 p is contained inside of the Shape.  More... | |
| Vector2 | center () const | 
| Gets the center Vector2 of the Shape.  More... | |
| cs225::HSLAPixel | color () const | 
| Gets the color of the Shape.  More... | |
|  Public Member Functions inherited from Drawable | |
| ~Drawable () | |
| Private Attributes | |
| Vector2 ** | vertices_ | 
| Additional Inherited Members | |
|  Protected Attributes inherited from Shape | |
| Vector2 | center_ | 
A subclass of a Shape that represents a triangle in 2D space.
| Triangle::Triangle | ( | const cs225::HSLAPixel & | color, | 
| const Vector2 & | vertex1, | ||
| const Vector2 & | vertex2, | ||
| const Vector2 & | vertex3 | ||
| ) | 
| Triangle::Triangle | ( | const Triangle & | other | ) | 
| Triangle::~Triangle | ( | ) | 
| int Triangle::area | ( | ) | const | 
| bool Triangle::contains | ( | const Vector2 & | p | ) | const | 
| 
 | virtual | 
| int Triangle::perimeter | ( | ) | const | 
| 
 | virtual | 
| void Triangle::set_vertex | ( | int | i, | 
| const Vector2 & | value | ||
| ) | 
Sets one of the Triangle's vertices.
Crashes if an invalid vertex index is given (i.e. i < 0 or i > 2)
| i | the vertex to change | 
| value | the new vertex | 
| Vector2 Triangle::vertex | ( | int | i | ) | const | 
| 
 | private |