The Polygon Session is designed to support the modeling of 2D domains and will support the following functionality:
The ability to create vertices, polyline edges (defined by 0, 1, or 2 model vertices and composed of a sequence of connected line segments and polygonal model faces
The ability to automatically extract polygons from a set of connected model edges
The ability split and merge model edges
The ability to reshape model edges
The ability to delete various topological entities
The following is the current list of functionality to be implemented next in priority order (highest to lowest):
Provide a file format to save and retrieve polygon models - The current idea is to extend the SMTK Model format to have an additional section that would be processed by the Polygon Session. It was proposed to adapt the poly file format but there is not enough flexibility to preserve face loops without significant processing at load time.
Provide delete operations for vertices, edges, and faces. Include an option to delete the model entities that use the entity being deleted (else the entity will not be deleted if it is part of another entity's boundary).
Verify that edge point promotion to model vertex and vice versa work
Replace a model edge's shape - this include the ability to split the edge to a set of new model edges.
When reading in Shapefiles - provide the ability to deal with overlapping polygons as well as merging overlapping edge segments.
Validate that polygon models can be meshed
Provide ability to validate and cleanup polygonal models - this will be useful when reshaping model edges that cause intersections.
Provide the ability store the Polygonal and edge ID's stored in a Shapesfile into the polygonal model
Provide the ability to import and export using Poly file format
Provide the ability to only generate the outer most polygons from a set of model edges (resulting in polygons with holes)
Provide the ability to explicitly specify the locations of model vertices and edge points.
Refactor "create edge" and "edit edge" operators so that "create edge" will have two modes, points coordinates and interactive widget, and "edit edge" only has edge-editing support through widget.
Revamp polygon arcs in SceneBuilder to use polygon session model and operations, or at least be able to output the SceneBuilder arcs to polygon session model so that it can be loaded in ModelBuilder.
Creating edges from extracted contours sometimes "fails" to create an edge and leaves the two unused vertices around.
Export a smtk file with a polygon session, then load it back in, the vertices will show in the tree view, but they are not shown in render window. Likely the vertices's tessellation is not set.
Create edges with extracted contours, or loading a saved polygon session smtk file, or reading a shape file with vertices (road.shp), in topology tree view, the model vertices will show up under both the model and their edges.