Consolidate all transformation code in a single module #275
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds the new module,
kernel::algorithms::transform
and consolidates all transformation code in there.This has the following advantages:
Vertex::transform
has been replaced, makingVertices::create
the only way thatVertex
instances can be created. This enables the implementation of vertex validation (Vertex validation #242).To be clear, this doesn't make the transformation code any more beautiful, but this is not the priority right now. The transformation code is ugly because the data structures it operates on are not suited for their purpose. This is going to change, bit by bit, and as it changes, the transformation code will improve as a side effect.