Skip to content

RSplineEntity

Class in Entity Module
Header: #include <src/entity/RSplineEntity.h>
Inherits: REntity

Spline entity.

Scriptable: This class is available in script environments.

Shared Pointer Support: Objects can be used in QSharedPointer.

RSplineEntity(const RSplineEntity &other)
RSplineEntity(RDocument *document, const RSplineData &data)
virtual ~RSplineEntity()
void appendControlPoint(const RVector &point)
void appendFitPoint(const RVector &point)
RPolyline approximateWithArcs(double tolerance, double radiusLimit=RDEFAULT_MIN1) const
virtual QSharedPointer< RObject > clone() const
QSharedPointer< RSplineEntity > cloneToSplineEntity() const
int countControlPoints() const
int countFitPoints() const
virtual void exportEntity(RExporter &e, bool preview=false, bool forceSelected=false) const
Exports the entity to the given exporter.
QList< double > getActualKnotVector() const
double getAngleAt(double distance, RS::From from=RS::FromStart) const
QList< RSpline > getBezierSegments(const RBox &queryBox=RDEFAULT_RBOX) const
virtual int getComplexity() const
RVector getControlPointAt(int i) const
QList< RVector > getControlPoints() const
QList< RVector > getControlPointsWrapped() const
virtual RSplineData & getData()
virtual const RSplineData & getData() const
int getDegree() const
double getDirection1() const
double getDirection2() const
RVector getEndPoint() const
QList< QSharedPointer< RShape > > getExploded(int segments=RDEFAULT_MIN1) const
RVector getFitPointAt(int i) const
QList< RVector > getFitPoints() const
QList< double > getKnotVector() const
double getLength() const
RVector getPointAt(double t) const
RVector getPointAtDistance(double distance) const
virtual QPair< QVariant, RPropertyAttributes > getProperty(RPropertyTypeId &propertyTypeId, bool humanReadable=false, bool noAttributes=false, bool showOnRequest=false)
RS::Side getSideOfPoint(const RVector &point) const
RVector getStartPoint() const
RVector getTangentAtEnd() const
RVector getTangentAtStart() const
double getTAtDistance(double distance) const
double getTAtPoint(const RVector &point) const
double getTDelta() const
double getTMax() const
double getTMin() const
RS::Ending getTrimEnd(const RVector &trimPoint, const RVector &clickPoint)
QList< double > getWeights() const
bool hasFitPoints() const
void insertFitPointAt(const RVector &point)
bool isClosed() const
bool isGeometricallyClosed(double tolerance=RS::PointTolerance) const
bool isPeriodic() const
virtual bool isValid() const
void prependFitPoint(const RVector &point)
void removeFitPointAt(const RVector &point)
bool reverse()
void setEndPoint(const RVector &ep)
void setPeriodic(bool on)
virtual bool setProperty(RPropertyTypeId propertyTypeId, const QVariant &value, RTransaction *transaction=NULL)
Sets the given property to the given value.
void setShape(const RSpline &s)
void setStartPoint(const RVector &sp)
virtual void setUndone(bool on)
void simplify(double tolerance)
QList< RSpline > splitAtParams(const QList< double > &params) const
QList< RSpline > splitAtPoints(const QList< RVector > &points) const
RPolyline toPolyline(int segments) const
bool trimEndPoint(const RVector &trimPoint, const RVector &clickPoint=RVector::invalid, bool extend=false)
bool trimStartPoint(const RVector &trimPoint, const RVector &clickPoint=RVector::invalid, bool extend=false)
static RS::EntityType getRtti()
static QSet< RPropertyTypeId > getStaticPropertyTypeIds()
static void init()
static RPropertyTypeId PropertyBlock
static RPropertyTypeId PropertyColor
static RPropertyTypeId PropertyControlPointNX
static RPropertyTypeId PropertyControlPointNY
static RPropertyTypeId PropertyControlPointNZ
static RPropertyTypeId PropertyCustom
static RPropertyTypeId PropertyDegree
static RPropertyTypeId PropertyDisplayedColor
static RPropertyTypeId PropertyDrawOrder
static RPropertyTypeId PropertyEndTangentX
static RPropertyTypeId PropertyEndTangentY
static RPropertyTypeId PropertyEndTangentZ
static RPropertyTypeId PropertyFitPointNX
static RPropertyTypeId PropertyFitPointNY
static RPropertyTypeId PropertyFitPointNZ
static RPropertyTypeId PropertyHandle
static RPropertyTypeId PropertyKnotN
static RPropertyTypeId PropertyLayer
static RPropertyTypeId PropertyLength
static RPropertyTypeId PropertyLinetype
static RPropertyTypeId PropertyLinetypeScale
static RPropertyTypeId PropertyLineweight
static RPropertyTypeId PropertyPeriodic
static RPropertyTypeId PropertyProtected
static RPropertyTypeId PropertyStartTangentX
static RPropertyTypeId PropertyStartTangentY
static RPropertyTypeId PropertyStartTangentZ
static RPropertyTypeId PropertyTotalLength
static RPropertyTypeId PropertyType
static RPropertyTypeId PropertyUseEndTangent
static RPropertyTypeId PropertyUseStartTangent
static RPropertyTypeId PropertyWorkingSet
virtual void print(QDebug dbg) const
Stream operator for QDebug.
RSplineData data

RSplineEntity::RSplineEntity(const RSplineEntity &other)

RSplineEntity::RSplineEntity(RDocument *document, const RSplineData &data)

virtual RSplineEntity::~RSplineEntity()

virtual

void RSplineEntity::appendControlPoint(const RVector &point)

inline

void RSplineEntity::appendFitPoint(const RVector &point)

inline

RPolyline RSplineEntity::approximateWithArcs(double tolerance, double radiusLimit=RDEFAULT_MIN1) const

inline const

virtual QSharedPointer< RObject > RSplineEntity::clone() const

virtual inline const

Reimplemented from clone.

QSharedPointer< RSplineEntity > RSplineEntity::cloneToSplineEntity() const

inline const

int RSplineEntity::countControlPoints() const

inline const

int RSplineEntity::countFitPoints() const

inline const

virtual void RSplineEntity::exportEntity(RExporter &e, bool preview=false, bool forceSelected=false) const

virtual const

Exports the entity to the given exporter.

The exporter might be a file exporter, a graphics scene or any other platform one can export entities to.

Reimplemented from exportEntity.

QList< double > RSplineEntity::getActualKnotVector() const

inline const

double RSplineEntity::getAngleAt(double distance, RS::From from=RS::FromStart) const

inline const

QList< RSpline > RSplineEntity::getBezierSegments(const RBox &queryBox=RDEFAULT_RBOX) const

inline const

virtual int RSplineEntity::getComplexity() const

virtual const

Reimplemented from getComplexity.

RVector RSplineEntity::getControlPointAt(int i) const

inline const

QList< RVector > RSplineEntity::getControlPoints() const

inline const

QList< RVector > RSplineEntity::getControlPointsWrapped() const

inline const

virtual RSplineData & RSplineEntity::getData()

virtual inline

Returns: Reference to the data object of the entity.

Reimplemented from getData.

virtual const RSplineData & RSplineEntity::getData() const

virtual inline const

Returns: Const reference to the data object of the entity.

Reimplemented from getData.

int RSplineEntity::getDegree() const

inline const

double RSplineEntity::getDirection1() const

inline const

double RSplineEntity::getDirection2() const

inline const

RVector RSplineEntity::getEndPoint() const

inline const

QList< QSharedPointer< RShape > > RSplineEntity::getExploded(int segments=RDEFAULT_MIN1) const

inline const

RVector RSplineEntity::getFitPointAt(int i) const

inline const

QList< RVector > RSplineEntity::getFitPoints() const

inline const

QList< double > RSplineEntity::getKnotVector() const

inline const

double RSplineEntity::getLength() const

inline const

RVector RSplineEntity::getPointAt(double t) const

inline const

RVector RSplineEntity::getPointAtDistance(double distance) const

inline const

virtual QPair< QVariant, RPropertyAttributes > RSplineEntity::getProperty(RPropertyTypeId &propertyTypeId, bool humanReadable=false, bool noAttributes=false, bool showOnRequest=false)

virtual

Returns: The value and attributes of the given property or an invalid property if this property owner has no property with the given ID.

Reimplemented from getProperty.

RS::Side RSplineEntity::getSideOfPoint(const RVector &point) const

inline const

RVector RSplineEntity::getStartPoint() const

inline const

RVector RSplineEntity::getTangentAtEnd() const

inline const

RVector RSplineEntity::getTangentAtStart() const

inline const

double RSplineEntity::getTAtDistance(double distance) const

inline const

double RSplineEntity::getTAtPoint(const RVector &point) const

inline const

double RSplineEntity::getTDelta() const

inline const

double RSplineEntity::getTMax() const

inline const

double RSplineEntity::getTMin() const

inline const

RS::Ending RSplineEntity::getTrimEnd(const RVector &trimPoint, const RVector &clickPoint)

inline

QList< double > RSplineEntity::getWeights() const

inline const

bool RSplineEntity::hasFitPoints() const

inline const

void RSplineEntity::insertFitPointAt(const RVector &point)

inline

bool RSplineEntity::isClosed() const

inline const

bool RSplineEntity::isGeometricallyClosed(double tolerance=RS::PointTolerance) const

inline const

bool RSplineEntity::isPeriodic() const

inline const

virtual bool RSplineEntity::isValid() const

virtual inline const

Reimplemented from isValid.

void RSplineEntity::prependFitPoint(const RVector &point)

inline

void RSplineEntity::removeFitPointAt(const RVector &point)

inline

bool RSplineEntity::reverse()

inline

void RSplineEntity::setEndPoint(const RVector &ep)

inline

void RSplineEntity::setPeriodic(bool on)

inline

virtual bool RSplineEntity::setProperty(RPropertyTypeId propertyTypeId, const QVariant &value, RTransaction *transaction=NULL)

virtual

Sets the given property to the given value.

If this property owner does not know a property with that ID, it is up to the property owner what happens. The property might be added into a list of dynamic properties or dropped.

Returns: True if the property owner was modified in any way, false otherwise.

Reimplemented from setProperty.

void RSplineEntity::setShape(const RSpline &s)

void RSplineEntity::setStartPoint(const RVector &sp)

inline

virtual void RSplineEntity::setUndone(bool on)

virtual inline

void RSplineEntity::simplify(double tolerance)

inline

QList< RSpline > RSplineEntity::splitAtParams(const QList< double > &params) const

inline const

QList< RSpline > RSplineEntity::splitAtPoints(const QList< RVector > &points) const

inline const

RPolyline RSplineEntity::toPolyline(int segments) const

inline const

bool RSplineEntity::trimEndPoint(const RVector &trimPoint, const RVector &clickPoint=RVector::invalid, bool extend=false)

inline

bool RSplineEntity::trimStartPoint(const RVector &trimPoint, const RVector &clickPoint=RVector::invalid, bool extend=false)

inline

static RS::EntityType RSplineEntity::getRtti()

static inline

static QSet< RPropertyTypeId > RSplineEntity::getStaticPropertyTypeIds()

static inline

static void RSplineEntity::init()

static

static RPropertyTypeId RSplineEntity::PropertyBlock

static

static RPropertyTypeId RSplineEntity::PropertyColor

static

static RPropertyTypeId RSplineEntity::PropertyControlPointNX

static

static RPropertyTypeId RSplineEntity::PropertyControlPointNY

static

static RPropertyTypeId RSplineEntity::PropertyControlPointNZ

static

static RPropertyTypeId RSplineEntity::PropertyCustom

static

All rights reserved.

This file is part of the QCAD project.

QCAD is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

QCAD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with QCAD.

static RPropertyTypeId RSplineEntity::PropertyDegree

static

static RPropertyTypeId RSplineEntity::PropertyDisplayedColor

static

static RPropertyTypeId RSplineEntity::PropertyDrawOrder

static

static RPropertyTypeId RSplineEntity::PropertyEndTangentX

static

static RPropertyTypeId RSplineEntity::PropertyEndTangentY

static

static RPropertyTypeId RSplineEntity::PropertyEndTangentZ

static

static RPropertyTypeId RSplineEntity::PropertyFitPointNX

static

static RPropertyTypeId RSplineEntity::PropertyFitPointNY

static

static RPropertyTypeId RSplineEntity::PropertyFitPointNZ

static

static RPropertyTypeId RSplineEntity::PropertyHandle

static

static RPropertyTypeId RSplineEntity::PropertyKnotN

static

static RPropertyTypeId RSplineEntity::PropertyLayer

static

static RPropertyTypeId RSplineEntity::PropertyLength

static

static RPropertyTypeId RSplineEntity::PropertyLinetype

static

static RPropertyTypeId RSplineEntity::PropertyLinetypeScale

static

static RPropertyTypeId RSplineEntity::PropertyLineweight

static

static RPropertyTypeId RSplineEntity::PropertyPeriodic

static

static RPropertyTypeId RSplineEntity::PropertyProtected

static

static RPropertyTypeId RSplineEntity::PropertyStartTangentX

static

static RPropertyTypeId RSplineEntity::PropertyStartTangentY

static

static RPropertyTypeId RSplineEntity::PropertyStartTangentZ

static

static RPropertyTypeId RSplineEntity::PropertyTotalLength

static

static RPropertyTypeId RSplineEntity::PropertyType

static

static RPropertyTypeId RSplineEntity::PropertyUseEndTangent

static

static RPropertyTypeId RSplineEntity::PropertyUseStartTangent

static

static RPropertyTypeId RSplineEntity::PropertyWorkingSet

static

virtual void RSplineEntity::print(QDebug dbg) const

virtual const protected

Stream operator for QDebug.

Reimplemented from print.

RSplineData RSplineEntity::data

protected