|
CartoType C++ API 7.8.2, 2022-03-25
for Windows, Linux, Qt and other platforms supporting C++ development
|
#include <cartotype_path.h>
Public Member Functions | |
| TSimpleContourData (TPoint *aPoint, size_t aPoints, bool aClosed) | |
| TContour | Contour (size_t) const override |
| bool | MayHaveCurves () const override |
| TOutlinePoint | Point (size_t aIndex) const override |
| TPoint * | PointData () override |
| TOutlinePoint * | OutlinePointData () override |
| size_t | Points () const override |
| void | ReduceSizeTo (size_t aPoints) override |
| void | SetSize (size_t aPoints) override |
| bool | Closed () const override |
| void | SetClosed (bool aClosed) override |
| void | AppendPoint (const TOutlinePoint &) override |
| void | SetPoint (size_t aIndex, const TOutlinePoint &aPoint) override |
Public Member Functions inherited from CartoType::MWritableContour | |
| MWritableContour & | operator= (const MContour &aContour) |
| virtual void | SetPoint (size_t aIndex, const TOutlinePoint &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 TOutlinePoint &aPoint)=0 |
| virtual TOutlinePoint * | OutlinePointData ()=0 |
| virtual TPoint * | PointData ()=0 |
| void | Offset (int32_t aDx, int32_t aDy) |
| void | AppendContour (const TContour &aContour) |
| void | SetLastPoint (const TOutlinePoint &aPoint) |
| void | Simplify (double aResolutionArea) |
| void | AppendCircularArc (const TPoint &aCenter, const TPoint &aStart, const TPoint &aEnd, TEllipseAngleType aAngleType=TEllipseAngleType::Shortest, bool aAppendStart=false) |
| void | AppendHalfCircle (const TPoint &aCenter, const TPoint &aStart, const TPoint &aEnd, TEllipseAngleType aAngleType=TEllipseAngleType::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) |
Public Member Functions inherited from CartoType::MContour | |
| virtual size_t | Points () const =0 |
| virtual TOutlinePoint | Point (size_t aIndex) const =0 |
| virtual bool | Closed () const =0 |
| operator TContour () const | |
| size_t | Contours () const |
| TOutlinePoint | LastPoint () const |
| TOutlinePoint | FractionalPoint (double aIndex) const |
| bool | IsGridOrientedRectangle (TRect *aRect=nullptr) const |
| bool | Anticlockwise () const |
| bool | Contains (double aX, double aY) const |
| bool | Contains (const TPoint &aPoint) const |
| COutline | ClippedContour (const TRect &aClip) const |
| void | AppendClippedContour (COutline &aDest, const TRect &aClip) const |
| size_t | AppendSplitContour (COutline &aDest, const TPointFP &aLineStart, const TPointFP &aLineVector) |
| CContour | TruncatedContour (double aStart, double aEnd) const |
| CContour | SubContourBetweenFractionalPoints (double aStartIndex, double aEndIndex) const |
| CContour | SubContourBetweenNearestPoints (const TPointFP *aStartPoint, const TPointFP *aEndPoint) const |
| CContour | CentralPath (std::shared_ptr< CEngine > aEngine, const TRect &aClip, bool aFractionalPixels, TLine &aFallbackLine, bool aFallbackMustBeHorizontal) const |
| CContour | Smooth (double aRadius) const |
| bool | MayIntersect (const TRect &aRect) const |
| bool | Intersects (const TRect &aRect) const |
| TPathIntersectionType | IntersectionType (const MContour &aOther, double *aDistance=nullptr, TPointFP *aNearest1=nullptr, TPointFP *aNearest2=nullptr) const |
| TPathIntersectionInfo | IntersectionInfo (const MContour &aOther) const |
| double | DistanceFrom (const MContour &aOther, TPointFP *aNearest1=nullptr, TPointFP *aNearest2=nullptr, TPathIntersectionType *aType=nullptr) const |
| double | DistanceFromPoint (const TPointFP &aPoint, TPointFP *aNearest=nullptr, double *aNearestLength=nullptr, bool *aLeft=nullptr, size_t *aLineIndex=nullptr, double *aFractionalLineIndex=nullptr, bool aTreatAsOpen=false) const |
| TPointFP | PointAtLength (double aLength, double aOffset=0, int32_t *aLineIndex=nullptr) const |
| void | GetOrientation (const TPoint &aCenter, TPoint &aOrientation) const |
| void | GetPrincipalAxis (TPointFP &aCenter, TPointFP &aVector) const |
| void | Write (TDataOutputStream &aOutput) const |
| void | GetAngles (double aDistance, double &aStartAngle, double &aEndAngle) |
Public Member Functions inherited from CartoType::MPath | |
| virtual | ~MPath () |
| virtual size_t | Contours () const =0 |
| virtual TContour | Contour (size_t aIndex) const =0 |
| virtual bool | MayHaveCurves () const =0 |
| template<class MPathTraverser > | |
| void | Traverse (MPathTraverser &aTraverser, const TRect &aClip) const |
| template<class MPathTraverser > | |
| void | Traverse (MPathTraverser &aTraverser, const TRect *aClip=nullptr) const |
| bool | operator== (const MPath &aOther) const |
| TRect | CBox () const |
| bool | CBoxBiggerThan (int32_t aSize) const |
| bool | IsContainedIn (const TRect &aRect) const |
| bool | Contains (double aX, double aY) const |
| bool | Contains (const TPoint &aPoint) const |
| bool | Contains (const TPointFP &aPoint) const |
| bool | MayIntersect (const TRect &aRect) const |
| bool | MayIntersect (const TRect &aRect, int32_t aBorder) const |
| bool | Intersects (const TRect &aRect) const |
| bool | Intersects (const MPath &aPath, const TRect *aBounds=nullptr) const |
| int32_t | MaxDistanceFromOrigin () const |
| TPathIntersectionType | IntersectionType (const MPath &aOther, double *aDistance=nullptr, TPointFP *aNearest1=nullptr, TPointFP *aNearest2=nullptr) const |
| TPathIntersectionInfo | IntersectionInfo (const MPath &aOther) const |
| double | DistanceFrom (const MPath &aOther, TPointFP *aNearest1=nullptr, TPointFP *aNearest2=nullptr, TPathIntersectionType *aType=nullptr) const |
| double | DistanceFromPoint (const TPointFP &aPoint, TPointFP *aNearest=nullptr, size_t *aContourIndex=nullptr, size_t *aLineIndex=nullptr, double *aFractionaLineIndex=nullptr, bool aTreatAsOpen=false) const |
| bool | IsClippingNeeded (const TRect &aClip) const |
| COutline | Copy () const |
| COutline | ClippedPath (const TRect &aClip) const |
| COutline | ClippedPath (const MPath &aClip) const |
| COutline | ClippedPath (const TClipRegion &aClip) const |
| COutline | Clip (TClipOperation aClipOperation, const MPath &aClip) const |
| COutline | Envelope (double aOffset) const |
| bool | IsSmoothingNeeded () const |
| COutline | SmoothPath () const |
| COutline | FlatPath (double aMaxDistance) const |
| COutline | TruncatedPath (double aStart, double aEnd) const |
| COutline | OffsetPath (double aOffset) const |
| COutline | TransformedPath (const TTransform &aTransform) const |
| COutline | TransformedPath (TDrawResult &aError, MPointTransformer &aTransformer, int32_t aFractionalBits) const |
| std::array< TLine, 3 > | GetHorizontalPaths (int32_t aPathLength, int32_t aLabelHeight, const TPointFP &aUpVector, const TRect *aBounds, const TRect *aClip) const |
| TPointFP | CenterOfGravity () const |
| void | GetCenterOfGravity (TPoint &aCenter) const |
| double | Length () const |
| double | Area () const |
| TPointFP | PointAtLength (double aPos) const |
| std::pair< TPoint, bool > | End () const |
| void | Write (TDataOutputStream &aOutput) const |
| bool | IsEmpty () const |
| bool | IsPoint () const |
| bool | IsGridOrientedRectangle (TRect *aRect=nullptr) const |
| void | GetSphericalAreaAndLength (const CProjection &aProjection, double *aArea, double *aLength) const |
| TClipType | ClipType (const TRect &aRect) const |
| bool | HasCurves () const |
| ConstIter | begin () const |
| ConstIter | end () const |
Public Attributes | |
| TPoint * | iPoint = nullptr |
| size_t | iPoints = 0 |
| bool | iClosed = false |
The data for a contour. The simplest implementation of writable contour data.
|
inline |
Creates a TSimpleContourData object.
|
inlineoverridevirtual |
Appends a point; does nothing in fact because the operation is not possible for this class.
Implements CartoType::MWritableContour.
|
inlineoverridevirtual |
Returns true if the contour is closed.
Implements CartoType::MContour.
|
inlineoverridevirtual |
Returns the contour indexed by aIndex.
Implements CartoType::MPath.
|
inlineoverridevirtual |
Returns true if the path may have off-curve points.
Implements CartoType::MPath.
|
inlineoverridevirtual |
Returns a writable pointer to TOutlinePoint data if possible.
Implements CartoType::MWritableContour.
|
inlineoverridevirtual |
Returns a point selected by its index.
Implements CartoType::MContour.
|
inlineoverridevirtual |
Returns a pointer to the first point.
Implements CartoType::MWritableContour.
|
inlineoverridevirtual |
Returns the number of points.
Implements CartoType::MContour.
|
inlineoverridevirtual |
Reduces the number of points.
Implements CartoType::MWritableContour.
|
inlineoverridevirtual |
Changes whether the contour is closed.
Implements CartoType::MWritableContour.
|
inlineoverridevirtual |
Sets a point.
Implements CartoType::MWritableContour.
|
inlineoverridevirtual |
Sets the number of points.
Implements CartoType::MWritableContour.
| bool CartoType::TSimpleContourData::iClosed = false |
True if the contour is closed.
| TPoint* CartoType::TSimpleContourData::iPoint = nullptr |
A pointer to the start of the array of points.
| size_t CartoType::TSimpleContourData::iPoints = 0 |
The number of points in the contour.