# Interface methods for submodule: QuadEdgeMesh
from typing import Union, Any
# additional imports
from .support.template_class import itkTemplate as _itkTemplate
from ._proxies import MeshProxy as _MeshProxy


# Interface methods for class: QuadEdgeMesh
class QuadEdgeMeshProxy(_MeshProxy):
	@staticmethod
	def New():
		""""""
		...

	def Clone(self):
		""""""
		...

	def GetNameOfClass(self):
		""""""
		...

	def RequestedRegionIsOutsideOfTheBufferedRegion(self) -> bool:
		""""""
		...

	def Initialize(self) -> None:
		""""""
		...

	def Clear(self) -> None:
		""""""
		...

	def GetEdgeCells(self):
		""""""
		...

	def SetEdgeCells(self, edgeCells) -> None:
		""""""
		...

	def SetEdgeCell(self, cellId: int, cellPointer) -> None:
		""""""
		...

	def CopyInformation(self, data) -> None:
		""""""
		...

	def Graft(self, data) -> None:
		""""""
		...

	def SqueezePointsIds(self) -> None:
		""""""
		...

	def BuildCellLinks(self) -> None:
		""""""
		...

	def SetBoundaryAssignment(self, dimension: int, cellId: int, featureId: int, boundaryId: int) -> None:
		""""""
		...

	def GetBoundaryAssignment(self, dimension: int, cellId: int, featureId: int, boundaryId) -> bool:
		""""""
		...

	def RemoveBoundaryAssignment(self, dimension: int, cellId: int, featureId: int) -> bool:
		""""""
		...

	def GetCellBoundaryFeature(self, dimension: int, cellId: int, featureId: int, cellAP) -> bool:
		""""""
		...

	def GetCellBoundaryFeatureNeighbors(self, dimension: int, cellId: int, featureId: int, cellSet) -> int:
		""""""
		...

	def GetCellNeighbors(self, arg0: int, arg1) -> int:
		""""""
		...

	def GetAssignedCellBoundaryIfOneExists(self, dimension: int, cellId: int, featureId: int, cellAP) -> bool:
		""""""
		...

	def SetCell(self, cId: int, cell) -> None:
		""""""
		...

	def FindFirstUnusedPointIndex(self) -> int:
		""""""
		...

	def FindFirstUnusedCellIndex(self) -> int:
		""""""
		...

	def PushOnContainer(self, newEdge) -> None:
		""""""
		...

	def AddPoint(self, p) -> int:
		""""""
		...

	def AddEdge(self, orgPid: int, destPid: int):
		""""""
		...

	def AddEdgeWithSecurePointList(self, orgPid: int, destPid: int):
		""""""
		...

	@overload
	def AddFace(self, entry) -> None:
		""""""
		...

	@overload
	def AddFace(self, points: Sequence[int]):
		""""""
		...

	@overload
	def AddFaceWithSecurePointList(self, points: Sequence[int]):
		""""""
		...

	@overload
	def AddFaceWithSecurePointList(self, points: Sequence[int], CheckEdges: bool):
		""""""
		...

	def AddFaceTriangle(self, aPid: int, bPid: int, cPid: int):
		""""""
		...

	def DeletePoint(self, pid: int) -> None:
		""""""
		...

	@overload
	def DeleteEdge(self, orgPid: int, destPid: int) -> None:
		""""""
		...

	@overload
	def DeleteEdge(self, e) -> None:
		""""""
		...

	@overload
	def LightWeightDeleteEdge(self, edgeCell) -> None:
		""""""
		...

	@overload
	def LightWeightDeleteEdge(self, e) -> None:
		""""""
		...

	def DeleteFace(self, faceToDelete: int) -> None:
		""""""
		...

	@overload
	def GetPoint(self, pid: int, pt) -> bool:
		""""""
		...

	@overload
	def GetPoint(self, pid: int):
		""""""
		...

	def GetVector(self, pid: int) -> Sequence[float]:
		""""""
		...

	@overload
	def GetEdge(self):
		""""""
		...

	@overload
	def GetEdge(self, eid: int):
		""""""
		...

	@overload
	def FindEdge(self, pid0: int):
		""""""
		...

	@overload
	def FindEdge(self, pid0: int, pid1: int):
		""""""
		...

	def FindEdgeCell(self, pid0: int, pid1: int):
		""""""
		...

	def ComputeEdgeLength(self, e) -> float:
		""""""
		...

	def ComputeNumberOfPoints(self) -> int:
		""""""
		...

	def ComputeNumberOfFaces(self) -> int:
		""""""
		...

	def ComputeNumberOfEdges(self) -> int:
		""""""
		...

	def Splice(self, a, b) -> int:
		""""""
		...

	def ClearFreePointAndCellIndexesLists(self) -> None:
		""""""
		...

	def GetNumberOfFaces(self) -> int:
		""""""
		...

	def GetNumberOfEdges(self) -> int:
		""""""
		...

