Low-level mathematical representation of an open polyline or closed polyline (= polygon).
More...
Public Member Functions |
| void | appendShape (const RShape &shape) |
| void | appendVertex (const RVector &vertex, double bulge=0.0) |
| void | clear () |
| virtual RPolyline * | clone () const |
| bool | contains (const RVector &point) const |
| | Checks if the given point is inside this closed polygon.
|
| int | countSegments () const |
| int | countVertices () const |
| virtual bool | flipHorizontal () |
| virtual bool | flipVertical () |
| virtual RBox | getBoundingBox () const |
| double | getBulgeAt (int i) const |
| QList< double > | getBulges () const |
| virtual QList< RVector > | getCenterPoints () const |
| virtual double | getDirection1 () const |
| virtual double | getDirection2 () const |
| virtual RVector | getEndPoint () const |
| virtual QList< RVector > | getEndPoints () const |
virtual QList< QSharedPointer
< RShape > > | getExploded () const |
| RVector | getLastVertex () const |
| virtual double | getLength () const |
| virtual QList< RVector > | getMiddlePoints () const |
| virtual QList< RVector > | getPointsWithDistanceToEnd (double distance, RS::From from=RS::FromAny) const |
| QSharedPointer< RShape > | getSegmentAt (int i) const |
| virtual RVector | getStartPoint () const |
| virtual RS::Ending | getTrimEnd (const RVector &coord, const RVector &trimPoint) |
| virtual RVector | getVectorTo (const RVector &point, bool limited=true) const |
| RVector | getVertexAt (int i) const |
| QList< RVector > | getVertices () const |
| bool | hasArcSegments () const |
| void | insertVertex (int index, const RVector &vertex) |
| bool | isClosed () const |
| virtual bool | isInterpolated () const |
| | Reimplement and return true if this shape relies on interpolation for geometrical operations such as finding intersection points.
|
| bool | isLogicallyClosed () const |
| virtual bool | mirror (const RLine &axis) |
| virtual bool | move (const RVector &offset) |
| void | normalize () |
| void | prependVertex (const RVector &vertex, double bulge=0.0) |
| void | removeLastVertex () |
| void | removeVertex (int index) |
| virtual bool | reverse () |
| virtual bool | rotate (double rotation, const RVector ¢er=RDEFAULT_RVECTOR) |
| | RPolyline () |
| | Creates a polyline object without points.
|
| | RPolyline (const QList< RVector > &vertices, bool closed) |
| | Creates a polyline object with the given points.
|
| | RPolyline (const QList< QSharedPointer< RShape > > &segments) |
| | Creates a polyline from segments (lines or arcs).
|
| virtual bool | scale (double scaleFactor, const RVector ¢er=RDEFAULT_RVECTOR) |
| virtual bool | scale (const RVector &scaleFactors, const RVector ¢er=RDEFAULT_RVECTOR) |
| void | setBulgeAt (int i, double b) |
| void | setBulges (const QList< double > &b) |
| void | setClosed (bool on) |
| void | setVertexAt (int i, const RVector &v) |
| void | setVertices (const QList< RVector > &vertices) |
| virtual bool | stretch (const RPolyline &area, const RVector &offset) |
| virtual void | to2D () |
| | Flattens this shape to the X/Y plane.
|
| QPainterPath | toPainterPath () const |
| virtual void | trimEndPoint (const RVector &p) |
| virtual void | trimStartPoint (const RVector &p) |
| virtual | ~RPolyline () |
| virtual RVector | getClosestPointOnShape (const RVector &p, bool limited=true) const |
| virtual double | getDistanceTo (const RVector &point, bool limited=true) const |
| QList< RVector > | getIntersectionPoints (const RShape &other, bool limited=true, bool same=false) const |
| virtual RVector | getPointAtPercent (double p) const |
| virtual RVector | getVectorFromEndpointTo (const RVector &point) const |
| virtual bool | intersectsWith (const RShape &other, bool limited=true) const |
| virtual bool | isOnShape (const RVector &point, bool limited=true, double tolerance=RDEFAULT_TOLERANCE_1E_MIN4) const |
| | RShape () |
| virtual bool | stretch (const RBox &area, const RVector &offset) |
| virtual | ~RShape () |
| virtual | ~RExplodable () |
| virtual | ~RDirected () |
Static Public Member Functions |
| static bool | isStraight (double bulge) |
| static QList< RVector > | getIntersectionPoints (const RShape &shape1, const RShape &shape2, bool limited=true, bool same=false) |
| static QList< RVector > | getIntersectionPointsAA (const RArc &arc1, const RArc &arc2, bool limited=true) |
| static QList< RVector > | getIntersectionPointsAC (const RArc &arc1, const RCircle &circle2, bool limited=true) |
| static QList< RVector > | getIntersectionPointsAE (const RArc &arc1, const REllipse &ellipse2, bool limited=true) |
| static QList< RVector > | getIntersectionPointsAX (const RArc &arc1, const RExplodable &explodable2, bool limited=true) |
| static QList< RVector > | getIntersectionPointsCC (const RCircle &circle1, const RCircle &circle2) |
| static QList< RVector > | getIntersectionPointsCE (const RCircle &circle1, const REllipse &ellipse2) |
| static QList< RVector > | getIntersectionPointsCX (const RCircle &circle1, const RExplodable &explodable2, bool limited=true) |
| static QList< RVector > | getIntersectionPointsEE (const REllipse &ellipse1, const REllipse &ellipse2) |
| static QList< RVector > | getIntersectionPointsEX (const REllipse &ellipse1, const RExplodable &explodable2, bool limited=true) |
| static QList< RVector > | getIntersectionPointsLA (const RLine &line1, const RArc &arc2, bool limited=true) |
| static QList< RVector > | getIntersectionPointsLC (const RLine &line1, const RCircle &circle2, bool limited=true) |
| static QList< RVector > | getIntersectionPointsLE (const RLine &line1, const REllipse &ellipse2, bool limited=true) |
| static QList< RVector > | getIntersectionPointsLL (const RLine &line1, const RLine &line2, bool limited=true) |
| static QList< RVector > | getIntersectionPointsLX (const RLine &line1, const RExplodable &explodable2, bool limited=true) |
| static QList< RVector > | getIntersectionPointsXX (const RExplodable &explodable1, const RExplodable &explodable2, bool limited=true, bool same=false) |
| static bool | order (QList< QList< QSharedPointer< RShape > > > &boundary) |
| | Orders the given list of loops into a list of closed loops in which all shapes are connected end to start point.
|
Low-level mathematical representation of an open polyline or closed polyline (= polygon).
- Scriptable:
- This class is wrapped for script environments.
- Shared Pointer Support:
- Script wrappers of this class support wrapping in QSharedPointer.
- Copyable:
- Script wrappers of this class should pass objects by reference.
- Stream Operator:
- Script wrappers of this class use the stream operator for the output of toString().