63 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
		
		
			
		
	
	
			63 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Python
		
	
	
| 
								 | 
							
								import pybind_wrapper_test as pwt
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								p2 = pwt.sub.Point2(10, 20)
							 | 
						||
| 
								 | 
							
								print(p2.sum())
							 | 
						||
| 
								 | 
							
								print(p2.func_with_default_args(10))
							 | 
						||
| 
								 | 
							
								print(p2.func_with_default_args(10, 10))
							 | 
						||
| 
								 | 
							
								p2.print_("test print")
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								p22 = pwt.sub.Point2(10)
							 | 
						||
| 
								 | 
							
								print(p22.y())
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								p3 = pwt.Point3(10, 20, 30)
							 | 
						||
| 
								 | 
							
								print(p3.sum())
							 | 
						||
| 
								 | 
							
								print(p3.x(to_add=100))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								print(pwt.global_func_on_base(p2))
							 | 
						||
| 
								 | 
							
								print(pwt.global_func_on_base(p3))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Test template class.
							 | 
						||
| 
								 | 
							
								# Construct with POINT
							 | 
						||
| 
								 | 
							
								template_p2 = pwt.TemplatePoint2(p2)
							 | 
						||
| 
								 | 
							
								print(template_p2.overload())
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								template_p3 = pwt.TemplatePoint3(p3)
							 | 
						||
| 
								 | 
							
								print(template_p3.overload())
							 | 
						||
| 
								 | 
							
								print(template_p3.overload(p3))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Construct with This
							 | 
						||
| 
								 | 
							
								template_p3_copy = pwt.TemplatePoint3(template_p3)
							 | 
						||
| 
								 | 
							
								print(template_p3_copy.overload())
							 | 
						||
| 
								 | 
							
								print(template_p3.overload(template_p3_copy))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Function of template type.
							 | 
						||
| 
								 | 
							
								ret_p3 = template_p3.method_on_template_type(p3)
							 | 
						||
| 
								 | 
							
								print(ret_p3.z())
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Function of This class type.
							 | 
						||
| 
								 | 
							
								this = template_p3.method_on_this(p3)
							 | 
						||
| 
								 | 
							
								print(this.method_on_template_type(p3).sum())
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Static function.
							 | 
						||
| 
								 | 
							
								another_this = pwt.TemplatePoint2.static_method(other=template_p2, dummy=0.0)
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Template function of other POINT type.
							 | 
						||
| 
								 | 
							
								print(another_this.template_methodPoint3(p3))
							 | 
						||
| 
								 | 
							
								print(another_this.template_methodPoint2(p2))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Typedef template instantiation.
							 | 
						||
| 
								 | 
							
								inst = pwt.Template2Point2Point3Instantiation(p2, p3)
							 | 
						||
| 
								 | 
							
								inst.property_t1 = pwt.sub.Point2(100)
							 | 
						||
| 
								 | 
							
								print("inst overload: ", inst.sum_x())
							 | 
						||
| 
								 | 
							
								print(inst.sum_x(p2))
							 | 
						||
| 
								 | 
							
								print(inst.sum_x(p3))
							 | 
						||
| 
								 | 
							
								print(inst.sum_x(p2, p3))
							 | 
						||
| 
								 | 
							
								print(inst.property_t1.sum())
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# Properties
							 | 
						||
| 
								 | 
							
								p4 = pwt.sub2.Point4(p2, 30, 40)
							 | 
						||
| 
								 | 
							
								print(p4.p.sum())
							 | 
						||
| 
								 | 
							
								print(p4.sum())
							 | 
						||
| 
								 | 
							
								p4.z = 40
							 | 
						||
| 
								 | 
							
								print(p4.sum())
							 |