QCAD Application Framework
CAD Application Development and Automation.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RCircle Class Reference

Low-level mathematical representation of a circle. More...

#include <RCircle.h>

Inheritance diagram for RCircle:
RShape RCircleData

List of all members.

Public Member Functions

virtual RCircleclone () const
virtual bool flipHorizontal ()
virtual bool flipVertical ()
double getArea () const
virtual RBox getBoundingBox () const
RVector getCenter () const
virtual QList< RVectorgetCenterPoints () const
double getCircumference () const
double getDiameter () const
virtual QList< RVectorgetEndPoints () const
virtual double getLength () const
virtual QList< RVectorgetMiddlePoints () const
virtual QList< RVectorgetPointsWithDistanceToEnd (double distance, RS::From from=RS::FromAny) const
double getRadius () const
virtual RVector getVectorTo (const RVector &point, bool limited=true) const
virtual bool mirror (const RLine &axis)
virtual bool move (const RVector &offset)
 RCircle ()
 Creates a circle object with invalid center and 0 radius.
 RCircle (const RVector &center, const double radius)
virtual bool rotate (double rotation, const RVector &center=RDEFAULT_RVECTOR)
virtual bool scale (const RVector &scaleFactors, const RVector &center=RDEFAULT_RVECTOR)
void setArea (double a)
void setCenter (const RVector &vector)
void setCircumference (double c)
void setDiameter (double d)
void setRadius (double radius)
virtual void to2D ()
 Flattens this shape to the X/Y plane.
virtual ~RCircle ()
- Public Member Functions inherited from RShape
virtual RVector getClosestPointOnShape (const RVector &p, bool limited=true) const
virtual double getDistanceTo (const RVector &point, bool limited=true) const
QList< RVectorgetIntersectionPoints (const RShape &other, bool limited=true, bool same=false) const
virtual RVector getPointAtPercent (double p) const
virtual RVector getVectorFromEndpointTo (const RVector &point) const
virtual bool intersectsWith (const RShape &other, bool limited=true) const
virtual bool isInterpolated () const
 Reimplement and return true if this shape relies on interpolation for geometrical operations such as finding intersection points.
virtual bool isOnShape (const RVector &point, bool limited=true, double tolerance=RDEFAULT_TOLERANCE_1E_MIN4) const
 RShape ()
virtual bool scale (double scaleFactor, const RVector &center=RVector())
virtual bool stretch (const RBox &area, const RVector &offset)
virtual bool stretch (const RPolyline &area, const RVector &offset)
virtual ~RShape ()

Public Attributes

RVector center
 Getter function for this property: getCenter.
double radius
 Getter function for this property: getRadius.

Additional Inherited Members

- Static Public Member Functions inherited from RShape
static QList< RVectorgetIntersectionPoints (const RShape &shape1, const RShape &shape2, bool limited=true, bool same=false)
static QList< RVectorgetIntersectionPointsAA (const RArc &arc1, const RArc &arc2, bool limited=true)
static QList< RVectorgetIntersectionPointsAC (const RArc &arc1, const RCircle &circle2, bool limited=true)
static QList< RVectorgetIntersectionPointsAE (const RArc &arc1, const REllipse &ellipse2, bool limited=true)
static QList< RVectorgetIntersectionPointsAX (const RArc &arc1, const RExplodable &explodable2, bool limited=true)
static QList< RVectorgetIntersectionPointsCC (const RCircle &circle1, const RCircle &circle2)
static QList< RVectorgetIntersectionPointsCE (const RCircle &circle1, const REllipse &ellipse2)
static QList< RVectorgetIntersectionPointsCX (const RCircle &circle1, const RExplodable &explodable2, bool limited=true)
static QList< RVectorgetIntersectionPointsEE (const REllipse &ellipse1, const REllipse &ellipse2)
static QList< RVectorgetIntersectionPointsEX (const REllipse &ellipse1, const RExplodable &explodable2, bool limited=true)
static QList< RVectorgetIntersectionPointsLA (const RLine &line1, const RArc &arc2, bool limited=true)
static QList< RVectorgetIntersectionPointsLC (const RLine &line1, const RCircle &circle2, bool limited=true)
static QList< RVectorgetIntersectionPointsLE (const RLine &line1, const REllipse &ellipse2, bool limited=true)
static QList< RVectorgetIntersectionPointsLL (const RLine &line1, const RLine &line2, bool limited=true)
static QList< RVectorgetIntersectionPointsLX (const RLine &line1, const RExplodable &explodable2, bool limited=true)
static QList< RVectorgetIntersectionPointsXX (const RExplodable &explodable1, const RExplodable &explodable2, bool limited=true, bool same=false)
static bool order (QList< QList< QSharedPointer< RShape > > > &boundary)
 Orders the given list of loops into a list of closed loops in which all shapes are connected end to start point.
- Protected Member Functions inherited from RShape
virtual void print (QDebug dbg) const

Detailed Description

Low-level mathematical representation of a circle.

Scriptable:
This class is wrapped for script environments.
Shared Pointer Support:
Script wrappers of this class support wrapping in QSharedPointer.
Copyable:
Script wrappers of this class should pass objects by reference.

Constructor & Destructor Documentation

RCircle::RCircle ( )

Creates a circle object with invalid center and 0 radius.

RCircle::RCircle ( const RVector center,
const double  radius 
)
RCircle::~RCircle ( )
virtual

Member Function Documentation

virtual RCircle* RCircle::clone ( ) const
inlinevirtual

Implements RShape.

bool RCircle::flipHorizontal ( )
virtual

Reimplemented from RShape.

bool RCircle::flipVertical ( )
virtual

Reimplemented from RShape.

double RCircle::getArea ( ) const
RBox RCircle::getBoundingBox ( ) const
virtual
Returns:
The bounding box of this shape.

Implements RShape.

RVector RCircle::getCenter ( ) const

Reimplemented in RCircleData.

QList< RVector > RCircle::getCenterPoints ( ) const
virtual
Returns:
The center point(s) of this shape.

Implements RShape.

double RCircle::getCircumference ( ) const
double RCircle::getDiameter ( ) const
QList< RVector > RCircle::getEndPoints ( ) const
virtual
Returns:
The end point(s) of this shape.

Implements RShape.

double RCircle::getLength ( ) const
virtual
Returns:
The total length of this shape if applicable or NaN if not.

Implements RShape.

QList< RVector > RCircle::getMiddlePoints ( ) const
virtual
Returns:
The middle point(s) of this shape.

Implements RShape.

QList< RVector > RCircle::getPointsWithDistanceToEnd ( double  distance,
RS::From  from = RS::FromAny 
) const
virtual
Returns:
All points on this shape with the given distance to an endpoint.

Implements RShape.

double RCircle::getRadius ( ) const

Reimplemented in RCircleData.

RVector RCircle::getVectorTo ( const RVector point,
bool  limited = true 
) const
virtual
Returns:
Shortest vector from this shape to the given point.
Parameters:
pointthe given point
limitedIf false, the shape is treaded as an unlimited shape that extends in a logical way. For example an unlimited line for a line, full circle for an arc or a plane for a triangle.

Implements RShape.

bool RCircle::mirror ( const RLine axis)
virtual

Implements RShape.

bool RCircle::move ( const RVector offset)
virtual

Implements RShape.

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

Implements RShape.

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

Implements RShape.

void RCircle::setArea ( double  a)
void RCircle::setCenter ( const RVector vector)
void RCircle::setCircumference ( double  c)
void RCircle::setDiameter ( double  d)
void RCircle::setRadius ( double  radius)
void RCircle::to2D ( )
virtual

Flattens this shape to the X/Y plane.

Implements RShape.


Member Data Documentation

RVector RCircle::center

Getter function for this property: getCenter.

Setter function for this property: setCenter

double RCircle::radius

Getter function for this property: getRadius.

Setter function for this property: setRadius


The documentation for this class was generated from the following files: