1. In openframeworks, create the following structures: Fill Stroke Line Circle Rectangle Path 2. Create set and print functions for each structure. e draw functions for each geometric construct; for example: void drawcircle(Circle circle, Fill fill, Stroke stroke) 4. To test your code, write a program to create data for an interesting and unique computational and algorithmic graphic. Make the graphic: (a) Parametric with some randomness so that every time you run the program, you generate a different graphic. (b) Interactive. The user can change parameters and affect the graphic. (c) Use dynamic allocation. Note: All data should be generated in the setup () function and modified in the update() function. The draw() function just call the draw functions and does not create any data. Hints: 1. Define your structures and do your typedefs in ofApp.h, right below the include statement and before the class statement. 2. Attach each function that you write to the ofApp class by doing the following: (a) List the prototype of the function in ofApp.h inside the class statement, right above the statement: void setup ) (b) In ofApp.cpp, define your function with the following syntax: prefix your function name with ofApp:: The code below shows how to set things up. 1. In openframeworks, create the following structures: Fill Stroke Line Circle Rectangle Path 2. Create set and print functions for each structure. e draw functions for each geometric construct; for example: void drawcircle(Circle circle, Fill fill, Stroke stroke) 4. To test your code, write a program to create data for an interesting and unique computational and algorithmic graphic. Make the graphic: (a) Parametric with some randomness so that every time you run the program, you generate a different graphic. (b) Interactive. The user can change parameters and affect the graphic. (c) Use dynamic allocation. Note: All data should be generated in the setup () function and modified in the update() function. The draw() function just call the draw functions and does not create any data. Hints: 1. Define your structures and do your typedefs in ofApp.h, right below the include statement and before the class statement. 2. Attach each function that you write to the ofApp class by doing the following: (a) List the prototype of the function in ofApp.h inside the class statement, right above the statement: void setup ) (b) In ofApp.cpp, define your function with the following syntax: prefix your function name with ofApp:: The code below shows how to set things up