# pygplates.ResolvedTopologicalSubSegment¶

class pygplates.ResolvedTopologicalSubSegment

Bases: Boost.Python.instance

The subset of vertices of a reconstructed topological section that contribute to the geometry of a resolved topology.

The resolve_topologies() function can be used to generate resolved topologies (such as ResolvedTopologicalLine, ResolvedTopologicalBoundary and ResolvedTopologicalNetwork) which, in turn, reference these ResolvedTopologicalSubSegment instances.

Note

Each ResolvedTopologicalSubSegment instance belongs to a single resolved topology.
In contrast, a ResolvedTopologicalSharedSubSegment instance can be shared by one or more resolved topologies.
__init__()

Raises an exception This class cannot be instantiated from Python

Methods

 __init__ Raises an exception This class cannot be instantiated from Python get_feature() Same as get_topological_section_feature(). get_geometry() Same as get_resolved_geometry(). get_resolved_feature() Returns a feature containing the resolved sub-segment geometry. get_resolved_geometry() Returns the geometry containing the sub-segment vertices. get_sub_segments() If this sub-segment is from a topological line section then return the child sub-segments of the topological line contributing to this sub-segment, otherwise return None. get_topological_section() Returns the topological section that the sub-segment was obtained from. get_topological_section_feature() Returns the feature referenced by the topological section. get_topological_section_geometry() Returns the topological section geometry that the sub-segment was obtained from. was_geometry_reversed_in_topology() Whether a copy of the points in get_resolved_geometry() were reversed in order to contribute to the resolved topology that this sub-segment is a part of.
get_feature()
get_geometry()
get_resolved_feature()

Returns a feature containing the resolved sub-segment geometry.

Return type: Feature

The returned feature contains the resolved geometry.

Note

The returned feature does not contain present-day geometry as is typical of most GPlates features.
In this way the returned feature is similar to a GPlates reconstruction export.

Note

The returned feature should not be reverse reconstructed to present day because the topological section might be a ResolvedTopologicalLine which is a topology and topologies are resolved (not reconstructed).

get_resolved_geometry()

Returns the geometry containing the sub-segment vertices.

Return type: PolylineOnSphere

Note

These are the unreversed vertices. They are in the same order as the geometry of get_topological_section_geometry(). If you need a reversed version of this resolved geometry (eg, due to was_geometry_reversed_in_topology() returning True) then you can use pygplates.PolylineOnSphere(sub_segment.get_resolved_geometry()[::-1]).

get_sub_segments()

If this sub-segment is from a topological line section then return the child sub-segments of the topological line contributing to this sub-segment, otherwise return None.

Return type: list of ResolvedTopologicalSubSegment, or None

To see if a sub-segment is from a topological line and then iterate over its child sub-segments:

child_sub_segments_of_topological_line_sub_segment = sub_segment.get_sub_segments()
if child_sub_segments_of_topological_line_sub_segment:
for child_sub_segment in child_sub_segments_of_topological_line_sub_segment:
child_sub_segment_geometry = child_sub_segment.get_resolved_geometry()
child_sub_segment_plate_id = child_sub_segment.get_feature().get_reconstruction_plate_id()
else:
sub_segment_geometry = sub_segment.get_resolved_geometry()
sub_segment_plate_id = sub_segment.get_feature().get_reconstruction_plate_id()


Note

Each child sub-segment has its own reverse flag indicating whether it was reversed when contributing to this sub-segment. And this sub-segment also has a reverse flag which determines whether it was reversed when contributing to the final boundary topology. So whether a child sub-segment was effectively reversed when contributing to the final boundary topology depends on both reverse flags (of the child sub-segment and this sub-segment). For example, if the child sub-segment was reversed in this sub-segment, and this sub-segment was reversed in the final boundary, then the child sub-segment was not reversed in the final boundary.

New in version 22.

get_topological_section()

Returns the topological section that the sub-segment was obtained from.

Return type: ReconstructionGeometry

Note

This represents the entire geometry of the topological section, not just the part that contributes to the sub-segment.

Note

If the resolved topology (that this sub-segment is a part of) is a ResolvedTopologicalLine then the topological section will be a ReconstructedFeatureGeometry.
If the resolved topology (that this sub-segment is a part of) is a ResolvedTopologicalBoundary or a ResolvedTopologicalNetwork then the topological section can be either a ReconstructedFeatureGeometry or a ResolvedTopologicalLine.
get_topological_section_feature()

Returns the feature referenced by the topological section.

Return type: Feature

Note

The geometry in the returned feature represents the entire geometry of the topological section, not just the part that contributes to the sub-segment.

get_topological_section_geometry()

Returns the topological section geometry that the sub-segment was obtained from.

Return type: PolylineOnSphere

Note

This is the entire geometry of the topological section, not just the part that contributes to the sub-segment.

was_geometry_reversed_in_topology()

Whether a copy of the points in get_resolved_geometry() were reversed in order to contribute to the resolved topology that this sub-segment is a part of.

Return type: bool

Note

A reversed version of the points of get_resolved_geometry() is equivalent sub_segment.get_resolved_geometry().get_points()[::-1].