# 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


from .vtkImplicitFunction import vtkImplicitFunction

class vtkPlanes(vtkImplicitFunction):
    """
    vtkPlanes - implicit function for convex set of planes
    
    Superclass: vtkImplicitFunction
    
    vtkPlanes computes the implicit function and function gradient for a
    set of planes. The planes must define a convex space.
    
    The function value is the intersection (i.e., maximum value) obtained
    by evaluating the each of the supplied planes. Hence the value is the
    maximum distance of a point to the convex region defined by the
    planes. The function gradient is the plane normal at the function
    value.  Note that the normals must point outside of the convex
    region. Thus, a negative function value means that a point is inside
    the convex region.
    
    There are several methods to define the set of planes. The most
    general is to supply an instance of vtkPoints and an instance of
    vtkDataArray. (The points define a point on the plane, and the
    normals corresponding plane normals.) Two other specialized ways are
    to 1) supply six planes defining the view frustrum of a camera, and
    2) provide a bounding box.
    
    @sa
    vtkImplicitBoolean vtkSpheres vtkFrustrumSource vtkCamera
    """
    def EvaluateFunction(self, x, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        EvaluateFunction(self, x:[float, float, float]) -> float
        C++: double EvaluateFunction(double x[3]) override;
        EvaluateFunction(self, input:vtkDataArray, output:vtkDataArray)
            -> None
        C++: virtual void EvaluateFunction(vtkDataArray *input,
            vtkDataArray *output)
        EvaluateFunction(self, x:float, y:float, z:float) -> float
        C++: virtual double EvaluateFunction(double x, double y, double z)
        
        Evaluate function at position x-y-z and return value.  You should
        generally not call this method directly, you should use
        FunctionValue() instead.  This method must be implemented by any
        derived class.
        """
        pass

    def EvaluateGradient(self, x, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        EvaluateGradient(self, x:[float, float, float], n:[float, float,
            float]) -> None
        C++: void EvaluateGradient(double x[3], double n[3]) override;
        
        Evaluate planes gradient.
        """
        pass

    def GetNormals(self): # real signature unknown; restored from __doc__
        """
        GetNormals(self) -> vtkDataArray
        C++: virtual vtkDataArray *GetNormals()
        """
        pass

    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 GetNumberOfPlanes(self): # real signature unknown; restored from __doc__
        """
        GetNumberOfPlanes(self) -> int
        C++: int GetNumberOfPlanes()
        
        Return the number of planes in the set of planes.
        """
        return 0

    def GetPlane(self, i): # real signature unknown; restored from __doc__
        """
        GetPlane(self, i:int) -> vtkPlane
        C++: vtkPlane *GetPlane(int i)
        GetPlane(self, i:int, plane:vtkPlane) -> None
        C++: void GetPlane(int i, vtkPlane *plane)
        
        Create and return a pointer to a vtkPlane object at the ith
        position. Asking for a plane outside the allowable range returns
        nullptr. This method always returns the same object. Use
        GetPlane(int i, vtkPlane *plane) instead.
        """
        return vtkPlane

    def GetPoints(self): # real signature unknown; restored from __doc__
        """
        GetPoints(self) -> vtkPoints
        C++: virtual vtkPoints *GetPoints()
        """
        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) -> vtkPlanes
        C++: vtkPlanes *NewInstance()
        """
        return vtkPlanes

    def SafeDownCast(self, o): # real signature unknown; restored from __doc__
        """
        SafeDownCast(o:vtkObjectBase) -> vtkPlanes
        C++: static vtkPlanes *SafeDownCast(vtkObjectBase *o)
        """
        return vtkPlanes

    def SetBounds(self, bounds, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        SetBounds(self, bounds:(float, float, float, float, float, float))
             -> None
        C++: void SetBounds(const double bounds[6])
        SetBounds(self, xmin:float, xmax:float, ymin:float, ymax:float,
            zmin:float, zmax:float) -> None
        C++: void SetBounds(double xmin, double xmax, double ymin,
            double ymax, double zmin, double zmax)
        
        An alternative method to specify six planes defined by a bounding
        box. The bounding box is a six-vector defined as
        (xmin,xmax,ymin,ymax,zmin,zmax). It defines six planes orthogonal
        to the x-y-z coordinate axes.
        """
        pass

    def SetFrustumPlanes(self, planes, *args, **kwargs): # real signature unknown; NOTE: unreliably restored from __doc__ 
        """
        SetFrustumPlanes(self, planes:[float, float, float, float, float,
            float, float, float, float, float, float, float, float, float,
             float, float, float, float, float, float, float, float,
            float, float]) -> None
        C++: void SetFrustumPlanes(double planes[24])
        
        An alternative method to specify six planes defined by the camera
        view frustrum. See vtkCamera::GetFrustumPlanes() documentation.
        """
        pass

    def SetNormals(self, normals): # real signature unknown; restored from __doc__
        """
        SetNormals(self, normals:vtkDataArray) -> None
        C++: void SetNormals(vtkDataArray *normals)
        
        Specify a list of normal vectors for the planes. There is a
        one-to-one correspondence between plane points and plane normals.
        """
        pass

    def SetPoints(self, __a): # real signature unknown; restored from __doc__
        """
        SetPoints(self, __a:vtkPoints) -> None
        C++: virtual void SetPoints(vtkPoints *)
        
        Specify a list of points defining points through which the planes
        pass.
        """
        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__': 'vtkPlanes', 'IsTypeOf': <method 'IsTypeOf' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, 'IsA': <method 'IsA' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, 'SafeDownCast': <method 'SafeDownCast' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, 'NewInstance': <method 'NewInstance' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, 'GetNumberOfGenerationsFromBaseType': <method 'GetNumberOfGenerationsFromBaseType' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, 'GetNumberOfGenerationsFromBase': <method 'GetNumberOfGenerationsFromBase' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, 'EvaluateFunction': <method 'EvaluateFunction' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, 'EvaluateGradient': <method 'EvaluateGradient' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, 'SetPoints': <method 'SetPoints' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, 'GetPoints': <method 'GetPoints' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, 'SetNormals': <method 'SetNormals' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, 'GetNormals': <method 'GetNormals' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, 'SetFrustumPlanes': <method 'SetFrustumPlanes' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, 'SetBounds': <method 'SetBounds' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, 'GetNumberOfPlanes': <method 'GetNumberOfPlanes' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, 'GetPlane': <method 'GetPlane' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, '__new__': <built-in method __new__ of type object at 0x00007FF81D640BD0>, '__repr__': <slot wrapper '__repr__' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, '__str__': <slot wrapper '__str__' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, '__getattribute__': <slot wrapper '__getattribute__' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, '__setattr__': <slot wrapper '__setattr__' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, '__delattr__': <slot wrapper '__delattr__' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, '__dict__': <attribute '__dict__' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, '__this__': <attribute '__this__' of 'vtkmodules.vtkCommonDataModel.vtkPlanes' objects>, '__doc__': 'vtkPlanes - implicit function for convex set of planes\\n\\nSuperclass: vtkImplicitFunction\\n\\nvtkPlanes computes the implicit function and function gradient for a\\nset of planes. The planes must define a convex space.\\n\\nThe function value is the intersection (i.e., maximum value) obtained\\nby evaluating the each of the supplied planes. Hence the value is the\\nmaximum distance of a point to the convex region defined by the\\nplanes. The function gradient is the plane normal at the function\\nvalue.  Note that the normals must point outside of the convex\\nregion. Thus, a negative function value means that a point is inside\\nthe convex region.\\n\\nThere are several methods to define the set of planes. The most\\ngeneral is to supply an instance of vtkPoints and an instance of\\nvtkDataArray. (The points define a point on the plane, and the\\nnormals corresponding plane normals.) Two other specialized ways are\\nto 1) supply six planes defining the view frustrum of a camera, and\\n2) provide a bounding box.\\n\\n@sa\\nvtkImplicitBoolean vtkSpheres vtkFrustrumSource vtkCamera\\n\\n'})"
    __vtkname__ = 'vtkPlanes'


