|
virtual RTriangle * | clone () const |
|
virtual bool | flipHorizontal () |
|
virtual bool | flipVertical () |
|
double | getArea () const |
|
virtual RBox | getBoundingBox () const |
|
virtual QList< RVector > | getCenterPoints () const |
|
RVector | getCorner (int i) const |
|
double | getD () const |
|
virtual double | getDistanceTo (const RVector &point, bool limited=true, double strictRange=RMAXDOUBLE) const |
|
virtual QList< RVector > | getEndPoints () const |
|
virtual QList< QSharedPointer< RShape > > | getExploded (int segments=RDEFAULT_MIN1) const |
|
virtual double | getLength () const |
|
virtual QList< RVector > | getMiddlePoints () const |
|
virtual RVector | getNormal () const |
|
virtual QList< RVector > | getPointCloud (double segmentLength) const |
|
virtual QList< RVector > | getPointsWithDistanceToEnd (double distance, int from=RS::FromAny) const |
|
virtual RShape::Type | getShapeType () const |
|
QSharedPointer< RShape > | getTransformed (const QTransform &transform) const |
|
virtual QList< RVector > | getVectorProperties () const |
|
virtual RVector | getVectorTo (const RVector &point, bool limited=true, double strictRange=RMAXDOUBLE) const |
|
bool | isPointInQuadrant (const RVector &p) const |
|
bool | isPointInTriangle (const RVector &p, bool treatAsQuadrant=false) const |
|
virtual bool | mirror (const RLine &axis) |
|
virtual bool | move (const RVector &offset) |
|
virtual bool | rotate (double rotation, const RVector ¢er=RDEFAULT_RVECTOR) |
|
| RTriangle () |
| Copyright (c) 2011-2018 by Andrew Mustun. More...
|
|
| RTriangle (const RVector &p1, const RVector &p2, const RVector &p3) |
| Creates a triangle with the given corners. More...
|
|
virtual bool | scale (const RVector &scaleFactors, const RVector ¢er=RDEFAULT_RVECTOR) |
|
void | setCorner (int i, const RVector &p) |
|
virtual void | setZ (double z) |
|
virtual | ~RTriangle () |
|
void | dump () const |
|
virtual bool | equals (const RShape &other, double tolerance=RS::PointTolerance) const |
|
virtual QList< RVector > | filterOnShape (const QList< RVector > &pointList, bool limited=true, double tolerance=RDEFAULT_TOLERANCE_1E_MIN4) const |
|
virtual double | getAngleAt (double distance, RS::From from=RS::FromStart) const |
|
virtual double | getAngleAtPercent (double p) const |
|
virtual double | getAngleAtPoint (const RVector &pos) const |
|
virtual QList< RVector > | getArcReferencePoints () const |
|
virtual QList< bool > | getBoolProperties () const |
|
virtual RVector | getClosestPointOnShape (const RVector &p, bool limited=true, double strictRange=RMAXDOUBLE) const |
|
virtual double | getDirection1 () const |
|
virtual double | getDirection2 () const |
|
virtual double | getDistanceFromStart (const RVector &p) const |
|
virtual QList< double > | getDistancesFromStart (const RVector &p) const |
|
virtual QList< double > | getDoubleProperties () const |
|
virtual RVector | getEndPoint () const |
|
QList< RVector > | getIntersectionPoints (const RShape &other, bool limited=true, bool same=false, bool force=false) const |
|
virtual QList< int > | getIntProperties () const |
|
virtual double | getMaxDistanceTo (const QList< RVector > &points, bool limited=true, double strictRange=RMAXDOUBLE) const |
|
virtual RVector | getMiddlePoint () const |
|
virtual QList< QSharedPointer< RShape > > | getOffsetShapes (double distance, int number, RS::Side side, const RVector &position=RVector::invalid) |
|
virtual RVector | getPointAtPercent (double p) const |
|
virtual RVector | getPointOnShape () const |
|
virtual RVector | getPointWithDistanceToEnd (double distance) const |
|
virtual RVector | getPointWithDistanceToStart (double distance) const |
|
virtual QList< RVector > | getSelfIntersectionPoints () const |
|
virtual RS::Side | getSideOfPoint (const RVector &point) const |
|
virtual RVector | getStartPoint () const |
|
virtual RS::Ending | getTrimEnd (const RVector &trimPoint, const RVector &clickPoint) |
|
virtual RVector | getVectorFromEndpointTo (const RVector &point) const |
|
virtual bool | intersectsWith (const RShape &other, bool limited=true) const |
|
virtual bool | isDirected () const |
|
virtual bool | isInterpolated () const |
| Reimplement and return true if this shape relies on interpolation for geometrical operations such as finding intersection points. More...
|
|
virtual bool | isOnShape (const RVector &point, bool limited=true, double tolerance=RDEFAULT_TOLERANCE_1E_MIN4) const |
|
virtual bool | reverse () |
|
| RShape () |
|
virtual bool | scale (double scaleFactor, const RVector ¢er=RVector()) |
|
virtual QList< QSharedPointer< RShape > > | splitAt (const QList< RVector > &points) const |
|
virtual bool | stretch (const RBox &area, const RVector &offset) |
|
virtual bool | stretch (const RPolyline &area, const RVector &offset) |
|
virtual void | to2D () |
| Flattens this shape to the X/Y plane. More...
|
|
virtual bool | trimEndPoint (const RVector &trimPoint, const RVector &clickPoint=RVector::invalid, bool extend=false) |
|
virtual bool | trimEndPoint (double trimDist) |
|
virtual bool | trimStartPoint (const RVector &trimPoint, const RVector &clickPoint=RVector::invalid, bool extend=false) |
|
virtual bool | trimStartPoint (double trimDist) |
|
virtual | ~RShape () |
|
virtual | ~RExplodable () |
|
|
static RTriangle | createArrow (const RVector &position, double direction, double size) |
|
static const RExplodable * | castToExplodable (const RShape *shape) |
|
static QSharedPointer< RShape > | ellipseToArcCircleEllipse (const REllipse &ellipse) |
|
static int | getErrorCode () |
|
static QList< RVector > | getIntersectionPoints (const RShape &shape1, const RShape &shape2, bool limited=true, bool same=false, bool force=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 > | getIntersectionPointsAS (const RArc &arc1, const RSpline &spline2, bool limited=true) |
|
static QList< RVector > | getIntersectionPointsAT (const RArc &arc1, const RTriangle &triangle2, 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 > | getIntersectionPointsCS (const RCircle &circle1, const RSpline &spline2, bool limited=true) |
|
static QList< RVector > | getIntersectionPointsCX (const RCircle &circle1, const RExplodable &explodable2, bool limited=true) |
|
static QList< RVector > | getIntersectionPointsEE (const REllipse &ellipse1, const REllipse &ellipse2) |
| Based on "Hughes and Chraibi (2011-2012), Calculating Ellipse Overlap Areas". More...
|
|
static QList< RVector > | getIntersectionPointsEE (const REllipse &ellipse1, const REllipse &ellipse2, bool limited) |
|
static QList< RVector > | getIntersectionPointsES (const REllipse &ellipse1, const RSpline &spline2, bool limited=true) |
|
static QList< RVector > | getIntersectionPointsEX (const REllipse &ellipse1, const RExplodable &explodable2, bool limited=true) |
|
static QList< RVector > | getIntersectionPointsLA (const RLine &line1, const RArc &arc2, bool limited1, bool limited2) |
|
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 limited1, bool limited2) |
|
static QList< RVector > | getIntersectionPointsLE (const RLine &line1, const REllipse &ellipse2, bool limited=true) |
|
static QList< RVector > | getIntersectionPointsLL (const RLine &line1, const RLine &line2, bool limited1, bool limited2) |
|
static QList< RVector > | getIntersectionPointsLL (const RLine &line1, const RLine &line2, bool limited=true) |
|
static QList< RVector > | getIntersectionPointsLS (const RLine &line1, const RSpline &spline2, bool limited=true) |
|
static QList< RVector > | getIntersectionPointsLT (const RLine &line1, const RTriangle &triangle2, bool limited1, bool limited2) |
|
static QList< RVector > | getIntersectionPointsLT (const RLine &line1, const RTriangle &triangle2, bool limited=true) |
|
static QList< RVector > | getIntersectionPointsLX (const RLine &line1, const RExplodable &explodable2, bool limited=true) |
|
static QList< RVector > | getIntersectionPointsSS (const RSpline &spline1, const RSpline &spline2, bool limited=true, bool same=false) |
|
static QList< RVector > | getIntersectionPointsSX (const RSpline &spline1, const RExplodable &explodable2, bool limited) |
|
static QList< RVector > | getIntersectionPointsXX (const RExplodable &explodable1, const RExplodable &explodable2, bool limited=true, bool same=false) |
|
static QList< QSharedPointer< RShape > > | getOffsetArcs (const RShape &shape, double distance, int number, RS::Side side, const RVector &position=RVector::invalid) |
|
static QList< QSharedPointer< RShape > > | getOffsetLines (const RShape &shape, double distance, int number, RS::Side side, const RVector &position=RVector::invalid) |
|
static QList< QSharedPointer< RShape > > | getReversedShapeList (const QList< QSharedPointer< RShape > > &shapes) |
|
static RShapeProxy * | getShapeProxy () |
|
static bool | hasProxy () |
|
static bool | isArcShape (const RShape &s) |
|
static bool | isCircleShape (const RShape &s) |
|
static bool | isEllipseShape (const RShape &s) |
|
static bool | isFullEllipseShape (const RShape &s) |
|
static bool | isLineShape (const RShape &s) |
|
static bool | isPointShape (const RShape &s) |
|
static bool | isPolylineShape (const RShape &s) |
|
static bool | isRayShape (const RShape &s) |
|
static bool | isSplineShape (const RShape &s) |
|
static bool | isTriangleShape (const RShape &s) |
|
static bool | isXLineShape (const RShape &s) |
|
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. More...
|
|
static QSharedPointer< RShape > | rayToLine (QSharedPointer< RShape > shape) |
|
static QList< QSharedPointer< RShape > > | roundAllCorners (const QList< QSharedPointer< RShape > > &shapes, double radius) |
| Round every corner of the list of given (connected) shapes with the given radius. More...
|
|
static QList< QSharedPointer< RShape > > | roundShapes (const QSharedPointer< RShape > shape1, const RVector &clickPos1, const QSharedPointer< RShape > shape2, const RVector &clickPos2, bool trim, bool samePolyline, double radius, const RVector &pos) |
| Rounds the given shape1 against shape2. More...
|
|
static QSharedPointer< RShape > | scaleArc (const RShape &shape, const RVector &scaleFactors, const RVector ¢er=RDEFAULT_RVECTOR) |
|
static void | setShapeProxy (RShapeProxy *p) |
|
static QSharedPointer< RShape > | transformArc (const RShape &shape, RShapeTransformation &transformation) |
|
static QList< QSharedPointer< RShape > > | trim (const RShape &trimShape, const RVector &trimClickPos, const RShape &limitingShape, const RVector &limitingClickPos, bool trimBoth, bool samePolyline) |
| Trims a shape to another or two shapes to each other. More...
|
|
static QSharedPointer< RShape > | xLineToRay (QSharedPointer< RShape > shape) |
|
Low-level mathematical representation of a triangle.
- Scriptable:\nThis class is available in script environments.\n
- Shared Pointer Support:\nObjects can be used in QSharedPointer.\n
- Copyable:\nObjects are cleaned up automatically by the garbage collector of the script engine.\n
- Stream Operator:\nObject has a stream operator to present itself as string, for example when using toString() in a script.\n