# 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 vtkLocator(__vtkmodules_vtkCommonCore.vtkObject):
    """
    vtkLocator - abstract base class for objects that accelerate spatial
    searches
    
    Superclass: vtkObject
    
    vtkLocator is an abstract base class for spatial search objects, or
    locators. The principle behind locators is that they divide 3-space
    into small regions (or "buckets") that can be quickly found in
    response to queries about point location, line intersection, or
    object-object intersection.
    
    The purpose of this base class is to provide data members and methods
    shared by all locators. The GenerateRepresentation() is one such
    interesting method.  This method works in conjunction with
    vtkLocatorFilter to create polygonal representations for the locator.
    For example, if the locator is an OBB tree (i.e., vtkOBBTree.h), then
    the representation is a set of one or more oriented bounding boxes,
    depending upon the specified level.
    
    Locators typically work as follows. One or more "entities", such as
    points or cells, are inserted into the locator structure. These
    entities are associated with one or more buckets. Then, when
    performing geometric operations, the operations are performed first
    on the buckets, and then if the operation tests positive, then on the
    entities in the bucket. For example, during collision tests, the
    locators are collided first to identify intersecting buckets. If an
    intersection is found, more expensive operations are then carried out
    on the entities in the bucket.
    
    To obtain good performance, locators are often organized in a tree
    structure.  In such a structure, there are frequently multiple
    "levels" corresponding to different nodes in the tree. So the word
    level (in the context of the locator) can be used to specify a
    particular representation in the tree.  For example, in an octree
    (which is a tree with 8 children), level 0 is the bounding box, or
    root octant, and level 1 consists of its eight children.
    
    @warning
    There is a concept of static and incremental locators. Static
    locators are constructed one time, and then support appropriate
    queries. Incremental locators may have data inserted into them over
    time (e.g., adding new points during the process of isocontouring).
    
    @sa
    vtkPointLocator vtkCellLocator vtkOBBTree vtkMergePoints
    """
    def AutomaticOff(self): # real signature unknown; restored from __doc__
        """
        AutomaticOff(self) -> None
        C++: virtual void AutomaticOff()
        """
        pass

    def AutomaticOn(self): # real signature unknown; restored from __doc__
        """
        AutomaticOn(self) -> None
        C++: virtual void AutomaticOn()
        """
        pass

    def BuildLocator(self): # real signature unknown; restored from __doc__
        """
        BuildLocator(self) -> None
        C++: virtual void BuildLocator()
        
        Build the locator from the input dataset. This will NOT do
        anything if UseExistingSearchStructure is on.
        """
        pass

    def ForceBuildLocator(self): # real signature unknown; restored from __doc__
        """
        ForceBuildLocator(self) -> None
        C++: virtual void ForceBuildLocator()
        
        Build the locator from the input dataset (even if
        UseExistingSearchStructure is on).
        
        This function is not pure virtual to maintain backwards
        compatibility.
        """
        pass

    def FreeSearchStructure(self): # real signature unknown; restored from __doc__
        """
        FreeSearchStructure(self) -> None
        C++: virtual void FreeSearchStructure()
        
        Free the memory required for the spatial data structure.
        """
        pass

    def GenerateRepresentation(self, level, pd): # real signature unknown; restored from __doc__
        """
        GenerateRepresentation(self, level:int, pd:vtkPolyData) -> None
        C++: virtual void GenerateRepresentation(int level,
            vtkPolyData *pd)
        
        Method to build a representation at a particular level. Note that
        the method GetLevel() returns the maximum number of levels
        available for the tree. You must provide a vtkPolyData object
        into which to place the data.
        """
        pass

    def GetAutomatic(self): # real signature unknown; restored from __doc__
        """
        GetAutomatic(self) -> int
        C++: virtual vtkTypeBool GetAutomatic()
        """
        return 0

    def GetBuildTime(self): # real signature unknown; restored from __doc__
        """
        GetBuildTime(self) -> int
        C++: virtual vtkMTimeType GetBuildTime()
        
        Return the time of the last data structure build.
        """
        return 0

    def GetDataSet(self): # real signature unknown; restored from __doc__
        """
        GetDataSet(self) -> vtkDataSet
        C++: virtual vtkDataSet *GetDataSet()
        """
        return vtkDataSet

    def GetLevel(self): # real signature unknown; restored from __doc__
        """
        GetLevel(self) -> int
        C++: virtual int GetLevel()
        
        Get the level of the locator (determined automatically if
        Automatic is true). The value of this ivar may change each time
        the locator is built. Initial value is 8.
        """
        return 0

    def GetMaxLevel(self): # real signature unknown; restored from __doc__
        """
        GetMaxLevel(self) -> int
        C++: virtual int GetMaxLevel()
        """
        return 0

    def GetMaxLevelMaxValue(self): # real signature unknown; restored from __doc__
        """
        GetMaxLevelMaxValue(self) -> int
        C++: virtual int GetMaxLevelMaxValue()
        """
        return 0

    def GetMaxLevelMinValue(self): # real signature unknown; restored from __doc__
        """
        GetMaxLevelMinValue(self) -> int
        C++: virtual int GetMaxLevelMinValue()
        """
        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 GetTolerance(self): # real signature unknown; restored from __doc__
        """
        GetTolerance(self) -> float
        C++: virtual double GetTolerance()
        """
        return 0.0

    def GetToleranceMaxValue(self): # real signature unknown; restored from __doc__
        """
        GetToleranceMaxValue(self) -> float
        C++: virtual double GetToleranceMaxValue()
        """
        return 0.0

    def GetToleranceMinValue(self): # real signature unknown; restored from __doc__
        """
        GetToleranceMinValue(self) -> float
        C++: virtual double GetToleranceMinValue()
        """
        return 0.0

    def GetUseExistingSearchStructure(self): # real signature unknown; restored from __doc__
        """
        GetUseExistingSearchStructure(self) -> int
        C++: virtual vtkTypeBool GetUseExistingSearchStructure()
        """
        return 0

    def Initialize(self): # real signature unknown; restored from __doc__
        """
        Initialize(self) -> None
        C++: virtual void Initialize()
        
        Initialize locator. Frees memory and resets object as
        appropriate.
        """
        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 NewInstance(self): # real signature unknown; restored from __doc__
        """
        NewInstance(self) -> vtkLocator
        C++: vtkLocator *NewInstance()
        """
        return vtkLocator

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkLocator
        C++: static vtkLocator *SafeDownCast(vtkObjectBase *o)
        """
        return vtkLocator

    def SetAutomatic(self, _arg): # real signature unknown; restored from __doc__
        """
        SetAutomatic(self, _arg:int) -> None
        C++: virtual void SetAutomatic(vtkTypeBool _arg)
        
        Boolean controls whether locator depth/resolution of locator is
        computed automatically from average number of entities in bucket.
        If not set, there will be an explicit method to control the
        construction of the locator (found in the subclass).
        """
        pass

    def SetDataSet(self, __a): # real signature unknown; restored from __doc__
        """
        SetDataSet(self, __a:vtkDataSet) -> None
        C++: virtual void SetDataSet(vtkDataSet *)
        
        Build the locator from the points/cells defining this dataset.
        """
        pass

    def SetMaxLevel(self, _arg): # real signature unknown; restored from __doc__
        """
        SetMaxLevel(self, _arg:int) -> None
        C++: virtual void SetMaxLevel(int _arg)
        
        Set the maximum allowable level for the tree. If the Automatic
        ivar is off, this will be the target depth of the locator.
        Initial value is 8.
        """
        pass

    def SetTolerance(self, _arg): # real signature unknown; restored from __doc__
        """
        SetTolerance(self, _arg:float) -> None
        C++: virtual void SetTolerance(double _arg)
        
        Specify absolute tolerance (in world coordinates) for performing
        geometric operations.
        """
        pass

    def SetUseExistingSearchStructure(self, _arg): # real signature unknown; restored from __doc__
        """
        SetUseExistingSearchStructure(self, _arg:int) -> None
        C++: virtual void SetUseExistingSearchStructure(vtkTypeBool _arg)
        
        Get/Set UseExistingSearchStructure, which when enabled it allows
        the locator to NOT be built again. This is useful when you have a
        dataset that either changes because the FieldData
        (PointData/CellData) changed or the actual dataset object changed
        but it's actually the same geometry (useful when a dataset has
        timesteps).
        
        When this flag is on you need to use ForceBuildLocator() to
        rebuild the locator, if your dataset changes.
        
        Default is off.
        """
        pass

    def Update(self): # real signature unknown; restored from __doc__
        """
        Update(self) -> None
        C++: virtual void Update()
        
        Cause the locator to rebuild itself if it or its input dataset
        has changed.
        """
        pass

    def UseExistingSearchStructureOff(self): # real signature unknown; restored from __doc__
        """
        UseExistingSearchStructureOff(self) -> None
        C++: virtual void UseExistingSearchStructureOff()
        """
        pass

    def UseExistingSearchStructureOn(self): # real signature unknown; restored from __doc__
        """
        UseExistingSearchStructureOn(self) -> None
        C++: virtual void UseExistingSearchStructureOn()
        """
        pass

    def UsesGarbageCollector(self): # real signature unknown; restored from __doc__
        """
        UsesGarbageCollector(self) -> bool
        C++: bool UsesGarbageCollector() override;
        
        Handle the PointSet <-> Locator loop.
        """
        return False

    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__\': \'vtkLocator\', \'IsTypeOf\': <method \'IsTypeOf\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'IsA\': <method \'IsA\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'SafeDownCast\': <method \'SafeDownCast\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'NewInstance\': <method \'NewInstance\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'GetNumberOfGenerationsFromBaseType\': <method \'GetNumberOfGenerationsFromBaseType\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'GetNumberOfGenerationsFromBase\': <method \'GetNumberOfGenerationsFromBase\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'SetDataSet\': <method \'SetDataSet\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'GetDataSet\': <method \'GetDataSet\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'SetMaxLevel\': <method \'SetMaxLevel\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'GetMaxLevelMinValue\': <method \'GetMaxLevelMinValue\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'GetMaxLevelMaxValue\': <method \'GetMaxLevelMaxValue\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'GetMaxLevel\': <method \'GetMaxLevel\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'GetLevel\': <method \'GetLevel\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'SetAutomatic\': <method \'SetAutomatic\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'GetAutomatic\': <method \'GetAutomatic\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'AutomaticOn\': <method \'AutomaticOn\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'AutomaticOff\': <method \'AutomaticOff\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'SetTolerance\': <method \'SetTolerance\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'GetToleranceMinValue\': <method \'GetToleranceMinValue\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'GetToleranceMaxValue\': <method \'GetToleranceMaxValue\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'GetTolerance\': <method \'GetTolerance\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'SetUseExistingSearchStructure\': <method \'SetUseExistingSearchStructure\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'GetUseExistingSearchStructure\': <method \'GetUseExistingSearchStructure\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'UseExistingSearchStructureOn\': <method \'UseExistingSearchStructureOn\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'UseExistingSearchStructureOff\': <method \'UseExistingSearchStructureOff\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'Update\': <method \'Update\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'Initialize\': <method \'Initialize\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'BuildLocator\': <method \'BuildLocator\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'ForceBuildLocator\': <method \'ForceBuildLocator\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'FreeSearchStructure\': <method \'FreeSearchStructure\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'GenerateRepresentation\': <method \'GenerateRepresentation\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'GetBuildTime\': <method \'GetBuildTime\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'UsesGarbageCollector\': <method \'UsesGarbageCollector\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'__new__\': <built-in method __new__ of type object at 0x00007FF81D638D40>, \'__repr__\': <slot wrapper \'__repr__\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'__str__\': <slot wrapper \'__str__\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'__getattribute__\': <slot wrapper \'__getattribute__\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'__setattr__\': <slot wrapper \'__setattr__\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'__delattr__\': <slot wrapper \'__delattr__\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'__dict__\': <attribute \'__dict__\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'__this__\': <attribute \'__this__\' of \'vtkmodules.vtkCommonDataModel.vtkLocator\' objects>, \'__doc__\': \'vtkLocator - abstract base class for objects that accelerate spatial\\nsearches\\n\\nSuperclass: vtkObject\\n\\nvtkLocator is an abstract base class for spatial search objects, or\\nlocators. The principle behind locators is that they divide 3-space\\ninto small regions (or "buckets") that can be quickly found in\\nresponse to queries about point location, line intersection, or\\nobject-object intersection.\\n\\nThe purpose of this base class is to provide data members and methods\\nshared by all locators. The GenerateRepresentation() is one such\\ninteresting method.  This method works in conjunction with\\nvtkLocatorFilter to create polygonal representations for the locator.\\nFor example, if the locator is an OBB tree (i.e., vtkOBBTree.h), then\\nthe representation is a set of one or more oriented bounding boxes,\\ndepending upon the specified level.\\n\\nLocators typically work as follows. One or more "entities", such as\\npoints or cells, are inserted into the locator structure. These\\nentities are associated with one or more buckets. Then, when\\nperforming geometric operations, the operations are performed first\\non the buckets, and then if the operation tests positive, then on the\\nentities in the bucket. For example, during collision tests, the\\nlocators are collided first to identify intersecting buckets. If an\\nintersection is found, more expensive operations are then carried out\\non the entities in the bucket.\\n\\nTo obtain good performance, locators are often organized in a tree\\nstructure.  In such a structure, there are frequently multiple\\n"levels" corresponding to different nodes in the tree. So the word\\nlevel (in the context of the locator) can be used to specify a\\nparticular representation in the tree.  For example, in an octree\\n(which is a tree with 8 children), level 0 is the bounding box, or\\nroot octant, and level 1 consists of its eight children.\\n\\n@warning\\nThere is a concept of static and incremental locators. Static\\nlocators are constructed one time, and then support appropriate\\nqueries. Incremental locators may have data inserted into them over\\ntime (e.g., adding new points during the process of isocontouring).\\n\\n@sa\\nvtkPointLocator vtkCellLocator vtkOBBTree vtkMergePoints\\n\\n\'})'
    __vtkname__ = 'vtkLocator'


