36#define RDEFAULT_MIN1 -1
59 virtual QSharedPointer<RShape>
clone()
const {
60 return QSharedPointer<RShape>(
new RTriangle(*
this));
64 return QSharedPointer<RTriangle>(
new RTriangle(*
this));
67 virtual void setZ(
double z);
74 static RTriangle createArrow(
const RVector& position,
double direction,
double size);
78 double getArea()
const;
80 void setCorner(
int i,
const RVector& p);
88 virtual QList<RVector>
getPointCloud(
double segmentLength)
const;
94 virtual RVector getNormal()
const;
101 bool isPointInTriangle(
const RVector& p,
bool treatAsQuadrant =
false)
const;
102 bool isPointInQuadrant(
const RVector& p)
const;
109 corner[0].move(offset);
110 corner[1].move(offset);
111 corner[2].move(offset);
115 corner[0].rotate(rotation, center);
116 corner[1].rotate(rotation, center);
117 corner[2].rotate(rotation, center);
121 corner[0].scale(scaleFactors, center);
122 corner[1].scale(scaleFactors, center);
123 corner[2].scale(scaleFactors, center);
127 corner[0].mirror(axis);
128 corner[1].mirror(axis);
129 corner[2].mirror(axis);
133 corner[0].flipHorizontal();
134 corner[1].flipHorizontal();
135 corner[2].flipHorizontal();
139 corner[0].flipVertical();
140 corner[1].flipVertical();
141 corner[2].flipVertical();
146 return QSharedPointer<RShape>(
148 corner[0].getTransformed2D(transform),
149 corner[1].getTransformed2D(transform),
150 corner[2].getTransformed2D(transform)
155#if QT_VERSION >= 0x060000
166 virtual void print(QDebug dbg)
const;
#define RDEFAULT_MIN1
Copyright (c) 2011-2018 by Andrew Mustun.
Definition RExplodable.h:30
Q_DECLARE_METATYPE(RMath *)
#define RMAXDOUBLE
Definition RMath.h:66
#define RDEFAULT_RVECTOR
Definition RVector.h:38
int i
Copyright (c) 2011-2018 by Andrew Mustun.
Definition autostart.js:32
Represents a box e.g.
Definition RBox.h:46
Interface for explodable shape classes.
Definition RExplodable.h:40
virtual QList< QSharedPointer< RShape > > getExploded(int segments=RDEFAULT_MIN1) const =0
Low-level mathematical representation of a line.
Definition RLine.h:41
Low-level mathematical representation of an open polyline or closed polyline (= polygon).
Definition RPolyline.h:50
Orientation
Definition RS.h:700
@ FromAny
Start or end.
Definition RS.h:374
Interface for geometrical shape classes.
Definition RShape.h:72
virtual RVector getVectorTo(const RVector &point, bool limited=true, double strictRange=RMAXDOUBLE) const =0
virtual QList< RVector > getPointCloud(double segmentLength) const =0
virtual QList< RVector > getPointsWithDistanceToEnd(double distance, int from=RS::FromAny) const =0
Type
Definition RShape.h:74
@ Triangle
Definition RShape.h:83
virtual QList< RVector > getCenterPoints() const =0
virtual void print(QDebug dbg) const
Definition RShape.cpp:1760
virtual QList< RVector > getEndPoints() const =0
virtual QList< RVector > getVectorProperties() const
Definition RShape.h:170
virtual QList< RVector > getMiddlePoints() const =0
virtual bool reverse()
Definition RShape.h:299
virtual void setZ(double z)=0
virtual RBox getBoundingBox() const =0
virtual double getDistanceTo(const RVector &point, bool limited=true, double strictRange=RMAXDOUBLE) const
Definition RShape.cpp:57
virtual double getLength() const =0
Low-level mathematical representation of a triangle.
Definition RTriangle.h:49
virtual bool mirror(const RLine &axis)
Definition RTriangle.h:126
virtual QSharedPointer< RShape > clone() const
Definition RTriangle.h:59
QSharedPointer< RTriangle > cloneToTriangle() const
Definition RTriangle.h:63
virtual RShape::Type getShapeType() const
Definition RTriangle.h:55
virtual bool flipHorizontal()
Definition RTriangle.h:132
virtual bool flipVertical()
Definition RTriangle.h:138
QSharedPointer< RShape > getTransformed(const QTransform &transform) const
Definition RTriangle.h:145
virtual bool scale(const RVector &scaleFactors, const RVector ¢er=RDEFAULT_RVECTOR)
Definition RTriangle.h:120
virtual bool move(const RVector &offset)
Definition RTriangle.h:108
virtual bool rotate(double rotation, const RVector ¢er=RDEFAULT_RVECTOR)
Definition RTriangle.h:114
Represents a 3d vector (x/y/z).
Definition RVector.h:47
#define QCADCORE_EXPORT
Definition core_global.h:10