fmeobjects.FMEAggregate
appendPart(geometry), 

appendPartInLocalCoordinates(geometry), 

appendParts(aggregate), 

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. 
getAppearanceReference(front), 

Area calculation. 

This method will get the geometry definition reference associated with this aggregate, if this aggregate is a geometry instance. 

This method retrieves the local origin associated with the geometry instance, if this aggregate is a geometry instance. 

This method retrieves the geometry instance transformation matrix associated with the geometry instance, if this aggregate is a geometry instance. 

Retrieve the names of the measures on this geometry. 

This method determines if the aggregate contains a MultipleGeometry, that is, whether the aggregate is structured in a way such that each part is its own geometry separate from the other parts in the aggregate. 

This routine retrieves the 'name' of this geometry as a 

getPartAt(index), 

getPartAtInLocalCoordinates(index), 


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. 
Gets this aggregate's transformation matrix. 

hasGeometryInstance(recursive), 

Check if this geometry or any sub part of this geometry has measures. 

Returns whether or not the geometry has a name. 

This method determines if the aggregate has a transformation matrix or not. 

Returns whether or not the geometry is 3D. 

This method determines if the aggregate's parts conform to a 

Check if the geometry is an aggregate or multipart collection. 

This method determines if the aggregate is a simple aggregate. 


Returns 
This returns the number of geometries that make up this aggregate. 

offset(point), 

This removes and returns the last geometry of the aggregate. 


Removes the measure with name 'measureName' if supplied, or the default measure, if there is one. 

This method has 4 modes: 
Removes this aggregate's transformation matrix. 


Renames the measure specified by 'oldMeasureName' to the new name, specified by 'newMeasureName'. 
Recursively resolves surface parts with default appearances by replacing these defaults with the inherited appearance references stored by the parent surface, if such a value exists. 


The angle is CCW up from the horizontal and is measured in degrees. 

Applies a scale factor to the aggregate. 
This method associates an appearance within the Library with this aggregate. 

setGeometryDefinitionReference(gdReference), 

This method sets the geometry instance local origin of this aggregate. 

setGeometryInstanceMatrix(matrix), 

setMultipleGeometryFlag(isMultiple), 


Sets the geometry's name with a 

Sets a geometry trait with the specified value. 

This method supplies a null trait value with a type to the geometry. 
setTransformationMatrix(matrix), 
 class FMEAggregate
FME Aggregate Class
Create an instance of an Aggregate geometry object.
init()
Default FMEAggregate constructor.
 Return type:
 Returns:
An instance of an Aggregate geometry object.
init(aggregate)
Create a copy of the passed in Aggregate geometry object.
 Parameters:
aggregate (FMEAggregate) – The Aggregate geometry object to create a copy of.
 Return type:
 Returns:
An instance of an Aggregate Geometry object.
 __init__(*args, **kwargs)
 appendPart()
appendPart(geometry),
This appends the geometry to the aggregate. If
None
is passed in, nothing will be appended. Note that the geometries stored in an aggregate may have different dimensions. Calling this method will implicitly apply and clear any matrix associated with this aggregate. Parameters:
geometry (FMEGeometry) – The geometry to be appended.
 Return type:
None
 Raises:
FMEException – An exception is raised if an error occurred.
 appendPartInLocalCoordinates()
appendPartInLocalCoordinates(geometry),
This appends the geometry to the aggregate. If
None
is passed in, nothing will be appended. Note that the geometries stored in an aggregate may have different dimensions. Calling this method will leave any matrix associated with the aggregate intact, meaning the new part will have any matrix applied. Parameters:
geometry (FMEGeometry) – The geometry to be appended.
 Return type:
None
 Raises:
FMEException – An exception is raised if an error occurred.
 appendParts()
appendParts(aggregate),
This appends the aggregate of geometries passed in to the aggregate. If None is passed in, nothing will be appended. Calling this method will implicitly apply and clear any matrix associated with this aggregate.
 Parameters:
aggregate (FMEAggregate) – The aggregate of geometries to be appended.
 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
 getAppearanceReference()
getAppearanceReference(front),
This method returns the appearance reference within the Library associated with this aggregate. The ‘front’ parameter controls whether this query should return the front or the back appearance reference. Both can be fetched independently. If this aggregate is a regular aggregate with no geometry instance, a
FMEException
will be thrown.
 getGeometryDefinitionReference()
This method will get the geometry definition reference associated with this aggregate, if this aggregate is a geometry instance. If this aggregate is a regular aggregate with no geometry instance,
None
will be returned.
 getGeometryInstanceLocalOrigin()
This method retrieves the local origin associated with the geometry instance, if this aggregate is a geometry instance. This method will return
None
if the aggregate is a regular aggregate.
 getGeometryInstanceMatrix()
This method retrieves the geometry instance transformation matrix associated with the geometry instance, if this aggregate is a geometry instance. This method will return
None
if the aggregate either contains no such matrix or is a regular aggregate.
 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.
 getMultipleGeometryFlag()
This method determines if the aggregate contains a MultipleGeometry, that is, whether the aggregate is structured in a way such that each part is its own geometry separate from the other parts in the aggregate. As a result, it is possible for an aggregate of 1 part to return true since it is about the structure of the aggregate, and not the content.
 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.
 getPartAt()
getPartAt(index),
This method returns the geometry at the given index.
None
is returned if the index is out of range. For an aggregate with a transformation matrix, the transformed geometry is returned. Parameters:
index (int) – The index of the geometry part to return.
 Return type:
FMEGeometry or None
 Returns:
The geometry at the given index. Note: This method returns a terminal geometry type of the
FMEGeometry
; i.e. one of the leaf classes in theFMEGeometry
inheritance graph. For example, aFMEPoint
is returned if the geometry truly is a point. Raises:
FMEException – An exception is raised if an error occurred.
 getPartAtInLocalCoordinates()
getPartAtInLocalCoordinates(index),
This method returns the geometry at the given index.
None
is returned if the index is out of range. For an aggregate with a transformation matrix, it will NOT be applied to the part. Parameters:
index (int) – The index of the geometry part to return.
 Return type:
FMEGeometry or None
 Returns:
The geometry at the given index. Note: This method returns a terminal geometry type of the
FMEGeometry
; i.e. one of the leaf classes in theFMEGeometry
inheritance graph. For example, aFMEPoint
is returned if the geometry truly is a point. 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
.
 getTransformationMatrix()
Gets this aggregate’s transformation matrix. If the aggregate does not have such a matrix, an identity matrix is returned. Only the top three rows of the matrix will be returned, as the bottom row is always [ 0 0 0 1 ].
 hasGeometryInstance()
hasGeometryInstance(recursive),
This method returns
True
if this aggregate contains an instance of a geometry definition. If the parameter recursive is set toFalse
, it will only test this aggregate itself. If ‘recursive’ is equal toTrue
, then this method will returnTrue
if any part contained in this aggregate at any level is a geometry instance.
 hasMeasures()
Check if this geometry or any sub part of this geometry has measures.
 hasName()
Returns whether or not the geometry has a name.
 hasTransformationMatrix()
This method determines if the aggregate has a transformation matrix or not.
 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 subparts is 3D. If the collection is empty or all of its members are 2D, this method will returnFalse
.
 isAMulti()
This method determines if the aggregate’s parts conform to a
FMEMultiCurve
,FMEMultiArea
, orFMEMultiText
, representation.
 isCollection()
Check if the geometry is an aggregate or multipart collection.
 isSimpleAggregate()
This method determines if the aggregate is a simple aggregate. i.e. that none of its geometries are an Aggregate or Multi.
 measureExists(measureName)
Returns
True
if the specified measure exists andFalse
otherwise. If the ‘measureName’ parameter is not specified then the default measure is checked.
 numParts()
This returns the number of geometries that make up this aggregate.
 Return type:
 Returns:
The number of geometries in aggregate.
 offset()
offset(point),
Offsets the geometry by the coords specified by ‘point’. The offset will be applied to the transformation matrix associated with this aggregate. If the aggregate has no matrix, a new matrix will be created.
 Parameters:
point (FMEPoint) – The point to offset the coordinates of the geometry by.
 Return type:
None
 Raises:
FMEException – An exception is raised if an error occurred.
 removeLastPart()
This removes and returns the last geometry of the aggregate. If there are no geometries in the aggregate, it will return
None
. Calling this method will implicitly apply and clear any matrix associated with this aggregate. Return type:
FMEGeometry or None
 Returns:
The last geometry of the aggregate. Note: This method returns a terminal geometry type of the
FMEGeometry
; i.e. one of the leaf classes in theFMEGeometry
inheritance graph. For example, aFMEPoint
is returned if the geometry truly is a point. 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 multisurface will remove all traits at the root level of the multisurface, 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
 removeTransformationMatrix()
Removes this aggregate’s transformation matrix.
 Return type:
None
 renameMeasure(oldMeasureName, newMeasureName)
Renames the measure specified by ‘oldMeasureName’ to the new name, specified by ‘newMeasureName’.
 resolvePartDefaults()
Recursively resolves surface parts with default appearances by replacing these defaults with the inherited appearance references stored by the parent surface, if such a value exists.
The nearest nondefault ancestor value will be used to set the default appearances on the part.
Instances contained within the aggregate will only be instantiated if a surface part within that instance has a default appearance and could inherit an appearance from a parent surface.
 Return type:
None
 rotate2D(center, angle)
The angle is CCW up from the horizontal and is measured in degrees. The rotation will be applied to the transformation matrix associated with this aggregate. If the aggregate has no matrix, a new matrix will be created.
 Parameters:
 Return type:
None
 Raises:
FMEException – An exception is raised if an error occurred.
 scale(xscale, yscale, zscale)
Applies a scale factor to the aggregate. The scale factor will be applied to the transformation matrix associated with this aggregate. The ‘zscale’ is ignored if geometry is 2D. If the aggregate has no matrix, a new matrix will be created.
 Parameters:
 Return type:
None
 Raises:
FMEException – An exception is raised if an error occurred.
 setAppearanceReference(appearanceRef, front)
This method associates an appearance within the Library with this aggregate. This is done by passing in the unique appearance reference for this appearance. Subsequent calls to this method on the same side, will override the previous appearance used with the new appearance passed in.
An appearance reference of ‘0’ represents the default appearance. Interpretation of the default appearance is left to the consumer of this geometry. When set at this
FMEAggregate
level, the appearance represents the default appearance to apply when the contained surfaces use the default appearance instead of a specific appearance. Contained surfaces may be found within nested aggregates, geometry instances that reference geometries containing surfaces, or as surfaces or multisurfaces.The second parameter controls whether this action should take place on the front of the contained surfaces or the back. Both can be set independently. The ‘appearanceRef’ should be a valid reference to a definition stored in the
FMELibrary
. If the reference was not found in the library, it will still attach the reference to the instance, but will throw aFMEException
. This is an unhealthy situation as it represents a ‘dangling reference’. Parameters:
 Return type:
None
 Raises:
FMEException – An exception is raised if an error occurred or the reference was not found in the library and a dangling reference was attached.
 setGeometryDefinitionReference()
setGeometryDefinitionReference(gdReference),
This method sets the geometry definition reference of this aggregate, if this aggregate is not currently a geometry instance, this call will cause the aggregate to destroy all owned parts and turn the aggregate into a geometry instance.
If ‘gdReference’ reference was not found in the library, it will still attach the reference to the instance, but will this is an unhealthy situation as it represents a ‘dangling reference’ and the user should decide to remedy this by either adding a Geometry Definition with that exact reference to the library, or else remove the reference from this geometry instance.
 Parameters:
gdReference (int) – A valid geometry definition reference to a geometry definition stored in the
FMELibrary
. Return type:
None
 Raises:
FMEException – An exception is raised if an error occurred or the reference was not found in the library and a dangling reference was attached.
 setGeometryInstanceLocalOrigin(x, y, z)
This method sets the geometry instance local origin of this aggregate. If this aggregate is not currently a geometry instance, this call will cause the aggregate to destroy all owned parts and turn the aggregate into a geometry instance. The local origin is the origin from which the geometry instance transformation matrix is applied. The default local origin is (0,0,0).
 setGeometryInstanceMatrix()
setGeometryInstanceMatrix(matrix),
This method sets the geometry instance transformation matrix of this aggregate. If this aggregate is not currently a geometry instance, this call will cause the aggregate to destroy all owned parts and turn the aggregate into a geometry instance. The transformation matrix is applied to the geometry definition from the local origin to obtain the instantiated geometry.
 setMultipleGeometryFlag()
setMultipleGeometryFlag(isMultiple),
This method sets whether the aggregate contains a MultipleGeometry, that is, whether the aggregate is structured in a way such that each part is its own geometry separate from the other parts in the aggregate.
 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
 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
.
 setTransformationMatrix()
setTransformationMatrix(matrix),
Sets this aggregate’s transformation matrix, replacing the existing matrix if it exists. Only three rows are expected in the input array, as a bottom row of [ 0 0 0 1 ] is assumed.