X ("x("__text__TEXTEx$__data__DATAP((__cstring__TEXT0y __compact_unwind__LD(!) __eh_frame__TEXT0 " h2  @*4- P &UHH=H5HH uHH=H]ÐUH]fDUHSPHH=H5HH uHH=H5~HHt H tH[]H=H[]fUHAVSH0HuHRHEЋFEHEHEH}ȃuoHutqH]H=HAt1H=!HtH=$Ht HLcHuL1H0[A^]f.@UHAWAVSH(HuHHED~D}HG]ԉ]؅yHHLw(HEMA)AuhHuH}}L}tlH=LAtbH=LtOH=Ltz<@f.u*z(Hf.uzPf.u{'HuHH HHHH H H;MUHAWAVSHXHHHEHHHD~DHGyHH5Lw(MA)HAHuHHuHH HEHE(E)E(E)`HEHp(( (0(@))))HPHtZHuHUHL\1H H H;MHX[A^A_]E1MIHuHUHLEf.EuzEf.EuzEf.Eu{!HuHHU1Ef.`u$z"Ef.huzEf.pu{$HuHHUf.f. f.uzzx(f.ufzd0f.uRzP8f.u>z<@f.u*z(Hf.uzPf.u{'HuHH HH H H;MJHDXabf[hYcDQvtkParametricFigure8KleinvtkCommonComputationalGeometryPython.vtkParametricFigure8KleinvtkParametricFigure8Klein - Generate a figure-8 Klein bottle. Superclass: vtkParametricFunction vtkParametricFigure8Klein generates a figure-8 Klein bottle. A Klein bottle is a closed surface with no interior and only one surface. It is unrealisable in 3 dimensions without intersecting surfaces. It can be realised in 4 dimensions by considering the map $F:R^2 \rightarrow R^4 $ given by: - $f(u,v) = ((r*cos(v)+a)*cos(u),(r*cos(v)+a)*sin(u),r*sin(v)*cos(u/2),r*sin(v)* sin(u/2)) $ This representation of the immersion in $R^3 $ is formed by taking two Mobius strips and joining them along their boundaries, this is the so called "Figure-8 Klein Bottle" For further information about this surface, please consult the technical description "Parametric surfaces" in http://www.vtk.org/publications in the "VTK Technical Documents" section in the VTk.org web pages. @par Thanks: Andrew Maclean andrew.amaclean@gmail.com for creating and contributing the class. IsTypeOfV.IsTypeOf(string) -> int C++: static vtkTypeBool IsTypeOf(const char *type) Return 1 if this class type is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h. IsAV.IsA(string) -> int C++: vtkTypeBool IsA(const char *type) override; Return 1 if this class is the same type of (or a subclass of) the named class. Returns 0 otherwise. This method works in combination with vtkTypeMacro found in vtkSetGet.h. SafeDownCastV.SafeDownCast(vtkObjectBase) -> vtkParametricFigure8Klein C++: static vtkParametricFigure8Klein *SafeDownCast( vtkObjectBase *o) NewInstanceV.NewInstance() -> vtkParametricFigure8Klein C++: vtkParametricFigure8Klein *NewInstance() SetRadiusV.SetRadius(float) C++: virtual void SetRadius(double _arg) Set/Get the radius of the bottle. Default is 1. GetRadiusV.GetRadius() -> float C++: virtual double GetRadius() Set/Get the radius of the bottle. Default is 1. GetDimensionV.GetDimension() -> int C++: int GetDimension() override; Return the parametric dimension of the class. EvaluateV.Evaluate([float, float, float], [float, float, float], [float, float, float, float, float, float, float, float, float]) C++: void Evaluate(double uvw[3], double Pt[3], double Duvw[9]) override; A Figure-8 Klein bottle. * This function performs the mapping $f(u,v) \rightarrow (x,y,x) $, returning it * as Pt. It also returns the partial derivatives Du and Dv. * $Pt = (x, y, z), Du = (dx/du, dy/du, dz/du), Dv = (dx/dv, dy/dv, dz/dv) $ . * Then the normal is $N = Du X Dv $ . EvaluateScalarV.EvaluateScalar([float, float, float], [float, float, float], [float, float, float, float, float, float, float, float, float]) -> float C++: double EvaluateScalar(double uvw[3], double Pt[3], double Duvw[9]) override; Calculate a user defined scalar using one or all of uvw, Pt, Duvw. * uvw are the parameters with Pt being the the cartesian point, * Duvw are the derivatives of this point with respect to u, v and w. * Pt, Duvw are obtained from Evaluate(). * This function is only called if the ScalarMode has the value * vtkParametricFunctionSource::SCALAR_FUNCTION_DEFINED * If the user does not need to calculate a scalar, then the * instantiated function should return zero. vtkParametricFunctionvtkObjectvtkObjectBaseOP `!'a!!a!Paa azRx $OAC $D AC $lAC B$(AC G$'AC I$AC G$ `AC G$48AC I$\AC G$AC I$0AC L$AC LA1-/2=(-- ,- -" ,- - ,- -4 2=+ &- .- )-f )-I )- (-  2= 1- 2= $= -{ ,-Y - ,-q -9 ,- -2=&-z0-)-)-)-n(-8#2=--&--(-d5-&-&--(-$=w-Y&-?-+-(--o-c-S--F-<&-&-(----s&-Y-E-'- --&-%-3-zo3-gV3-N5*-(-&---}%-q3-i^3-VE3-=.*-#---"--zslV/-IB-=6/"-'!-  xh `XH@8( @8! X0`@ `@ PhPoL4P `1[Z3J9 &jdWRqz'IGz_PyType_Ready_PyvtkParametricFunction_ClassNew_PyvtkParametricFigure8Klein_ClassNew_PyVTKObject_New__ZL37PyvtkParametricFigure8Klein_StaticNewv__ZN25vtkParametricFigure8Klein3NewEv_PyVTKObject_GetSet__Py_NoneStruct_PyVTKObject_GetObject__ZL35PyvtkParametricFigure8Klein_Methods_PyObject_GenericSetAttr_PyObject_GenericGetAttr_PyVTKObject_Repr_PyVTKObject_AsBuffer_strcmp_PyVTKAddFile_vtkParametricFigure8Klein___stack_chk_fail_PyObject_GC_Del_PyVTKObject_Check__ZN13vtkPythonArgs13ArgCountErrorEii__ZN13vtkPythonArgs8GetArrayEPdi__ZN13vtkPythonArgs8SetArrayEiPKdi_PyLong_FromLong_PyDict_SetItemString_PyVTKObject_String_PyVTKObject_SetFlag_PyVTKObject_Delete_PyVTKObject_Traverse__ZN13vtkPythonUtil20GetObjectFromPointerEP13vtkObjectBase__ZL32PyvtkParametricFigure8Klein_Type_PyType_Type_PyFloat_FromDouble___stack_chk_guard_PyErr_Occurred_PyVTKClass_Add__ZN13vtkPythonArgs8GetValueERd__Py_Dealloc__ZN13vtkPythonArgs8GetValueERPc__ZN13vtkObjectBase8IsTypeOfEPKc__ZN13vtkPythonArgs17GetArgAsVTKObjectEPKcRb__ZN13vtkPythonArgs19GetSelfFromFirstArgEP7_objectS1___ZL40PyvtkParametricFigure8Klein_SafeDownCastP7_objectS0___ZL37PyvtkParametricFigure8Klein_SetRadiusP7_objectS0___ZL37PyvtkParametricFigure8Klein_GetRadiusP7_objectS0___ZL42PyvtkParametricFigure8Klein_EvaluateScalarP7_objectS0___ZL40PyvtkParametricFigure8Klein_GetDimensionP7_objectS0___ZL36PyvtkParametricFigure8Klein_IsTypeOfP7_objectS0___ZL36PyvtkParametricFigure8Klein_EvaluateP7_objectS0___ZL39PyvtkParametricFigure8Klein_NewInstanceP7_objectS0___ZL31PyvtkParametricFigure8Klein_IsAP7_objectS0___ZN25vtkParametricFigure8Klein14EvaluateScalarEPdS0_S0___ZN25vtkParametricFigure8Klein8EvaluateEPdS0_S0_