Loading [MathJax]/jax/output/HTML-CSS/config.js
Polygon Class Reference

interface to a 2.5d polygon of arbitrary complexity More...

+ Inheritance diagram for Polygon:

Public Member Functions

def cloneAddInfoFullLayout (self)
 
def cloneAddInfoView (self, arg1, arg2)
 possible calls: More...
 
def eraseLayout (self, arg1)
 
def faces (self)
 iterate over all faces More...
 
def getAddInfo (self)
 
def getArea (self)
 
def getAsDoubleByView (self, arg1, arg2, arg3)
 
def getMaxDepth (self, ignorDegeneratedFaces=False)
 returns the maximum hierarchy depth for this poylgon More...
 
def getPointAddInfoStatistics (self)
 
def hasInfo (self)
 
def info (self)
 
def isEmpty (self)
 
def parts (self)
 iterate over all level 0-parts More...
 
def points (self)
 iterate over all points More...
 
def restoreAddInfoFullLayout (self)
 
def setAddInfo (self, arg1)
 
def setAddInfoView (self, arg1, arg2)
 
def sizeFace (self)
 
def sizePart (self)
 
def sizePoint (self)
 
def type (self)
 
- Public Member Functions inherited from Geometry
def getScopSemantic (self)
 
def setScopSemantic (self, arg1)
 

Detailed Description

interface to a 2.5d polygon of arbitrary complexity

The DM polygon object can handle arbitrary nested polygons (often called multi part polygons). The implementation is based on the CGAL nef polygons, a 2d polyhedron representation. Hence, positive regions (=part of the polygon) may contain an arbitrary number of negative regions (=not part of the polygon. also called holes) contains positive regions again and so on defining a hierarchy (=levels of polygons) Additionally the number of level 0 polygons (top level hierarchy) is not limited.

Such polygon objects can only be constructed by a corresponding polygon factory object. However, it has to be considered that there are some prerequisites regarding the topological correctness of the input data. see the IPolylineFactory for details

The polygon object is structured in a hierarchy and can be traversed with the corresponding part iterators. To identify positive and negative region use the IFace::positveFace member function of the corresponding part object. The part object has no nested parts if the IPart::sizePart retruns zero or the distance of the part iterators is empty.

For accessing the points of part object use the corresponding point iterator functions. Note that points of positive regions are sorted counterclockwise and points of negative regions clockwise.

For listing all polygon points in a non-hierarchical manner use the point iterator function of the polygon object itself

Member Function Documentation

◆ cloneAddInfoFullLayout()

def cloneAddInfoFullLayout (   self)
Parameters
self(type: Polygon) self pointer

◆ cloneAddInfoView()

def cloneAddInfoView (   self,
  arg1,
  arg2 
)

possible calls:

  • cloneAddInfoView(self, arg1: AddInfoLayout, arg2: object)
  • cloneAddInfoView(self, arg1: AddInfoLayout, arg2: AddInfoLayout)
Parameters
self(type: Polygon) self pointer
arg1(type: AddInfoLayout) mandatory parameter
arg2(type: object | AddInfoLayout) mandatory parameter

◆ eraseLayout()

def eraseLayout (   self,
  arg1 
)
Parameters
self(type: Polygon) self pointer
arg1(type: AddInfoLayout) mandatory parameter

◆ faces()

def faces (   self)

iterate over all faces

Parameters
self(type: Polygon) self pointer
Returns
(type: collections.Iterable[PolygonFace])

◆ getAddInfo()

def getAddInfo (   self)
Parameters
self(type: Polygon) self pointer
Returns
(type: AddInfo)

◆ getArea()

def getArea (   self)
Parameters
self(type: Polygon) self pointer
Returns
(type: float)

◆ getAsDoubleByView()

def getAsDoubleByView (   self,
  arg1,
  arg2,
  arg3 
)
Parameters
self(type: Polygon) self pointer
arg1(type: AddInfoLayout) mandatory parameter
arg2(type: object) mandatory parameter
arg3(type: object) mandatory parameter
Returns
(type: bool)

◆ getMaxDepth()

def getMaxDepth (   self,
  ignorDegeneratedFaces = False 
)

returns the maximum hierarchy depth for this poylgon

If a polygon is empty, then 0 is returned. If the polygon consists of one part or spatially separated parts (=positive faces) only, the depth is 1. If parts have one or multiples holes (=negative face) than the depth is 2. If holes contains islands then the depth is 2 and so on.

Parameters
ignorDegeneratedFacesflag if degenerated faces should be considered or not
Returns
maximum hierarchy depth

◆ getPointAddInfoStatistics()

def getPointAddInfoStatistics (   self)
Parameters
self(type: Polygon) self pointer
Returns
(type: AddInfoStatistics)

◆ hasInfo()

def hasInfo (   self)
Parameters
self(type: Polygon) self pointer
Returns
(type: bool)

◆ info()

def info (   self)
Parameters
self(type: Polygon) self pointer
Returns
(type: AddInfo)

◆ isEmpty()

def isEmpty (   self)
Parameters
self(type: Polygon) self pointer
Returns
(type: bool)

◆ parts()

def parts (   self)

iterate over all level 0-parts

Parameters
self(type: Polygon) self pointer
Returns
(type: collections.Iterable[PolygonFace])

◆ points()

def points (   self)

iterate over all points

Parameters
self(type: Polygon) self pointer
Returns
(type: collections.Iterable[Point])

◆ restoreAddInfoFullLayout()

def restoreAddInfoFullLayout (   self)
Parameters
self(type: Polygon) self pointer

◆ setAddInfo()

def setAddInfo (   self,
  arg1 
)
Parameters
self(type: Polygon) self pointer
arg1(type: AddInfo) mandatory parameter

◆ setAddInfoView()

def setAddInfoView (   self,
  arg1,
  arg2 
)
Parameters
self(type: Polygon) self pointer
arg1(type: AddInfoLayout) mandatory parameter
arg2(type: object) mandatory parameter

◆ sizeFace()

def sizeFace (   self)
Parameters
self(type: Polygon) self pointer
Returns
(type: int)

◆ sizePart()

def sizePart (   self)
Parameters
self(type: Polygon) self pointer
Returns
(type: int)

◆ sizePoint()

def sizePoint (   self)
Parameters
self(type: Polygon) self pointer
Returns
(type: int)

◆ type()

def type (   self)
Parameters
self(type: Polygon) self pointer
Returns
(type: GeometryType)

Reimplemented from Geometry.