47 RXLine(
const RVector& basePoint,
double angle,
double distance);
55 return RLine(basePoint, basePoint + directionVector);
58 virtual QSharedPointer<RShape>
clone()
const {
59 return QSharedPointer<RShape>(
new RXLine(*
this));
63 return QSharedPointer<RXLine>(
new RXLine(*
this));
72 virtual void setZ(
double z);
81 virtual QList<RVector>
getPointCloud(
double segmentLength)
const;
88 void setBasePoint(
const RVector& vector);
90 void setSecondPoint(
const RVector& vector);
91 RVector getDirectionVector()
const;
92 void setDirectionVector(
const RVector& vector);
97 void setLength(
double l);
98 double getAngle()
const;
99 void setAngle(
double a);
120 virtual RLine getClippedLine(
const RBox& box)
const;
129 virtual QSharedPointer<RShape>
getTransformed(
const QTransform& transform)
const;
135 virtual QList<QSharedPointer<RShape> >
splitAt(
const QList<RVector>& points)
const;
137#if QT_VERSION >= 0x060000
148 virtual void print(QDebug dbg)
const;
Q_DECLARE_METATYPE(RMath *)
#define RMAXDOUBLE
Definition RMath.h:66
#define RDEFAULT_RVECTOR
Definition RVector.h:38
Represents a box e.g.
Definition RBox.h:46
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
From
End used to specify from which end of a shape to measure a distance.
Definition RS.h:371
@ FromStart
Definition RS.h:372
@ FromAny
Start or end.
Definition RS.h:374
Side
Side used for side of a point relative to an entity (right hand or left hand side)
Definition RS.h:313
Ending
Entity ending.
Definition RS.h:323
Interface for geometrical shape classes.
Definition RShape.h:72
virtual double getDistanceFromStart(const RVector &p) const
Definition RShape.h:356
virtual RVector getVectorTo(const RVector &point, bool limited=true, double strictRange=RMAXDOUBLE) const =0
virtual QList< RVector > getPointCloud(double segmentLength) const =0
virtual bool trimStartPoint(const RVector &trimPoint, const RVector &clickPoint=RVector::invalid, bool extend=false)
Definition RShape.h:309
virtual RVector getStartPoint() const
Definition RShape.h:289
virtual bool stretch(const RBox &area, const RVector &offset)
Definition RShape.cpp:1741
virtual QList< RVector > getPointsWithDistanceToEnd(double distance, int from=RS::FromAny) const =0
virtual RVector getEndPoint() const
Definition RShape.h:292
virtual bool trimEndPoint(const RVector &trimPoint, const RVector &clickPoint=RVector::invalid, bool extend=false)
Definition RShape.h:328
Type
Definition RShape.h:74
@ XLine
Definition RShape.h:84
virtual QList< RVector > getCenterPoints() const =0
virtual bool move(const RVector &offset)=0
virtual double getAngleAt(double distance, RS::From from=RS::FromStart) const
Definition RShape.h:249
virtual bool rotate(double rotation, const RVector ¢er=RDEFAULT_RVECTOR)=0
virtual void print(QDebug dbg) const
Definition RShape.cpp:1760
virtual QList< QSharedPointer< RShape > > splitAt(const QList< RVector > &points) const
Definition RShape.cpp:2234
virtual bool mirror(const RLine &axis)=0
virtual double getDirection1() const
Definition RShape.h:277
virtual QList< RVector > getEndPoints() const =0
virtual RVector getMiddlePoint() const
Definition RShape.h:295
virtual double getDirection2() const
Definition RShape.h:280
virtual RS::Side getSideOfPoint(const RVector &point) const
Definition RShape.h:284
virtual QList< RVector > getVectorProperties() const
Definition RShape.h:170
static QList< QSharedPointer< RShape > > getOffsetLines(const RShape &shape, double distance, int number, RS::Side side, const RVector &position=RVector::invalid)
Definition RShape.cpp:2070
virtual QList< RVector > getMiddlePoints() const =0
virtual bool reverse()
Definition RShape.h:299
virtual void setZ(double z)=0
virtual QSharedPointer< RShape > getTransformed(const QTransform &transform) const =0
virtual RBox getBoundingBox() const =0
virtual RS::Ending getTrimEnd(const RVector &trimPoint, const RVector &clickPoint)
Definition RShape.h:345
virtual bool scale(double scaleFactor, const RVector ¢er=RVector())
Definition RShape.cpp:1756
virtual double getLength() const =0
Represents a 3d vector (x/y/z).
Definition RVector.h:47
static const RVector invalid
invalid vector
Definition RVector.h:335
Low-level mathematical representation of an infinite line.
Definition RXLine.h:42
RVector directionVector
Getter function for this property: getDirectionVector Setter function for this property: setDirect...
Definition RXLine.h:160
RVector basePoint
Getter function for this property: getBasePoint Setter function for this property: setBasePoint
Definition RXLine.h:155
virtual RShape::Type getShapeType() const
Definition RXLine.h:50
virtual bool trimEndPoint(double trimDist)
Definition RXLine.h:114
virtual QSharedPointer< RShape > clone() const
Definition RXLine.h:58
RLine getLineShape() const
Definition RXLine.h:54
QSharedPointer< RXLine > cloneToXLine() const
Definition RXLine.h:62
virtual QList< QSharedPointer< RShape > > getOffsetShapes(double distance, int number, RS::Side side, const RVector &position=RVector::invalid)
Definition RXLine.h:131
virtual bool trimStartPoint(double trimDist)
Definition RXLine.h:111
virtual bool isDirected() const
Definition RXLine.h:66
#define QCADCORE_EXPORT
Definition core_global.h:10