fmeobjects.FMEDonut
|
If the inner boundary being added has a different dimension than the other boundaries, anything 2D will be forced to 3D. |
Adds a simple area as an inner boundary. |
|
This method returns the bounding box of the geometry. |
|
This method returns the bounding cube of the geometry. |
|
Returns the bounds of the geometry. |
|
Remove all measures from the geometry. |
|
Copies all the attributes from the given feature to traits on this geometry, if they match the (optional) regular expression. |
|
|
Copies the name of the 'sourceGeometry' onto this geometry. |
Copies all the traits from the given geometry that match the (optional) regular expression. |
|
|
Copies all the traits from this geometry to attributes on the given feature, if they match the (optional) regular expression. |
Deletes the geometry's name. |
|
Reduces the geometry to 2D. |
|
|
This sets the geometry's dimension to 3D. |
Area calculation. |
|
Retrieves the inner boundary at 'index' as a |
|
Retrieves the inner boundary at 'index' as a |
|
Retrieve the names of the measures on this geometry. |
|
This routine retrieves the 'name' of this geometry as a |
|
Retrieves the outer boundary as a |
|
Retrieves the outer boundary as a |
|
|
Retrieves the geometry trait value of the specified trait name. |
Retrieve the names of the traits on this geometry. |
|
|
This method returns a tuple of a boolean, indicating if the trait is null, a boolean, indicating if the trait is missing, and an integer representing the type of the trait. |
|
Returns the type of given trait. |
Check if this geometry or any sub part of this geometry has measures. |
|
Returns whether or not the geometry has a name. |
|
Returns whether or not the geometry is 3D. |
|
Returns |
|
Check if the geometry is an aggregate or multi-part collection. |
|
Determines if area is convex. |
|
|
Works similarly to |
|
This returns |
|
Returns |
|
Returns |
Returns the number of inner boundaries on this donut. |
|
|
Offsets the area by the coords specified by 'offsetPoint'. |
|
This sets the geometry to the specified orientation. |
|
Removes any adjacent duplicate points. |
Removes and returns the last inner boundary as a curve. |
|
Removes and returns the last inner boundary as a simple area. |
|
|
Removes the measure with name 'measureName' if supplied, or the default measure, if there is one. |
|
This method has 4 modes: |
|
Renames the measure specified by 'oldMeasureName' to the new name, specified by 'newMeasureName'. |
This reverses the order of the area's points. |
|
|
Rotate the area counterclockwise around the 'center' point by the specified 'angle' (in degrees). |
|
Scale the feature by the given amounts. |
|
Sets the geometry's name with a |
|
If the curve is not closed, the closure will be assumed as a straight line from the start point to the end point. |
Sets the outer boundary of the donut. |
|
|
Sets a geometry trait with the specified value. |
|
This method supplies a null trait value with a type to the geometry. |
- class FMEDonut
FME Donut Class
Create an instance of a Donut geometry object.
init(outerBoundary)
Creates a new Donut geometry object. The curve passed in is used to define the outer boundary of the donut.
- Parameters:
outerBoundary (FMECurve) – The outer boundary as a curve.
- Return type:
- Returns:
An instance of a donut geometry object.
init(outerBoundary)
Creates a new Donut geometry object. The simple area passed in is used to define the outer boundary of the donut.
- Parameters:
outerBoundary (FMESimpleArea) – The outer boundary as a simple area.
- Return type:
- Returns:
An instance of a donut geometry object.
init(donut)
Create a copy of the passed in Donut geometry object.
- Parameters:
donut (FMEDonut) – The Donut geometry object to create a copy of.
- Return type:
- Returns:
An instance of a Donut Geometry object.
- __init__(*args, **kwargs)
- addInnerBoundaryCurve(innerBoundary)
If the inner boundary being added has a different dimension than the other boundaries, anything 2D will be forced to 3D. Note that the default Z value is 0.0 when forcing 2D geometry to 3D. If the curve is not closed, the closure will be assumed as a straight line from the start point to the end point. If the ‘innerBoundary’ being added is
None
, nothing will be done.- Parameters:
innerBoundary (FMECurve or None) – The curve to add to the inner boundary.
- Return type:
None
- Raises:
FMEException – An exception is raised if an error occurred.
- addInnerBoundarySimpleArea(innerBoundary)
Adds a simple area as an inner boundary. If the inner boundary being added has a different dimension than the other boundaries, anything 2D will be forced to 3D. Note that the default Z value is 0.0 when forcing 2D geometry to 3D. If the ‘innerBoundary’ being added is
None
, nothing will be done.- Parameters:
innerBoundary (FMESimpleArea or None) – The simple area to add to the inner boundary.
- Return type:
None
- Raises:
FMEException – An exception is raised if an error occurred.
- boundingBox()
This method returns the bounding box of the geometry.
- boundingCube()
This method returns the bounding cube of the geometry.
- bounds()
Returns the bounds of the geometry.
- clearMeasures()
Remove all measures from the geometry.
- Return type:
None
- copyAttributesFromFeature(sourceFeature, overwriteExisting, regexp, prefix)
Copies all the attributes from the given feature to traits on this geometry, if they match the (optional) regular expression.
- Parameters:
sourceFeature (FMEFeature) – The feature to copy attributes from.
overwriteExisting (bool) – Existing traits will be overwritten only if overwriteExisting is
True
.regexp (str) – (Optional) The regular expression to match the attributes against. If regexp is not specified, then all attributes will be copied.
prefix (str) – (Optional) The prefix is put on all the trait names as they are copied. If it is not specified, a prefix will not be added to the trait names.
- Return type:
None
- copyNameFromGeometry(sourceGeometry)
Copies the name of the ‘sourceGeometry’ onto this geometry. If ‘sourceGeometry’s name is blank or
None
, this geometry’s name will becomeNone
.- Parameters:
sourceGeometry (FMEGeometry) – The geometry to copy the name from.
- Return type:
None
- copyTraitsFromGeometry(sourceGeometry, overwriteExisting, regexp, prefix)
Copies all the traits from the given geometry that match the (optional) regular expression.
- Parameters:
sourceGeometry (FMEGeometry) – The geometry to copy traits from.
overwriteExisting (bool) – Existing traits will be overwritten only if overwriteExisting is
True
.regexp (str) – (Optional) The regular expression to match the traits against. If regexp is not specified, or is an empty string, then all traits will be copied.
prefix (str) – (Optional) The prefix is put on all the trait names as they are copied. If it is not specified, a prefix will not be added to the trait names.
- Return type:
None
- copyTraitsToFeature(destFeature, overwriteExisting, regexp, prefix)
Copies all the traits from this geometry to attributes on the given feature, if they match the (optional) regular expression.
- Parameters:
destFeature (FMEFeature) – The feature to copy traits to.
overwriteExisting (bool) – Existing attributes will be overwritten only if overwriteExisting is
True
.regexp (str) – (Optional) The regular expression to match the traits against. If regexp is not specified, or is an empty string, then all traits will be copied.
prefix (str) – (Optional) The prefix is put on all the attribute names as they are copied. If it is not specified, a prefix will not be added to the attribute names.
- Return type:
None
- deleteName()
Deletes the geometry’s name. If a name existed prior to this call then
True
is returned; otherwiseFalse
is returned.- Return type:
- Returns:
Returns a boolean indicating whether or not the name existed before deletion.
- force2D()
Reduces the geometry to 2D.
- Return type:
None
- force3D(newZ)
This sets the geometry’s dimension to 3D. All Z values are set to the value passed in, even if the geometry is already 3D.
- Parameters:
newZ (float) – The new Z value.
- Return type:
None
- getInnerBoundaryAsCurveAt(index)
Retrieves the inner boundary at ‘index’ as a
FMECurve
.- Parameters:
index (int) – The index from which to retrieve the inner boundary as a curve from.
- Return type:
- Returns:
The inner boundary as a
FMECurve
, orNone
if the specified index is greater than the number of inner boundaries. Returns the terminal geometry of theFMECurve
, either aFMEPath
,FMEArc
orFMELine
.- Raises:
FMEException – An exception is raised if an error occurred.
- getInnerBoundaryAsSimpleAreaAt(index)
Retrieves the inner boundary at ‘index’ as a
FMESimpleArea
.- Parameters:
index (int) – The index from which to retrieve the inner boundary as a simple area from.
- Return type:
FMEPolygon, FMEEllipse or None
- Returns:
The inner boundary as a
FMESimpleArea
, orNone
if the specified index is greater than the number of inner boundaries. Returns the terminal geometry of theFMESimpleArea
, either aFMEPolygon
or aFMEEllipse
.- Raises:
FMEException – An exception is raised if an error occurred.
- getMeasureNames()
Retrieve the names of the measures on this geometry.
- Return type:
- Returns:
Return a tuple storing the names of the measures on this geometry. This will return an empty tuple if there are no measures. For
FMEAggregate
,FMEMultiSurface
, andFMECompositeSurface
, this will return the union of all measure names of all of its parts.
- getName()
This routine retrieves the ‘name’ of this geometry as a
str
. This will returnNone
if it did not have a name associated with it.- Return type:
str or None
- Returns:
The geometry’s name.
- getOuterBoundaryAsSimpleArea()
Retrieves the outer boundary as a
FMESimpleArea
.- Return type:
- Returns:
The outer boundary as a
FMESimpleArea
. Returns the terminal geometry of theFMESimpleArea
, either aFMEPolygon
or aFMEEllipse
.- Raises:
FMEException – An exception is raised if an error occurred.
- getTrait(traitName)
Retrieves the geometry trait value of the specified trait name. Null trait values will be returned as an empty string. Binary blob traits are returned as a bytearray.
None
is returned when the trait is not found on the geometry.
- getTraitNames()
Retrieve the names of the traits on this geometry.
- getTraitNullMissingAndType(traitName)
This method returns a tuple of a boolean, indicating if the trait is null, a boolean, indicating if the trait is missing, and an integer representing the type of the trait. The first boolean is
True
if ‘traitName’ maps to a null trait value on the geometry. Otherwise it isFalse
. The second boolean isTrue
if ‘traitName’ maps to a no value on the geometry. Otherwise it isFalse
. If the trait is absent,FME_ATTR_UNDEFINED
is returned for the type.The possible trait types are
FME_ATTR_UNDEFINED
,FME_ATTR_BOOLEAN
,FME_ATTR_INT8
,FME_ATTR_UINT8
,FME_ATTR_INT16
,FME_ATTR_UINT16
,FME_ATTR_INT32
,FME_ATTR_UINT32
,FME_ATTR_REAL32
,FME_ATTR_REAL64
,FME_ATTR_REAL80
,FME_ATTR_STRING
,FME_ATTR_ENCODED_STRING
,FME_ATTR_INT64
,FME_ATTR_UINT64
.
- getTraitType(traitName)
Returns the type of given trait. If the trait cannot be found,
FME_ATTR_UNDEFINED
will be returned.Returns one of
FME_ATTR_UNDEFINED
,FME_ATTR_BOOLEAN
,FME_ATTR_INT8
,FME_ATTR_UINT8
,FME_ATTR_INT16
,FME_ATTR_UINT16
,FME_ATTR_INT32
,FME_ATTR_UINT32
,FME_ATTR_REAL32
,FME_ATTR_REAL64
,FME_ATTR_REAL80
,FME_ATTR_STRING
,FME_ATTR_ENCODED_STRING
,FME_ATTR_INT64
,FME_ATTR_UINT64
.
- hasMeasures()
Check if this geometry or any sub part of this geometry has measures.
- hasName()
Returns whether or not the geometry has a name.
- is3D()
Returns whether or not the geometry is 3D.
- Return type:
- Returns:
Returns
True
if the geometry is 3D andFalse
otherwise. ForFMENull
, this method will always returnTrue
. ForFMEAggregate
,FMEMultiPoint
,FMEMultiArea
,FMEMultiText
andFMEMultiCurve
, this method will returnTrue
if any one of the sub-parts is 3D. If the collection is empty or all of its members are 2D, this method will returnFalse
.
- isBoundaryLinear()
Returns
True
if the outer boundary (and inner boundaries in the case ofFMEDonut
) of this area containsFMELine
only.- Return type:
- Returns:
Whether the area’s boundaries contain only lines.
- isCollection()
Check if the geometry is an aggregate or multi-part collection.
- isConvex()
Determines if area is convex. The polygon making up the area is convex if all internal angles are less than 180 degrees and it’s not self-intersecting. Imperfectly planar 3D polygons are tolerated.
- Return type:
- Returns:
Whether the area is convex.
- isInPlane(tolerance, normalVector, valD, recalculateD)
Works similarly to
isPlanar()
, but checks planarity with respect to given normal or given plane (if plane equation D is specified - see below). If given normal is the zero vector, the normal used to check the planarity is computed using Newell’s method as inisPlanar()
. valD is a reference to a value of D in the plane equation AX + BY + CZ = D. It can be used to make sure that multiple pieces lie in the same plane. If ‘recalculateD’ is set toFalse
, the passed in value of D will be used in the calculation. If ‘recalcualteD’ is set toTrue
, the passed in value is ignored and is instead automatically calculated (and returned in the second position of the returned tuple). A useful calling pattern for ensuring co-planarity is to get valD computed on the first call to the function setting recalculateD toTrue
, and then use this value for future calls with recalculateD toFalse
.- Parameters:
- Return type:
- Returns:
A tuple containing a boolean, tuple, and float representing: 1) Whether or not the area is in plane; 2) The normal vector returned; and 3) The value ‘D’. Note: If recalculateD is
False
, the tuple returned will only contain the boolean and vector tuple (i.e. ‘valD’ is not returned).
- isPlanar(tolerance)
Returns
True
if this is planar within the given tolerance, andFalse
otherwise.The planarity condition is computed by the following algorithm. The normal vector <A, B, C> is determined by the vertices of this area using Newell’s method. For the first point (x’, y’, z’) of this area, we compute D’ = Ax’ + By’ + Cz’. Then, this area is planar if and only if every subsequent point (x, y, z) of this area gives a D = Ax + By + Cz, that is within the tolerance amount of D’. That is, | D - D’ | <= tolerance.
If the specified tolerance is negative, then this method always returns
True
.
- measureExists(measureName)
Returns
True
if the specified measure exists andFalse
otherwise. If the ‘measureName’ parameter is not specified then the default measure is checked.
- numInnerBoundaries()
Returns the number of inner boundaries on this donut.
- Return type:
- Returns:
The number of inner boundaries on this donut.
- offset(offsetPoint)
Offsets the area by the coords specified by ‘offsetPoint’.
- Parameters:
offsetPoint (FMEPoint) – The
FMEPoint
to offset the area by.- Return type:
None
- Raises:
FMEException – An exception is raised if an error occurred.
- orient(rightOrLeft)
This sets the geometry to the specified orientation.
- removeDuplicates(checkZ)
Removes any adjacent duplicate points. If ‘checkZ’ is
True
, x, y, and z coordinates are checked, otherwise only x and y are.- Parameters:
checkZ (bool) – Whether to check the z coordinate.
- Return type:
None
- removeLastInnerBoundaryAsCurve()
Removes and returns the last inner boundary as a curve.
- removeLastInnerBoundaryAsSimpleArea()
Removes and returns the last inner boundary as a simple area.
- Return type:
- Returns:
The last inner boundary as a
FMESimpleArea
. Returns the terminal geometry of theFMESimpleArea
, either aFMEEllipse
, orFMEPolygon
.- Raises:
FMEException – An exception is raised if an error occurred.
- removeMeasure(measureName)
Removes the measure with name ‘measureName’ if supplied, or the default measure, if there is one.
- Parameters:
measureName (str) – (Optional) The name of the measure to remove.
- Return type:
None
- removeTraits(regexp)
This method has 4 modes:
Remove all traits at the top level: regex == NULL
Remove some traits at the top level: regex == <string>
Remove all traits at all levels: regex ==
kFME_RecurseAll
Remove some traits at all levels: regex ==
kFME_RecurseSome
<string>
For example, specifying regex == NULL for a multi-surface will remove all traits at the root level of the multi-surface, whereas specifying regex ==
kFME_RecurseSome
<string> will remove all traits from all levels of the multi surface that match <string>. If <string> is an illegal regular expression, no traits will be removed.- Return type:
None
- renameMeasure(oldMeasureName, newMeasureName)
Renames the measure specified by ‘oldMeasureName’ to the new name, specified by ‘newMeasureName’.
- reverse()
This reverses the order of the area’s points.
- Return type:
None
- rotate2D(center, angle)
Rotate the area counterclockwise around the ‘center’ point by the specified ‘angle’ (in degrees).
- Parameters:
- Return type:
None
- Raises:
FMEException – An exception is raised if an error occurred.
- scale(xScale, yScale, zScale)
Scale the feature by the given amounts.
- Parameters:
- Return type:
None
- Raises:
FMEException – An exception is raised if an error occurred.
- setName(name)
Sets the geometry’s name with a
str
. By supplying a blank name as input, this method will act asdeleteName()
.- Parameters:
name (str) – The geometry’s new name.
- Return type:
None
- setOuterBoundaryCurve(outerBoundary)
If the curve is not closed, the closure will be assumed as a straight line from the start point to the end point. If the new outer boundary has a different dimension than the inner boundaries, everything will be forced to 3D. Note that the default Z value is 0.0 when forcing 2D geometry to 3D. This will return an error if the outerBoundary passed in is invalid or
None
.- Parameters:
outerBoundary (FMECurve) – The curve to set as the outer boundary.
- Return type:
None
- Raises:
FMEException – An exception is raised if an error occurred.
- setOuterBoundarySimpleArea(outerBoundary)
Sets the outer boundary of the donut. If the new outer boundary has a different dimension than the inner boundaries, everything will be forced to 3D. Note that the default Z value is 0.0 when forcing 2D geometry to 3D.
- Parameters:
outerBoundary (FMESimpleArea) – The simple area to set as the outer boundary.
- Return type:
None
- Raises:
FMEException – An exception is raised if an error occurred.
- setTrait(traitName, traitValue)
Sets a geometry trait with the specified value. If the geometry trait already exists, its value and type will be changed. The following type numeric mappings are used:
PyInt ==> FME_Int32
PyFloat ==> FME_Real64
PyLong ==> FME_Int64
Binary values are to be specified as bytearray values or bytes values.
- setTraitNullWithType(traitName, traitType)
This method supplies a null trait value with a type to the geometry. If a trait with the same name already exists, it is overwritten.
Trait type must be one of
FME_ATTR_UNDEFINED
,FME_ATTR_BOOLEAN
,FME_ATTR_INT8
,FME_ATTR_UINT8
,FME_ATTR_INT16
,FME_ATTR_UINT16
,FME_ATTR_INT32
,FME_ATTR_UINT32
,FME_ATTR_REAL32
,FME_ATTR_REAL64
,FME_ATTR_REAL80
,FME_ATTR_STRING
,FME_ATTR_ENCODED_STRING
,FME_ATTR_INT64
,FME_ATTR_UINT64
.