Skip to content

RCircleData

Class in Entity Module
Header: #include <src/entity/RCircleData.h>
Inherits: REntityData, RCircle

Stores and manages all data that defines the geometry and appearance of a circle entity.

Scriptable: This class is available in script environments.

Copyable: Objects are cleaned up automatically by the garbage collector of the script engine.

RCircleData()
RCircleData(const RCircle &circle)
RCircleData(const RVector &center, double radius)
virtual RShape * castToShape()
virtual bool flipHorizontal()
virtual bool flipVertical()
virtual QList< RVector > getArcReferencePoints(const RBox &queryBox=RDEFAULT_RBOX) const
virtual RBox getBoundingBox(bool ignoreEmpty=false) const
RVector getCenter() const
virtual QList< RVector > getCenterPoints(const RBox &queryBox=RDEFAULT_RBOX, QList< RObject::Id > *subEntityIds=NULL) const
RCircle getCircle()
virtual double getDistanceTo(const RVector &point, bool limited=true, double range=0.0, bool draft=false, double strictRange=RMAXDOUBLE) const
virtual QList< RVector > getEndPoints(const RBox &queryBox=RDEFAULT_RBOX, QList< RObject::Id > *subEntityIds=NULL) const
virtual QList< RVector > getIntersectionPoints(const REntityData &other, bool limited=true, bool same=false, const RBox &queryBox=RDEFAULT_RBOX, bool ignoreComplex=true, QList< QPair< RObject::Id, RObject::Id > > *entityIds=NULL) const
virtual QList< RVector > getIntersectionPoints(const RShape &shape, bool limited=true, const RBox &queryBox=RDEFAULT_RBOX, bool ignoreComplex=true) const
virtual QList< RVector > getMiddlePoints(const RBox &queryBox=RDEFAULT_RBOX, QList< RObject::Id > *subEntityIds=NULL) const
virtual QList< RVector > getPointsWithDistanceToEnd(double distance, int from=RS::FromAny, const RBox &queryBox=RDEFAULT_RBOX, QList< RObject::Id > *subEntityIds=NULL) const
double getRadius() const
virtual QList< RRefPoint > getReferencePoints(RS::ProjectionRenderingHint hint=RS::RenderTop) const
virtual QList< QSharedPointer< RShape > > getShapes(const RBox &queryBox=RDEFAULT_RBOX, bool ignoreComplex=false, bool segment=false, QList< RObject::Id > *entityIds=NULL) const
virtual RS::EntityType getType() const
virtual RVector getVectorTo(const RVector &point, bool limited=true, double strictRange=RMAXDOUBLE) const
virtual bool intersectsWith(const RShape &shape) const
virtual bool isValid() const
virtual bool mirror(const RLine &axis)
virtual bool mirror(const RVector &axis1, const RVector &axis2)
virtual bool move(const RVector &offset)
Moves this entity by the given offset.
virtual bool moveReferencePoint(const RVector &referencePoint, const RVector &targetPoint, Qt::KeyboardModifiers modifiers=Qt::NoModifier)
Moves the given reference point to the given target point or does nothing if this entity has no reference point as the given location.
virtual bool rotate(double rotation, const RVector &center=RDEFAULT_RVECTOR)
virtual bool scale(const RVector &scaleFactors, const RVector &center=RDEFAULT_RVECTOR)
virtual void setZ(double z)
virtual bool stretch(const RPolyline &area, const RVector &offset)
Stretches the end points of this entity that are inside area by offset.
virtual void to2D()
RCircleData(RDocument *document, const RCircleData &data)
class RCircleEntity

RCircleData::RCircleData()

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.

RCircleData::RCircleData(const RCircle &circle)

RCircleData::RCircleData(const RVector &center, double radius)

virtual RShape * RCircleData::castToShape()

virtual inline

Reimplemented from castToShape.

virtual bool RCircleData::flipHorizontal()

virtual inline

Reimplemented from flipHorizontal.

virtual bool RCircleData::flipVertical()

virtual inline

Reimplemented from flipVertical.

virtual QList< RVector > RCircleData::getArcReferencePoints(const RBox &queryBox=RDEFAULT_RBOX) const

virtual inline const

Returns: Vector of reference points of this entity. Used for snap to reference points.

Reimplemented from getArcReferencePoints.

virtual RBox RCircleData::getBoundingBox(bool ignoreEmpty=false) const

virtual inline const

Returns: The bounding box that contains this entity.

Reimplemented from getBoundingBox.

RVector RCircleData::getCenter() const

inline const

virtual QList< RVector > RCircleData::getCenterPoints(const RBox &queryBox=RDEFAULT_RBOX, QList< RObject::Id > *subEntityIds=NULL) const

virtual inline const

Returns: Vector of center points of this entity. Used for snap to center points.

Reimplemented from getCenterPoints.

RCircle RCircleData::getCircle()

inline

virtual double RCircleData::getDistanceTo(const RVector &point, bool limited=true, double range=0.0, bool draft=false, double strictRange=RMAXDOUBLE) const

virtual inline const

Returns: The shortest distance from this entity to the given point.

Parameters:

  • limited: Limit lines, arcs at end points, otherwise the orthogonal distance to the unlimited line / circle is returned.
  • range: This is returned for solid filled entities (solid filled or dense hatches, text entities) if the point is on the entity and the distance would be zero.
  • draft: Calculate based on draft mode representation of the entity.
  • strictRange: If limited, this is the maximum range from either end point of the entity. Zero to only return distances that are strictly orthogonal to the entity.

Reimplemented from getDistanceTo.

virtual QList< RVector > RCircleData::getEndPoints(const RBox &queryBox=RDEFAULT_RBOX, QList< RObject::Id > *subEntityIds=NULL) const

virtual inline const

Returns: Vector of end points of this entity. Used for snap to end points.

Reimplemented from getEndPoints.

virtual QList< RVector > RCircleData::getIntersectionPoints(const REntityData &other, bool limited=true, bool same=false, const RBox &queryBox=RDEFAULT_RBOX, bool ignoreComplex=true, QList< QPair< RObject::Id, RObject::Id > > *entityIds=NULL) const

virtual inline const

Returns: Points on entity which are intersection points with the given other entity. If same is true, the two datas originate from the same entity.

Reimplemented from getIntersectionPoints.

virtual QList< RVector > RCircleData::getIntersectionPoints(const RShape &shape, bool limited=true, const RBox &queryBox=RDEFAULT_RBOX, bool ignoreComplex=true) const

virtual inline const

Returns: Points on entity which are intersection points with the given shape.

Reimplemented from getIntersectionPoints.

virtual QList< RVector > RCircleData::getMiddlePoints(const RBox &queryBox=RDEFAULT_RBOX, QList< RObject::Id > *subEntityIds=NULL) const

virtual inline const

Returns: Vector of middle points of this entity. Used for snap to middle points.

Reimplemented from getMiddlePoints.

virtual QList< RVector > RCircleData::getPointsWithDistanceToEnd(double distance, int from=RS::FromAny, const RBox &queryBox=RDEFAULT_RBOX, QList< RObject::Id > *subEntityIds=NULL) const

virtual inline const

Returns: Points on entity with given distance to either endpoint. Used for snap to points with distance on entity.

Reimplemented from getPointsWithDistanceToEnd.

double RCircleData::getRadius() const

inline const

virtual QList< RRefPoint > RCircleData::getReferencePoints(RS::ProjectionRenderingHint hint=RS::RenderTop) const

virtual const

Returns: Vector of reference points of this entity. Reference points can usually be moved around by the user to change the geometry of the entity.

Reimplemented from getReferencePoints.

virtual QList< QSharedPointer< RShape > > RCircleData::getShapes(const RBox &queryBox=RDEFAULT_RBOX, bool ignoreComplex=false, bool segment=false, QList< RObject::Id > *entityIds=NULL) const

virtual inline const

Returns: Shapes that represent the geometry of this entity.

Parameters:

  • queryBox: Limit returned shapes to query box
  • ignoreComplex: Ignore complex shapes and explode those into simple shapes
  • segment: Split up splines into spline segments

Reimplemented from getShapes.

virtual RS::EntityType RCircleData::getType() const

virtual inline const

Reimplemented from getType.

virtual RVector RCircleData::getVectorTo(const RVector &point, bool limited=true, double strictRange=RMAXDOUBLE) const

virtual inline const

Returns: The distance vector from this entity to the given point.

Parameters:

  • point: the point to which the distance was measured
  • limited: If true, an invalid vector is returned if the closest point on the entity is outside of the entity (e.g. in the extension line of a line or outside the start / end angle of an arc).

Reimplemented from getVectorTo.

virtual bool RCircleData::intersectsWith(const RShape &shape) const

virtual inline const

Returns: True if this entity intersects with the given shape, false otherwise.

Reimplemented from intersectsWith.

virtual bool RCircleData::isValid() const

virtual inline const

Reimplemented from isValid.

virtual bool RCircleData::mirror(const RLine &axis)

virtual inline

Reimplemented from mirror.

virtual bool RCircleData::mirror(const RVector &axis1, const RVector &axis2)

virtual inline

Reimplemented from mirror.

virtual bool RCircleData::move(const RVector &offset)

virtual inline

Moves this entity by the given offset.

Reimplemented from move.

virtual bool RCircleData::moveReferencePoint(const RVector &referencePoint, const RVector &targetPoint, Qt::KeyboardModifiers modifiers=Qt::NoModifier)

virtual

Moves the given reference point to the given target point or does nothing if this entity has no reference point as the given location.

Returns: True if a reference point has been moved successfully, false otherwise.

Reimplemented from moveReferencePoint.

virtual bool RCircleData::rotate(double rotation, const RVector &center=RDEFAULT_RVECTOR)

virtual inline

Reimplemented from rotate.

virtual bool RCircleData::scale(const RVector &scaleFactors, const RVector &center=RDEFAULT_RVECTOR)

virtual inline

Reimplemented from scale.

virtual void RCircleData::setZ(double z)

virtual inline

Reimplemented from setZ.

virtual bool RCircleData::stretch(const RPolyline &area, const RVector &offset)

virtual inline

Stretches the end points of this entity that are inside area by offset.

Reimplemented from stretch.

virtual void RCircleData::to2D()

virtual inline

Reimplemented from to2D.

RCircleData::RCircleData(RDocument *document, const RCircleData &data)

protected

friend class RCircleEntity

private