|
| OnCurveContour (const MContour &aContour) |
|
| OnCurveContour (const Rect &aRect) |
|
OnCurveContour & | operator= (const MContour &aContour) |
|
OnCurveContour & | operator= (const Rect &aRect) |
|
bool | MayHaveCurves () const override |
|
CartoTypeCore::Point * | PointData () override |
|
OutlinePoint * | OutlinePointData () override |
|
const CartoTypeCore::Point * | PointData () const |
|
void | AppendPoint (const OutlinePoint &aPoint) override |
|
void | AppendPointMerging (const OutlinePoint &aPoint) |
|
void | AppendPoint (double aX, double aY) |
|
void | AppendTransformedPoint64ths (const AffineTransform &aTransform, const PointFP &aPoint) |
|
void | AppendPoint64ths (const PointFP &aPoint) |
|
size_t | Contours () const override |
|
ContourView | ContourByIndex (size_t) const override |
|
size_t | Points () const override |
|
OutlinePoint | Point (size_t aIndex) const override |
|
bool | Closed () const override |
|
void | SetPoint (size_t aIndex, const OutlinePoint &aPoint) override |
|
void | ReduceSizeTo (size_t aPoints) override |
|
void | SetSize (size_t aSize) override |
|
void | SetClosed (bool aClosed) override |
|
void | AppendPoint (const OutlinePoint &aPoint) override=0 |
|
void | AppendPoint (double aX, double aY) |
|
void | AppendPointEvenIfSame (const Point &aPoint) |
|
void | AppendPoints (const Point *aPoint, size_t aPoints) |
|
void | InsertPoint (const Point &aPoint, size_t aIndex) |
|
void | InsertPoints (const Point *aPoint, size_t aPoints, size_t aIndex) |
|
void | Clear () |
|
void | SetSizeToZero () |
|
void | RemovePoint (size_t aIndex) |
|
void | RemovePoints (size_t aIndex, size_t aCount) |
|
void | Offset (int32_t aDx, int32_t aDy) |
|
void | ReservePoints (size_t aCount) |
|
void | Reverse () |
|
vector_t::iterator | begin () |
|
vector_t::const_iterator | begin () const |
|
vector_t::iterator | end () |
|
vector_t::const_iterator | end () const |
|
MWritableContour & | operator= (const MContour &aContour) |
|
virtual void | SetPoint (size_t aIndex, const OutlinePoint &aPoint)=0 |
|
virtual void | ReduceSizeTo (size_t aPoints)=0 |
|
virtual void | SetSize (size_t aPoints)=0 |
|
virtual void | SetClosed (bool aClosed)=0 |
|
virtual void | AppendPoint (const OutlinePoint &aPoint)=0 |
|
virtual OutlinePoint * | OutlinePointData ()=0 |
|
virtual CartoTypeCore::Point * | PointData ()=0 |
|
void | Offset (int32_t aDx, int32_t aDy) |
|
void | AppendContour (const ContourView &aContour) |
|
void | SetLastPoint (const OutlinePoint &aPoint) |
|
void | Simplify (double aResolutionArea) |
|
void | AppendCircularArc (const CartoTypeCore::Point &aCenter, const CartoTypeCore::Point &aStart, const CartoTypeCore::Point &aEnd, EllipseAngleType aAngleType=EllipseAngleType::Shortest, bool aAppendStart=false) |
|
void | AppendHalfCircle (const CartoTypeCore::Point &aCenter, const CartoTypeCore::Point &aStart, const CartoTypeCore::Point &aEnd, EllipseAngleType aAngleType=EllipseAngleType::Shortest, bool aAppendStart=false) |
|
void | AppendHalfCircle (double aCx, double aCy, double aSx, double aSy, double aEx, double aEy, double aRadius, bool aAppendStart, bool aIsExactHalfCircle, bool aClockwise) |
|
void | AppendQuadrant (double aCx, double aCy, double aSx, double aSy, double aEx, double aEy, double aRadius, bool aAppendStart, bool aIsExactQuadrant, bool aClockwise) |
|
virtual size_t | Points () const =0 |
|
virtual OutlinePoint | Point (size_t aIndex) const =0 |
|
virtual bool | Closed () const =0 |
|
| operator ContourView () const |
|
size_t | Contours () const |
|
OutlinePoint | LastPoint () const |
|
OutlinePoint | FractionalPoint (double aIndex) const |
|
bool | IsGridOrientedRectangle (Rect *aRect=nullptr) const |
|
bool | Anticlockwise () const |
|
PolygonOrientation | Orientation () const |
|
bool | Contains (double aX, double aY) const |
|
bool | Contains (const CartoTypeCore::Point &aPoint) const |
|
Outline | ClippedContour (const Rect &aClip) const |
|
void | AppendClippedContour (Outline &aDest, const Rect &aClip) const |
|
size_t | AppendSplitContour (Outline &aDest, const PointFP &aLineStart, const PointFP &aLineVector) |
|
Contour | TruncatedContour (double aStart, double aEnd) const |
|
Contour | SubContourBetweenFractionalPoints (double aStartIndex, double aEndIndex) const |
|
Contour | SubContourBetweenNearestPoints (const PointFP *aStartPoint, const PointFP *aEndPoint) const |
|
Contour | CentralPath (std::shared_ptr< CEngine > aEngine, const Rect &aClip, bool aFractionalPixels, Line &aFallbackLine, bool aFallbackMustBeHorizontal) const |
|
Contour | Smooth (double aRadius) const |
|
Contour | ConcaveHull (double aMaxEdgeLength, PolygonOrientation aAssumedOrientation=PolygonOrientation::None) const |
|
bool | MayIntersect (const Rect &aRect) const |
|
bool | Intersects (const Rect &aRect) const |
|
PathIntersectionType | IntersectionType (const MContour &aOther, double *aDistance=nullptr, PointFP *aNearest1=nullptr, PointFP *aNearest2=nullptr) const |
|
PathIntersectionInfo | IntersectionInfo (const MContour &aOther) const |
|
double | DistanceFrom (const MContour &aOther, PointFP *aNearest1=nullptr, PointFP *aNearest2=nullptr, PathIntersectionType *aType=nullptr) const |
|
double | DistanceFromPoint (const PointFP &aPoint, PointFP *aNearest=nullptr, double *aNearestLength=nullptr, bool *aLeft=nullptr, size_t *aLineIndex=nullptr, double *aFractionalLineIndex=nullptr, bool aTreatAsOpen=false) const |
|
PointFP | PointAtLength (double aLength, double aOffset=0, int32_t *aLineIndex=nullptr) const |
|
CartoTypeCore::Point | Orientation (const CartoTypeCore::Point &aCenter) const |
|
void | GetPrincipalAxis (PointFP &aCenter, PointFP &aVector) const |
|
void | Write (OutputStream &aOutput) const |
|
void | GetAngles (double aDistance, double &aStartAngle, double &aEndAngle) |
|
virtual | ~MPath () |
|
virtual size_t | Contours () const =0 |
|
virtual ContourView | ContourByIndex (size_t aIndex) const =0 |
|
virtual bool | MayHaveCurves () const =0 |
|
template<class MPathTraverser > |
void | Traverse (MPathTraverser &aTraverser, const Rect &aClip) const |
|
template<class MPathTraverser > |
void | Traverse (MPathTraverser &aTraverser, const Rect *aClip=nullptr) const |
|
bool | operator== (const MPath &aOther) const |
|
Rect | CBox () const |
|
bool | CBoxBiggerThan (int32_t aSize) const |
|
bool | IsContainedIn (const Rect &aRect) const |
|
bool | Contains (double aX, double aY) const |
|
bool | Contains (const Point &aPoint) const |
|
bool | Contains (const PointFP &aPoint) const |
|
bool | MayIntersect (const Rect &aRect) const |
|
bool | MayIntersect (const Rect &aRect, int32_t aBorder) const |
|
bool | Intersects (const Rect &aRect) const |
|
bool | Intersects (const MPath &aPath, const Rect *aBounds=nullptr) const |
|
int32_t | MaxDistanceFromOrigin () const |
|
PathIntersectionType | IntersectionType (const MPath &aOther, double *aDistance=nullptr, PointFP *aNearest1=nullptr, PointFP *aNearest2=nullptr) const |
|
PathIntersectionInfo | IntersectionInfo (const MPath &aOther) const |
|
double | DistanceFrom (const MPath &aOther, PointFP *aNearest1=nullptr, PointFP *aNearest2=nullptr, PathIntersectionType *aType=nullptr) const |
|
double | DistanceFromPoint (const PointFP &aPoint, PointFP *aNearest=nullptr, size_t *aContourIndex=nullptr, size_t *aLineIndex=nullptr, double *aFractionaLineIndex=nullptr, bool aTreatAsOpen=false) const |
|
bool | IsClippingNeeded (const Rect &aClip) const |
|
Outline | Copy () const |
|
Outline | ClippedPath (const Rect &aClip) const |
|
Outline | ClippedPath (const MPath &aClip) const |
|
Outline | ClippedPath (const ClipRegion &aClip) const |
|
Outline | Clip (ClipOperation aClipOperation, const MPath &aClip) const |
|
Outline | Envelope (double aOffset) const |
|
Outline | ConcaveHull (double aMaxEdgeLength, PolygonOrientation aAssumedOrientation=PolygonOrientation::None) const |
|
bool | IsSmoothingNeeded () const |
|
Outline | SmoothPath () const |
|
Outline | FlatPath (double aMaxDistance) const |
|
Outline | TruncatedPath (double aStart, double aEnd) const |
|
Outline | OffsetPath (double aOffset) const |
|
Outline | TransformedPath (const AffineTransform &aTransform) const |
|
Outline | TransformedPath (DrawResult &aError, MPointTransformer &aTransformer, int32_t aFractionalBits) const |
|
Outline | Interpolate (int32_t aGranularity) const |
|
std::array< Line, 3 > | HorizontalPaths (GraphicsContext *aGc, int32_t aPathLength, int32_t aLabelAscent, int32_t aLabelDescent, const PointFP &aUpVector, const Rect *aBounds, const Rect *aClip) const |
|
PointFP | CenterOfGravity () const |
|
double | Length () const |
|
double | Area () const |
|
PointFP | PointAtLength (double aPos) const |
|
std::pair< Point, bool > | End () const |
|
void | Write (OutputStream &aOutput) const |
|
void | WriteAsXml (OutputStream &aOutput) const |
|
bool | IsEmpty () const |
|
bool | IsPoint () const |
|
bool | IsGridOrientedRectangle (Rect *aRect=nullptr) const |
|
void | GetSphericalAreaAndLength (const Projection &aProjection, double *aArea, double *aLength) const |
|
CartoTypeCore::ClipType | ClipType (const Rect &aRect) const |
|
bool | HasCurves () const |
|
size_t | PointCount () const |
|
ConstIter | begin () const |
|
ConstIter | end () const |
|
A contour consisting of owned points with integer coordinates, which are all on the curve; the contour thus consists of straight line segments. For contours with off-curve points use Contour.