|
QCAD
Open Source 2D CAD
|
Go to the documentation of this file.
23 #include "../core_global.h"
33 #define RDEFAULT_MIN1 -1
60 virtual void setZ(
double z);
64 static RTriangle createArrow(
const RVector& position,
double direction,
double size);
68 double getArea()
const;
70 void setCorner(
int i,
const RVector& p);
77 virtual QList<RVector>
getPointCloud(
double segmentLength)
const;
83 virtual RVector getNormal()
const;
90 bool isPointInTriangle(
const RVector& p,
bool treatAsQuadrant =
false)
const;
91 bool isPointInQuadrant(
const RVector& p)
const;
98 corner[0].move(offset);
99 corner[1].move(offset);
100 corner[2].move(offset);
104 corner[0].rotate(rotation, center);
105 corner[1].rotate(rotation, center);
106 corner[2].rotate(rotation, center);
110 corner[0].scale(scaleFactors, center);
111 corner[1].scale(scaleFactors, center);
112 corner[2].scale(scaleFactors, center);
116 corner[0].mirror(axis);
117 corner[1].mirror(axis);
118 corner[2].mirror(axis);
122 corner[0].flipHorizontal();
123 corner[1].flipHorizontal();
124 corner[2].flipHorizontal();
128 corner[0].flipVertical();
129 corner[1].flipVertical();
130 corner[2].flipVertical();
135 return QSharedPointer<RShape>(
137 corner[0].getTransformed2D(transform),
138 corner[1].getTransformed2D(transform),
139 corner[2].getTransformed2D(transform)
145 virtual void print(QDebug dbg)
const;
virtual double getLength() const =0
@ Triangle
Definition: RShape.h:83
virtual QList< RVector > getMiddlePoints() const =0
QSharedPointer< RShape > getTransformed(const QTransform &transform) const
Definition: RTriangle.h:134
Represents a 3d vector (x/y/z).
Definition: RVector.h:46
virtual RShape::Type getShapeType() const
Definition: RTriangle.h:52
virtual QList< RVector > getVectorProperties() const
Definition: RShape.h:165
int i
Copyright (c) 2011-2018 by Andrew Mustun.
Definition: autostart.js:49
virtual QList< RVector > getCenterPoints() const =0
virtual bool mirror(const RLine &axis)
Definition: RTriangle.h:115
Low-level mathematical representation of a line.
Definition: RLine.h:41
Type
Definition: RShape.h:74
Interface for geometrical shape classes.
Definition: RShape.h:72
#define RDEFAULT_RVECTOR
Definition: RVector.h:37
virtual RVector getVectorTo(const RVector &point, bool limited=true, double strictRange=RMAXDOUBLE) const =0
Q_DECLARE_METATYPE(RMath *)
virtual bool scale(const RVector &scaleFactors, const RVector ¢er=RDEFAULT_RVECTOR)
Definition: RTriangle.h:109
virtual bool rotate(double rotation, const RVector ¢er=RDEFAULT_RVECTOR)
Definition: RTriangle.h:103
#define RDEFAULT_MIN1
Copyright (c) 2011-2018 by Andrew Mustun.
Definition: RExplodable.h:30
virtual RTriangle * clone() const
Definition: RTriangle.h:56
virtual QList< RVector > getPointCloud(double segmentLength) const =0
virtual bool flipVertical()
Definition: RTriangle.h:127
virtual RBox getBoundingBox() const =0
virtual QList< QSharedPointer< RShape > > getExploded(int segments=RDEFAULT_MIN1) const =0
virtual QList< RVector > getEndPoints() const =0
#define RMAXDOUBLE
Definition: RMath.h:63
Low-level mathematical representation of a triangle.
Definition: RTriangle.h:46
virtual bool move(const RVector &offset)
Definition: RTriangle.h:97
virtual QList< RVector > getPointsWithDistanceToEnd(double distance, int from=RS::FromAny) const =0
virtual void setZ(double z)=0
@ FromAny
Start or end.
Definition: RS.h:266
virtual void print(QDebug dbg) const
Definition: RShape.cpp:1759
Represents a box e.g.
Definition: RBox.h:43
Interface for explodable shape classes.
Definition: RExplodable.h:40
#define QCADCORE_EXPORT
Definition: core_global.h:10
virtual double getDistanceTo(const RVector &point, bool limited=true, double strictRange=RMAXDOUBLE) const
Definition: RShape.cpp:48
virtual bool flipHorizontal()
Definition: RTriangle.h:121