int main (int, char**) { Point_set point_set; // Add points point_set.insert (Point (0., 0., 0.)); point_set.insert (Point (0., 0., 1.)); point_set.insert (Point (0., 1., 0.)); point_set.add_normal_map(); print_point_set(point_set); // Normals have default values // Change normal values Point_set::iterator it = point_set.begin(); point_set.normal(*(it++)) = Vector (1., 0., 0.); point_set.normal(*(it++)) = Vector (0., 1., 0.); point_set.normal(*(it++)) = Vector (0., 0., 1.); // Add point + normal point_set.insert (Point (1., 2., 3.), Vector (4., 5., 6.)); print_point_set(point_set); // Add new item Point_set::iterator new_item = point_set.insert(Point (7., 8., 9.)); point_set.normal(*new_item) = Vector (10., 11., 12.); print_point_set(point_set); // New item has default values point_set.remove (point_set.begin() + 2, point_set.begin() + 4); print_point_set(point_set); // New item has default values // Display information std::cerr << "Number of removed points: " <<point_set.number_of_removed_points() << std::endl; point_set.collect_garbage(); // Display information (garbage should be gone) std::cerr << "After garbage collection: " <<point_set.number_of_removed_points() << std::endl; return 0; }
int restore_bg(int x , int y) { int i; int j; for (j = 0; j < C_H; j++) { for (i = 0; i < C_W; i++) { print_point_set(x+i,y+j,bg[i+j*C_W]); } } return 0; }
int draw_cursor(int x, int y) { int i = 0; int j = 0; save_bg(x,y); for (j = 0; j < C_H; j++) { for (i = 0; i < C_W; i++) { print_point_set(x+i,y+j,cursor_pixel[i+j*C_W]); } } return 0; }