mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 20:21:12 -06:00 
			
		
		
		
	Fix destructors
This commit is contained in:
		
							parent
							
								
									b66a796f0b
								
							
						
					
					
						commit
						f4db7625bc
					
				
					 3 changed files with 9 additions and 7 deletions
				
			
		|  | @ -21,21 +21,20 @@ class ExPolygon | |||
|     SV* arrayref(); | ||||
| }; | ||||
| 
 | ||||
| Polygon* | ||||
| perl2polygon(SV* poly_sv) | ||||
| void | ||||
| perl2polygon(SV* poly_sv, Polygon& poly) | ||||
| { | ||||
|     AV* poly_av = (AV*)SvRV(poly_sv); | ||||
|     const unsigned int num_points = av_len(poly_av)+1; | ||||
|     Polygon* retval = new Polygon(num_points); | ||||
|     poly.resize(num_points); | ||||
|      | ||||
|     for (unsigned int i = 0; i < num_points; i++) { | ||||
|         SV** point_sv = av_fetch(poly_av, i, 0); | ||||
|         AV*  point_av = (AV*)SvRV(*point_sv); | ||||
|         Point& p = (*retval)[i]; | ||||
|         Point& p = poly[i]; | ||||
|         p.x = (unsigned long)SvIV(*av_fetch(point_av, 0, 0)); | ||||
|         p.y = (unsigned long)SvIV(*av_fetch(point_av, 1, 0)); | ||||
|     } | ||||
|     return retval; | ||||
| } | ||||
| 
 | ||||
| SV* | ||||
|  |  | |||
|  | @ -6,6 +6,7 @@ | |||
| %} | ||||
| 
 | ||||
| %name{Slic3r::ExPolygon::XS} class ExPolygon { | ||||
|     ~ExPolygon(); | ||||
| %{ | ||||
| 
 | ||||
| ExPolygon* | ||||
|  | @ -13,9 +14,10 @@ ExPolygon::new(...) | |||
|     CODE: | ||||
|         RETVAL = new ExPolygon (); | ||||
|         // ST(0) is class name, ST(1) is contour and others are holes | ||||
|         RETVAL->contour = *perl2polygon(ST(1)); | ||||
|         perl2polygon(ST(1), RETVAL->contour); | ||||
|         RETVAL->holes.resize(items-2); | ||||
|         for (unsigned int i = 2; i < items; i++) { | ||||
|             RETVAL->holes.push_back(*perl2polygon(ST(i))); | ||||
|             perl2polygon(ST(i), RETVAL->holes[i-2]); | ||||
|         } | ||||
|     OUTPUT: | ||||
|         RETVAL | ||||
|  |  | |||
|  | @ -7,6 +7,7 @@ | |||
| 
 | ||||
| %name{Slic3r::Point::XS} class Point { | ||||
|     Point(unsigned long _x = 0, unsigned long _y = 0); | ||||
|     ~Point(); | ||||
| %{ | ||||
| 
 | ||||
| SV* | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Alessandro Ranellucci
						Alessandro Ranellucci