2008-08-01 02:15:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# include  "BPy_FrsCurve.h" 
  
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "../BPy_Convert.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "../BPy_Id.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "../Interface0D/BPy_CurvePoint.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# include  "../Interface0D/BPy_SVertex.h" 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# ifdef __cplusplus 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								extern  " C "  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# endif 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								///////////////////////////////////////////////////////////////////////////////////////////
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-08-01 02:15:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/*---------------  Python API function prototypes for FrsCurve instance  -----------*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  int  FrsCurve___init__ ( BPy_FrsCurve  * self ,  PyObject  * args ,  PyObject  * kwds ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  *  FrsCurve_push_vertex_back (  BPy_FrsCurve  * self ,  PyObject  * args  ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  *  FrsCurve_push_vertex_front (  BPy_FrsCurve  * self ,  PyObject  * args  ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  *  FrsCurve_empty (  BPy_FrsCurve  * self  ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  *  FrsCurve_nSegments (  BPy_FrsCurve  * self  ) ;  
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// point_iterator 	points_begin (float step=0)
  
						 
					
						
							
								
									
										
										
										
											2008-08-01 02:15:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								static  PyObject  *  FrsCurve_verticesBegin (  BPy_FrsCurve  * self  ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  *  FrsCurve_verticesEnd (  BPy_FrsCurve  * self  ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  *  FrsCurve_pointsBegin (  BPy_FrsCurve  * self ,  PyObject  * args  ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyObject  *  FrsCurve_pointsEnd (  BPy_FrsCurve  * self ,  PyObject  * args  ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								/*----------------------FrsCurve instance definitions ----------------------------*/  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								static  PyMethodDef  BPy_FrsCurve_methods [ ]  =  { 	 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ " push_vertex_back " ,  (  PyCFunction  )  FrsCurve_push_vertex_back ,  METH_VARARGS ,  " (CurvePoint cp | SVertex sv) Adds a single vertex at the front of the Curve. " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ " push_vertex_front " ,  (  PyCFunction  )  FrsCurve_push_vertex_front ,  METH_VARARGS ,  " (CurvePoint cp | SVertex sv) Adds a single vertex at the end of the Curve. " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ " empty " ,  (  PyCFunction  )  FrsCurve_empty ,  METH_NOARGS ,  " () Returns true is the Curve doesn't have any Vertex yet. " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ " nSegments " ,  (  PyCFunction  )  FrsCurve_nSegments ,  METH_NOARGS ,  " () Returns the number of segments in the oplyline constituing the Curve. " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ " verticesBegin " ,  (  PyCFunction  )  FrsCurve_verticesBegin ,  METH_NOARGS ,  " () Returns an Interface0DIterator pointing onto the first vertex of the Curve and that can iterate over the vertices of the Curve. " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ " verticesEnd " ,  (  PyCFunction  )  FrsCurve_verticesEnd ,  METH_NOARGS ,  " () Returns an Interface0DIterator pointing after the last vertex of the Curve and that can iterate over the vertices of the Curve. " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ " pointsBegin " ,  (  PyCFunction  )  FrsCurve_pointsBegin ,  METH_VARARGS ,  " (float t=0) Returns an Interface0DIterator pointing onto the first point of the Curve and that can iterate over the points of the Curve at any resolution t. At each iteration a virtual temporary CurvePoint is created. " } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									{ " pointsEnd " ,  (  PyCFunction  )  FrsCurve_pointsEnd ,  METH_VARARGS ,  " (float t=0) Returns an Interface0DIterator pointing after the last point of the Curve and that can iterate over the points of the Curve at any resolution t. At each iteration a virtual temporary CurvePoint is created. " } , 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									{ NULL ,  NULL ,  0 ,  NULL } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-08-01 02:15:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/*-----------------------BPy_FrsCurve type definition ------------------------------*/  
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-08-01 02:15:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								PyTypeObject  FrsCurve_Type  =  {  
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									PyObject_HEAD_INIT (  NULL  )  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									0 , 							/* ob_size */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-08-01 02:15:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									" FrsCurve " , 				/* tp_name */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									sizeof (  BPy_FrsCurve  ) , 	/* tp_basicsize */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									0 , 							/* tp_itemsize */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* methods */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL , 	/* tp_dealloc */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        				/* printfunc tp_print; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        				/* getattrfunc tp_getattr; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        				/* setattrfunc tp_setattr; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL , 										/* tp_compare */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL , 					/* tp_repr */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* Method suites for standard classes */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* PyNumberMethods *tp_as_number; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* PySequenceMethods *tp_as_sequence; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* PyMappingMethods *tp_as_mapping; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* More standard operations (here for binary compatibility) */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL , 						/* hashfunc tp_hash; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* ternaryfunc tp_call; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* reprfunc tp_str; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* getattrofunc tp_getattro; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* setattrofunc tp_setattro; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* Functions to access object as input/output buffer */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* PyBufferProcs *tp_as_buffer; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /*** Flags to define presence of optional/expanded features ***/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Py_TPFLAGS_DEFAULT  |  Py_TPFLAGS_BASETYPE ,  		/* long tp_flags; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /*  char *tp_doc;  Documentation string */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /*** Assigned meaning in release 2.0 ***/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* call function for all accessible objects */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* traverseproc tp_traverse; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* delete references to contained objects */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* inquiry tp_clear; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /***  Assigned meaning in release 2.1 ***/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /*** rich comparisons ***/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* richcmpfunc tp_richcompare; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /***  weak reference enabler ***/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									0 ,                           /* long tp_weaklistoffset; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /*** Added in release 2.2 ***/ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*   Iterators */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* getiterfunc tp_iter; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* iternextfunc tp_iternext; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  /*** Attribute descriptor and subclassing stuff ***/ 
							 
						 
					
						
							
								
									
										
										
										
											2008-08-01 02:15:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									BPy_FrsCurve_methods , 	/* struct PyMethodDef *tp_methods; */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									NULL ,                        	/* struct PyMemberDef *tp_members; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,          					/* struct PyGetSetDef *tp_getset; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									& Interface1D_Type , 				/* struct _typeobject *tp_base; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL , 							/* PyObject *tp_dict; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL , 							/* descrgetfunc tp_descr_get; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL , 							/* descrsetfunc tp_descr_set; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									0 ,                           	/* long tp_dictoffset; */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-08-01 02:15:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									( initproc ) FrsCurve___init__ ,                        	/* initproc tp_init; */ 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									NULL , 							/* allocfunc tp_alloc; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL , 		/* newfunc tp_new; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/*  Low-level free-memory routine */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* freefunc tp_free;  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* For PyObject_IS_GC */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* inquiry tp_is_gc;  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* PyObject *tp_bases; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									/* method resolution order */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* PyObject *tp_mro;  */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* PyObject *tp_cache; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* PyObject *tp_subclasses; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL ,                        /* PyObject *tp_weaklist; */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									NULL 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								} ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//-------------------MODULE INITIALIZATION--------------------------------
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								//------------------------INSTANCE METHODS ----------------------------------
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
									
										
										
										
											2008-08-01 02:15:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								int  FrsCurve___init__ ( BPy_FrsCurve  * self ,  PyObject  * args ,  PyObject  * kwds )  
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								{  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									PyObject  * obj  =  0 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    if  ( !  PyArg_ParseTuple ( args ,  " |O " ,  & obj )  ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        return  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									if (  ! obj  ) { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										self - > c  =  new  Curve ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										
							 
						 
					
						
							
								
									
										
										
										
											2008-08-01 02:15:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									}  else  if (  BPy_FrsCurve_Check ( obj )  )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-03-29 21:50:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										self - > c  =  new  Curve ( * (  ( ( BPy_FrsCurve  * )  obj ) - > c  ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									}  else  if (  BPy_Id_Check ( obj )  )  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-03-29 21:50:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										self - > c  =  new  Curve ( * (  ( ( BPy_Id  * )  obj ) - > id  ) ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
											
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									}  else  { 
							 
						 
					
						
							
								
									
										
										
										
											2009-03-29 21:50:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										PyErr_SetString ( PyExc_TypeError ,  " invalid argument " ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
										return  - 1 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									self - > py_if1D . if1D  =  self - > c ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									return  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-08-01 02:15:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								PyObject  *  FrsCurve_push_vertex_back (  BPy_FrsCurve  * self ,  PyObject  * args  )  {  
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									PyObject  * obj ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-03-29 21:50:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if ( ! (  PyArg_ParseTuple ( args ,  " O " ,  & obj )  ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  NULL ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if (  BPy_CurvePoint_Check ( obj )  )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										self - > c - > push_vertex_back (  ( ( BPy_CurvePoint  * )  obj ) - > cp  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									}  else  if (  BPy_SVertex_Check ( obj )  )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										self - > c - > push_vertex_back (  ( ( BPy_SVertex  * )  obj ) - > sv  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-03-29 21:50:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										PyErr_SetString ( PyExc_TypeError ,  " invalid argument " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  NULL ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Py_RETURN_NONE ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-08-01 02:15:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								PyObject  *  FrsCurve_push_vertex_front (  BPy_FrsCurve  * self ,  PyObject  * args  )  {  
						 
					
						
							
								
									
										
										
										
											2009-03-29 21:50:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									PyObject  * obj ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-03-29 21:50:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if ( ! (  PyArg_ParseTuple ( args ,  " O " ,  & obj )  ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  NULL ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-03-29 21:50:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if (  BPy_CurvePoint_Check ( obj )  )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										self - > c - > push_vertex_front (  ( ( BPy_CurvePoint  * )  obj ) - > cp  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									}  else  if (  BPy_SVertex_Check ( obj )  )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										self - > c - > push_vertex_front (  ( ( BPy_SVertex  * )  obj ) - > sv  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									}  else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										PyErr_SetString ( PyExc_TypeError ,  " invalid argument " ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  NULL ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									} 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-03-29 21:50:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Py_RETURN_NONE ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-08-01 02:15:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								PyObject  *  FrsCurve_empty (  BPy_FrsCurve  * self  )  {  
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									return  PyBool_from_bool (  self - > c - > empty ( )  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-08-01 02:15:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								PyObject  *  FrsCurve_nSegments (  BPy_FrsCurve  * self  )  {  
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									return  PyInt_FromLong (  self - > c - > nSegments ( )  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								// point_iterator 	points_begin (float step=0)
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								// not implemented
  
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-08-01 02:15:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								PyObject  *  FrsCurve_verticesBegin (  BPy_FrsCurve  * self  )  {  
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Interface0DIterator  if0D_it (  self - > c - > verticesBegin ( )  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  BPy_Interface0DIterator_from_Interface0DIterator (  if0D_it  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-08-01 02:15:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								PyObject  *  FrsCurve_verticesEnd (  BPy_FrsCurve  * self  )  {  
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									Interface0DIterator  if0D_it (  self - > c - > verticesEnd ( )  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  BPy_Interface0DIterator_from_Interface0DIterator (  if0D_it  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-08-01 02:15:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								PyObject  *  FrsCurve_pointsBegin (  BPy_FrsCurve  * self ,  PyObject  * args  )  {  
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  f  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-03-29 21:50:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if ( ! (  PyArg_ParseTuple ( args ,  " |f " ,  & f )   ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  NULL ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Interface0DIterator  if0D_it (  self - > c - > pointsBegin ( f )  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  BPy_Interface0DIterator_from_Interface0DIterator (  if0D_it  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-08-01 02:15:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								PyObject  *  FrsCurve_pointsEnd (  BPy_FrsCurve  * self ,  PyObject  * args  )  {  
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									float  f  =  0 ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-03-29 21:50:10 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									if ( ! (  PyArg_ParseTuple ( args ,  " |f " ,  & f )   ) ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										return  NULL ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									Interface0DIterator  if0D_it (  self - > c - > pointsEnd ( f )  ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									return  BPy_Interface0DIterator_from_Interface0DIterator (  if0D_it  ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								///////////////////////////////////////////////////////////////////////////////////////////
  
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# ifdef __cplusplus 
  
						 
					
						
							
								
									
										
										
										
											2008-07-09 08:24:13 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2008-07-25 02:18:02 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# endif