A grouping of individual 3D curves used to express complicated structures. More...
#include <multipath.h>
Public Types | |
typedef PathContainer::const_iterator | ConstPathIterator |
Const Iterator type for Path instances being stored in this class. | |
typedef std::map< PathCoordinate, PathIntersection > | IntersectionMap |
Container type for the storage of unique intersections. | |
typedef std::vector< PathIntersection > | IntersectionVector |
Container type for the storage of intersections. | |
typedef std::vector< Path > | PathContainer |
Basic container type for Path storage in this class. | |
typedef std::vector< PathCoordinate > | PathIntersection |
Convenience type used to represent the intersection of two or more paths. | |
typedef PathContainer::iterator | PathIterator |
Iterator type for Path instances being stored in this class. | |
typedef std::pair< Whole, Whole > | PathSegment |
Convenience type for a pair of indexes to express a segment of a Path. | |
typedef std::vector< PathSegment > | PathSegmentContainer |
Container type for segments in a Path. | |
Public Member Functions | |
MultiPath () | |
Class constructor. | |
~MultiPath () | |
Class destructor. | |
MultiPath & | AddMultiPath (const MultiPath &Other) |
Append every path of another MultiShape to this MultiPath. More... | |
MultiPath & | AddPath (const Path &ToAdd) |
Adds a path to this MultiPath. More... | |
MultiPath & | CalculateIntersections () |
Generates all the known intersections between the paths in this MultiPath. More... | |
const IntersectionVector & | GetIntersections () const |
Gets the container storing all calculated intersections. More... | |
const IntersectionMap & | GetIntersectionsMap () const |
Gets the container storing all calculated intersections based on their path coordinate. More... | |
PathSegmentContainer | GetNoIntersectionParts (const Whole PathIndex) const |
Gets segments from a specific sub-path that do not intersect other Paths of this MultiPath. More... | |
Whole | GetNumPaths () const |
Gets the number of shapes in this MultiPath. More... | |
Path & | GetPath (const Whole Index) |
Gets a path by index. More... | |
const Path & | GetPath (const Whole Index) const |
Gets a path by index. More... | |
void | RemoveAllPaths () |
Removes all shapes from this MultiPath. | |
MultiPath & | SetPath (const Whole PathIndex, const Path &ToSet) |
Sets a path at a specific index. More... | |
Protected Attributes | |
IntersectionVector | Intersections |
Container storing all known intersections. More... | |
PathContainer | Paths |
Container storing all of the Paths that form this MultiPath. More... | |
IntersectionMap | UniqueIntersections |
Container storing all intersections based on their coordinate. More... | |
A grouping of individual 3D curves used to express complicated structures.
Definition at line 118 of file multipath.h.
Append every path of another MultiShape to this MultiPath.
Other | The other MultiShape to append. |
Definition at line 190 of file multipath.cpp.
Adds a path to this MultiPath.
ToAdd | The path to be added. |
Definition at line 184 of file multipath.cpp.
MultiPath & Mezzanine::Graphics::Procedural::MultiPath::CalculateIntersections | ( | ) |
Generates all the known intersections between the paths in this MultiPath.
Definition at line 122 of file multipath.cpp.
const MultiPath::IntersectionVector & Mezzanine::Graphics::Procedural::MultiPath::GetIntersections | ( | ) | const |
Gets the container storing all calculated intersections.
Definition at line 224 of file multipath.cpp.
const MultiPath::IntersectionMap & Mezzanine::Graphics::Procedural::MultiPath::GetIntersectionsMap | ( | ) | const |
Gets the container storing all calculated intersections based on their path coordinate.
Definition at line 229 of file multipath.cpp.
MultiPath::PathSegmentContainer Mezzanine::Graphics::Procedural::MultiPath::GetNoIntersectionParts | ( | const Whole | PathIndex | ) | const |
Gets segments from a specific sub-path that do not intersect other Paths of this MultiPath.
PathIndex | The index of the path to get non-intersectings parts of. |
Definition at line 155 of file multipath.cpp.
Whole Mezzanine::Graphics::Procedural::MultiPath::GetNumPaths | ( | ) | const |
Gets the number of shapes in this MultiPath.
Definition at line 209 of file multipath.cpp.
Gets a path by index.
Index | The index of the path to retrieve. |
Definition at line 199 of file multipath.cpp.
Gets a path by index.
Index | The index of the path to retrieve. |
Definition at line 204 of file multipath.cpp.
MultiPath & Mezzanine::Graphics::Procedural::MultiPath::SetPath | ( | const Whole | PathIndex, |
const Path & | ToSet | ||
) |
Sets a path at a specific index.
PathIndex | The index to place the specified path at. |
ToSet | The path to be set at the specified index. |
Definition at line 116 of file multipath.cpp.
|
protected |
Container storing all known intersections.
Definition at line 143 of file multipath.h.
|
protected |
Container storing all of the Paths that form this MultiPath.
Definition at line 140 of file multipath.h.
|
protected |
Container storing all intersections based on their coordinate.
Definition at line 146 of file multipath.h.