# encoding: utf-8
# module vtkmodules.vtkCommonDataModel
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\vtkmodules\vtkCommonDataModel.cp311-win_amd64.pyd
# by generator 1.147
# no doc

# imports
import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore
import vtkmodules.vtkCommonMath as __vtkmodules_vtkCommonMath
import vtkmodules.vtkCommonTransforms as __vtkmodules_vtkCommonTransforms


class vtkIterativeClosestPointTransform(__vtkmodules_vtkCommonTransforms.vtkLinearTransform):
    """
    vtkIterativeClosestPointTransform - Implementation of the ICP
    algorithm.
    
    Superclass: vtkLinearTransform
    
    Match two surfaces using the iterative closest point (ICP) algorithm.
    The core of the algorithm is to match each vertex in one surface with
    the closest surface point on the other, then apply the transformation
    that modify one surface to best match the other (in a least square
    sense). This has to be iterated to get proper convergence of the
    surfaces.@attention Use vtkTransformPolyDataFilter to apply the
    resulting ICP transform to your data. You might also set it to your
    actor's user transform.@attention This class makes use of
    vtkLandmarkTransform internally to compute the best fit. Use the
    GetLandmarkTransform member to get a pointer to that transform and
    set its parameters. You might, for example, constrain the number of
    degrees of freedom of the solution (i.e. rigid body, similarity,
    etc.) by checking the vtkLandmarkTransform documentation for its
    SetMode member.
    @sa
    vtkLandmarkTransform
    """
    def CheckMeanDistanceOff(self): # real signature unknown; restored from __doc__
        """
        CheckMeanDistanceOff(self) -> None
        C++: virtual void CheckMeanDistanceOff()
        """
        pass

    def CheckMeanDistanceOn(self): # real signature unknown; restored from __doc__
        """
        CheckMeanDistanceOn(self) -> None
        C++: virtual void CheckMeanDistanceOn()
        """
        pass

    def GetCheckMeanDistance(self): # real signature unknown; restored from __doc__
        """
        GetCheckMeanDistance(self) -> int
        C++: virtual vtkTypeBool GetCheckMeanDistance()
        """
        return 0

    def GetLandmarkTransform(self): # real signature unknown; restored from __doc__
        """
        GetLandmarkTransform(self) -> vtkLandmarkTransform
        C++: virtual vtkLandmarkTransform *GetLandmarkTransform()
        
        Get the internal landmark transform. Use it to constrain the
        number of degrees of freedom of the solution (i.e. rigid body,
        similarity, etc.).
        """
        pass

    def GetLocator(self): # real signature unknown; restored from __doc__
        """
        GetLocator(self) -> vtkCellLocator
        C++: virtual vtkCellLocator *GetLocator()
        """
        return vtkCellLocator

    def GetMaximumMeanDistance(self): # real signature unknown; restored from __doc__
        """
        GetMaximumMeanDistance(self) -> float
        C++: virtual double GetMaximumMeanDistance()
        """
        return 0.0

    def GetMaximumNumberOfIterations(self): # real signature unknown; restored from __doc__
        """
        GetMaximumNumberOfIterations(self) -> int
        C++: virtual int GetMaximumNumberOfIterations()
        """
        return 0

    def GetMaximumNumberOfLandmarks(self): # real signature unknown; restored from __doc__
        """
        GetMaximumNumberOfLandmarks(self) -> int
        C++: virtual int GetMaximumNumberOfLandmarks()
        """
        return 0

    def GetMeanDistance(self): # real signature unknown; restored from __doc__
        """
        GetMeanDistance(self) -> float
        C++: virtual double GetMeanDistance()
        
        Get the mean distance between the last two iterations.
        """
        return 0.0

    def GetMeanDistanceMode(self): # real signature unknown; restored from __doc__
        """
        GetMeanDistanceMode(self) -> int
        C++: virtual int GetMeanDistanceMode()
        """
        return 0

    def GetMeanDistanceModeAsString(self): # real signature unknown; restored from __doc__
        """
        GetMeanDistanceModeAsString(self) -> str
        C++: const char *GetMeanDistanceModeAsString()
        """
        return ""

    def GetMeanDistanceModeMaxValue(self): # real signature unknown; restored from __doc__
        """
        GetMeanDistanceModeMaxValue(self) -> int
        C++: virtual int GetMeanDistanceModeMaxValue()
        """
        return 0

    def GetMeanDistanceModeMinValue(self): # real signature unknown; restored from __doc__
        """
        GetMeanDistanceModeMinValue(self) -> int
        C++: virtual int GetMeanDistanceModeMinValue()
        """
        return 0

    def GetNumberOfGenerationsFromBase(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBase(self, type:str) -> int
        C++: vtkIdType GetNumberOfGenerationsFromBase(const char *type)
            override;
        
        Given the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        return 0

    def GetNumberOfGenerationsFromBaseType(self, type): # real signature unknown; restored from __doc__
        """
        GetNumberOfGenerationsFromBaseType(type:str) -> int
        C++: static vtkIdType GetNumberOfGenerationsFromBaseType(
            const char *type)
        
        Given a the name of a base class of this class type, return the
        distance of inheritance between this class type and the named
        class (how many generations of inheritance are there between this
        class and the named class). If the named class is not in this
        class's inheritance tree, return a negative value. Valid
        responses will always be nonnegative. This method works in
        combination with vtkTypeMacro found in vtkSetGet.h.
        """
        return 0

    def GetNumberOfIterations(self): # real signature unknown; restored from __doc__
        """
        GetNumberOfIterations(self) -> int
        C++: virtual int GetNumberOfIterations()
        
        Get the number of iterations since the last update
        """
        return 0

    def GetSource(self): # real signature unknown; restored from __doc__
        """
        GetSource(self) -> vtkDataSet
        C++: virtual vtkDataSet *GetSource()
        """
        return vtkDataSet

    def GetStartByMatchingCentroids(self): # real signature unknown; restored from __doc__
        """
        GetStartByMatchingCentroids(self) -> int
        C++: virtual vtkTypeBool GetStartByMatchingCentroids()
        """
        return 0

    def GetTarget(self): # real signature unknown; restored from __doc__
        """
        GetTarget(self) -> vtkDataSet
        C++: virtual vtkDataSet *GetTarget()
        """
        return vtkDataSet

    def Inverse(self): # real signature unknown; restored from __doc__
        """
        Inverse(self) -> None
        C++: void Inverse() override;
        
        Invert the transformation.  This is done by switching the source
        and target.
        """
        pass

    def IsA(self, type): # real signature unknown; restored from __doc__
        """
        IsA(self, type:str) -> 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.
        """
        return 0

    def IsTypeOf(self, type): # real signature unknown; restored from __doc__
        """
        IsTypeOf(type:str) -> 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.
        """
        return 0

    def MakeTransform(self): # real signature unknown; restored from __doc__
        """
        MakeTransform(self) -> vtkAbstractTransform
        C++: vtkAbstractTransform *MakeTransform() override;
        
        Make another transform of the same type.
        """
        pass

    def NewInstance(self): # real signature unknown; restored from __doc__
        """
        NewInstance(self) -> vtkIterativeClosestPointTransform
        C++: vtkIterativeClosestPointTransform *NewInstance()
        """
        return vtkIterativeClosestPointTransform

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkIterativeClosestPointTransform
        C++: static vtkIterativeClosestPointTransform *SafeDownCast(
            vtkObjectBase *o)
        """
        return vtkIterativeClosestPointTransform

    def SetCheckMeanDistance(self, _arg): # real signature unknown; restored from __doc__
        """
        SetCheckMeanDistance(self, _arg:int) -> None
        C++: virtual void SetCheckMeanDistance(vtkTypeBool _arg)
        
        Force the algorithm to check the mean distance between two
        iterations. Default is Off.
        """
        pass

    def SetLocator(self, locator): # real signature unknown; restored from __doc__
        """
        SetLocator(self, locator:vtkCellLocator) -> None
        C++: void SetLocator(vtkCellLocator *locator)
        
        Set/Get a spatial locator for speeding up the search process. An
        instance of vtkCellLocator is used by default.
        """
        pass

    def SetMaximumMeanDistance(self, _arg): # real signature unknown; restored from __doc__
        """
        SetMaximumMeanDistance(self, _arg:float) -> None
        C++: virtual void SetMaximumMeanDistance(double _arg)
        
        Set/Get the maximum mean distance between two iteration. If the
        mean distance is lower than this, the convergence stops. The
        default is 0.01.
        """
        pass

    def SetMaximumNumberOfIterations(self, _arg): # real signature unknown; restored from __doc__
        """
        SetMaximumNumberOfIterations(self, _arg:int) -> None
        C++: virtual void SetMaximumNumberOfIterations(int _arg)
        
        Set/Get the maximum number of iterations. Default is 50.
        """
        pass

    def SetMaximumNumberOfLandmarks(self, _arg): # real signature unknown; restored from __doc__
        """
        SetMaximumNumberOfLandmarks(self, _arg:int) -> None
        C++: virtual void SetMaximumNumberOfLandmarks(int _arg)
        
        Set/Get the maximum number of landmarks sampled in your dataset.
        If your dataset is dense, then you will typically not need all
        the points to compute the ICP transform. The default is 200.
        """
        pass

    def SetMeanDistanceMode(self, _arg): # real signature unknown; restored from __doc__
        """
        SetMeanDistanceMode(self, _arg:int) -> None
        C++: virtual void SetMeanDistanceMode(int _arg)
        
        Specify the mean distance mode. This mode expresses how the mean
        distance is computed. The RMS mode is the square root of the
        average of the sum of squares of the closest point distances. The
        Absolute Value mode is the mean of the sum of absolute values of
        the closest point distances. The default is VTK_ICP_MODE_RMS
        """
        pass

    def SetMeanDistanceModeToAbsoluteValue(self): # real signature unknown; restored from __doc__
        """
        SetMeanDistanceModeToAbsoluteValue(self) -> None
        C++: void SetMeanDistanceModeToAbsoluteValue()
        """
        pass

    def SetMeanDistanceModeToRMS(self): # real signature unknown; restored from __doc__
        """
        SetMeanDistanceModeToRMS(self) -> None
        C++: void SetMeanDistanceModeToRMS()
        """
        pass

    def SetSource(self, source): # real signature unknown; restored from __doc__
        """
        SetSource(self, source:vtkDataSet) -> None
        C++: void SetSource(vtkDataSet *source)
        
        Specify the source and target data sets.
        """
        pass

    def SetStartByMatchingCentroids(self, _arg): # real signature unknown; restored from __doc__
        """
        SetStartByMatchingCentroids(self, _arg:int) -> None
        C++: virtual void SetStartByMatchingCentroids(vtkTypeBool _arg)
        
        Starts the process by translating source centroid to target
        centroid. The default is Off.
        """
        pass

    def SetTarget(self, target): # real signature unknown; restored from __doc__
        """
        SetTarget(self, target:vtkDataSet) -> None
        C++: void SetTarget(vtkDataSet *target)
        """
        pass

    def StartByMatchingCentroidsOff(self): # real signature unknown; restored from __doc__
        """
        StartByMatchingCentroidsOff(self) -> None
        C++: virtual void StartByMatchingCentroidsOff()
        """
        pass

    def StartByMatchingCentroidsOn(self): # real signature unknown; restored from __doc__
        """
        StartByMatchingCentroidsOn(self) -> None
        C++: virtual void StartByMatchingCentroidsOn()
        """
        pass

    def __delattr__(self, *args, **kwargs): # real signature unknown
        """ Implement delattr(self, name). """
        pass

    def __getattribute__(self, *args, **kwargs): # real signature unknown
        """ Return getattr(self, name). """
        pass

    def __init__(self, *args, **kwargs): # real signature unknown
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __repr__(self, *args, **kwargs): # real signature unknown
        """ Return repr(self). """
        pass

    def __setattr__(self, *args, **kwargs): # real signature unknown
        """ Implement setattr(self, name, value). """
        pass

    def __str__(self, *args, **kwargs): # real signature unknown
        """ Return str(self). """
        pass

    __this__ = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
    """Pointer to the C++ object."""


    __dict__ = None # (!) real value is 'mappingproxy({\'__vtkname__\': \'vtkIterativeClosestPointTransform\', \'IsTypeOf\': <method \'IsTypeOf\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'IsA\': <method \'IsA\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'SafeDownCast\': <method \'SafeDownCast\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'NewInstance\': <method \'NewInstance\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'GetNumberOfGenerationsFromBaseType\': <method \'GetNumberOfGenerationsFromBaseType\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'GetNumberOfGenerationsFromBase\': <method \'GetNumberOfGenerationsFromBase\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'SetSource\': <method \'SetSource\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'SetTarget\': <method \'SetTarget\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'GetSource\': <method \'GetSource\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'GetTarget\': <method \'GetTarget\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'SetLocator\': <method \'SetLocator\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'GetLocator\': <method \'GetLocator\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'SetMaximumNumberOfIterations\': <method \'SetMaximumNumberOfIterations\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'GetMaximumNumberOfIterations\': <method \'GetMaximumNumberOfIterations\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'GetNumberOfIterations\': <method \'GetNumberOfIterations\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'SetCheckMeanDistance\': <method \'SetCheckMeanDistance\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'GetCheckMeanDistance\': <method \'GetCheckMeanDistance\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'CheckMeanDistanceOn\': <method \'CheckMeanDistanceOn\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'CheckMeanDistanceOff\': <method \'CheckMeanDistanceOff\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'SetMeanDistanceMode\': <method \'SetMeanDistanceMode\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'GetMeanDistanceModeMinValue\': <method \'GetMeanDistanceModeMinValue\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'GetMeanDistanceModeMaxValue\': <method \'GetMeanDistanceModeMaxValue\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'GetMeanDistanceMode\': <method \'GetMeanDistanceMode\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'SetMeanDistanceModeToRMS\': <method \'SetMeanDistanceModeToRMS\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'SetMeanDistanceModeToAbsoluteValue\': <method \'SetMeanDistanceModeToAbsoluteValue\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'GetMeanDistanceModeAsString\': <method \'GetMeanDistanceModeAsString\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'SetMaximumMeanDistance\': <method \'SetMaximumMeanDistance\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'GetMaximumMeanDistance\': <method \'GetMaximumMeanDistance\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'GetMeanDistance\': <method \'GetMeanDistance\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'SetMaximumNumberOfLandmarks\': <method \'SetMaximumNumberOfLandmarks\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'GetMaximumNumberOfLandmarks\': <method \'GetMaximumNumberOfLandmarks\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'SetStartByMatchingCentroids\': <method \'SetStartByMatchingCentroids\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'GetStartByMatchingCentroids\': <method \'GetStartByMatchingCentroids\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'StartByMatchingCentroidsOn\': <method \'StartByMatchingCentroidsOn\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'StartByMatchingCentroidsOff\': <method \'StartByMatchingCentroidsOff\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'GetLandmarkTransform\': <method \'GetLandmarkTransform\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'Inverse\': <method \'Inverse\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'MakeTransform\': <method \'MakeTransform\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'__new__\': <built-in method __new__ of type object at 0x00007FF81D634D20>, \'__repr__\': <slot wrapper \'__repr__\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'__str__\': <slot wrapper \'__str__\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'__getattribute__\': <slot wrapper \'__getattribute__\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'__setattr__\': <slot wrapper \'__setattr__\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'__delattr__\': <slot wrapper \'__delattr__\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'__dict__\': <attribute \'__dict__\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'__this__\': <attribute \'__this__\' of \'vtkmodules.vtkCommonDataModel.vtkIterativeClosestPointTransform\' objects>, \'__doc__\': "vtkIterativeClosestPointTransform - Implementation of the ICP\\nalgorithm.\\n\\nSuperclass: vtkLinearTransform\\n\\nMatch two surfaces using the iterative closest point (ICP) algorithm.\\nThe core of the algorithm is to match each vertex in one surface with\\nthe closest surface point on the other, then apply the transformation\\nthat modify one surface to best match the other (in a least square\\nsense). This has to be iterated to get proper convergence of the\\nsurfaces.@attention Use vtkTransformPolyDataFilter to apply the\\nresulting ICP transform to your data. You might also set it to your\\nactor\'s user transform.@attention This class makes use of\\nvtkLandmarkTransform internally to compute the best fit. Use the\\nGetLandmarkTransform member to get a pointer to that transform and\\nset its parameters. You might, for example, constrain the number of\\ndegrees of freedom of the solution (i.e. rigid body, similarity,\\netc.) by checking the vtkLandmarkTransform documentation for its\\nSetMode member.\\n@sa\\nvtkLandmarkTransform\\n\\n"})'
    __vtkname__ = 'vtkIterativeClosestPointTransform'


