Inkscape
Vector Graphics Editor
|
A point or vertex in the directed graph. More...
#include <Shape.h>
Public Member Functions | |
int | totalDegree () const |
Public Attributes | |
Geom::Point | x |
int | dI |
int | dO |
int | incidentEdge [2] |
int | oldDegree |
A point or vertex in the directed graph.
Each point keeps track of the first edge that got connected to it and the last edge that got connected to it. By connecting we mean both an edge starting at the point or an edge ending at the point. This is needed for maintaining a linked list at each point.
At each point, we maintain a linked list of edges that connect to that edge. incidentEdge keeps the first and last edge of this double-linked list. The rest of the edge pointers are stored in dg_arete.
|
inline |
Definition at line 455 of file Shape.h.
Referenced by Inkscape::ObjectSet::_pathBoolOp(), Shape::AssembleAretes(), Shape::Booleen(), Shape::ConvertToShape(), Shape::Reoriente(), Shape::Scan(), Shape::SortEdges(), sp_offset_distance_to_original(), sp_pathvector_boolop(), and Inkscape::LivePathEffect::sp_pathvector_boolop_slice_intersect().
int Shape::dg_point::dI |
Number of edges ending on this point.
Definition at line 450 of file Shape.h.
Referenced by Shape::AddPoint(), Shape::Booleen(), Shape::CalcBBox(), Shape::ConvertToShape(), directedEulerian(), and totalDegree().
int Shape::dg_point::dO |
Number of edges starting from this point.
Definition at line 451 of file Shape.h.
Referenced by Shape::AddPoint(), Shape::Booleen(), Shape::CalcBBox(), Shape::ConvertToShape(), directedEulerian(), and totalDegree().
int Shape::dg_point::incidentEdge[2] |
First (index 0) and last edge (index 1) that are attached to this point.
Definition at line 452 of file Shape.h.
Referenced by Shape::_countUpDown(), Shape::_countUpDownTotalDegree2(), Inkscape::ObjectSet::_pathBoolOp(), Shape::AddContour(), Shape::AddEdge(), Shape::AddPoint(), Shape::AssembleAretes(), Shape::Booleen(), Shape::ConnectEnd(), Shape::ConnectStart(), Shape::ConvertToForme(), Shape::ConvertToForme(), Shape::ConvertToFormeNested(), Shape::ConvertToShape(), Shape::CycleNextAt(), Shape::CyclePrevAt(), Shape::GetWindings(), Shape::Scan(), Shape::Scan(), Shape::SortEdges(), sp_offset_distance_to_original(), sp_pathvector_boolop(), Inkscape::LivePathEffect::sp_pathvector_boolop_slice_intersect(), Shape::SubPoint(), and Shape::SwapPoints().
int Shape::dg_point::oldDegree |
TODO: Not exactly sure why this is needed. Probably somewhere the degree changes and we retain the old degree for some reason.
Definition at line 453 of file Shape.h.
Referenced by Shape::AddPoint().
Geom::Point Shape::dg_point::x |
The coordinates of the point.
Definition at line 449 of file Shape.h.
Referenced by Shape::_updateIntersection(), Shape::AddChgt(), Shape::AddEdge(), Shape::AddEdge(), Shape::AddPoint(), Shape::AssemblePoints(), Shape::AvanceEdge(), Shape::BeginRaster(), Shape::CalcBBox(), Shape::CheckAdjacencies(), Shape::CreateEdge(), Shape::CreateIncidence(), distance(), distanceLessThanOrEqual(), Shape::DoEdgeTo(), SweepTree::Insert(), Shape::MakeOffset(), Shape::MakeTweak(), Shape::Plot(), Shape::PtWinding(), Shape::ReFormeArcTo(), Shape::ReFormeCubicTo(), Shape::ReFormeLineTo(), Shape::Scan(), Shape::Scan(), Shape::SortPoints(), Shape::SortPointsByOldInd(), sp_offset_distance_to_original(), sp_offset_top_point(), and Shape::Validate().