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

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

#include <RLine.h>

Inheritance diagram for RLine:
RShape RDirected RLineData

List of all members.

Public Member Functions

void clipToXY (const RBox &box)
virtual RLineclone () const
virtual bool flipHorizontal ()
virtual bool flipVertical ()
double getAngle () const
virtual RBox getBoundingBox () const
virtual QList< RVectorgetCenterPoints () const
virtual double getDirection1 () const
virtual double getDirection2 () const
virtual RVector getEndPoint () const
virtual QList< RVectorgetEndPoints () const
double getLength () const
RVector getMiddlePoint () const
virtual QList< RVectorgetMiddlePoints () const
virtual QList< RVectorgetPointsWithDistanceToEnd (double distance, RS::From from=RS::FromAny) const
RS::Side getSideOfPoint (const RVector &point) const
virtual RVector getStartPoint () const
virtual RS::Ending getTrimEnd (const RVector &coord, const RVector &trimPoint)
virtual RVector getVectorTo (const RVector &point, bool limited=true) const
bool isValid () const
virtual bool mirror (const RLine &axis)
virtual bool move (const RVector &offset)
virtual bool reverse ()
 RLine ()
 Creates a line object with invalid start and end points.
 RLine (const RVector &startPoint, const RVector &endPoint)
 Creates a line object with the given start and end point.
virtual bool rotate (double rotation, const RVector &center=RDEFAULT_RVECTOR)
virtual bool scale (const RVector &scaleFactors, const RVector &center=RDEFAULT_RVECTOR)
void setAngle (double a)
void setEndPoint (const RVector &vector)
void setLength (double l)
void setStartPoint (const RVector &vector)
virtual bool stretch (const RPolyline &area, const RVector &offset)
virtual void to2D ()
 Flattens this shape to the X/Y plane.
virtual void trimEndPoint (const RVector &p)
virtual void trimStartPoint (const RVector &p)
virtual ~RLine ()
- 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 ~RShape ()
- Public Member Functions inherited from RDirected
virtual ~RDirected ()

Public Attributes

RVector endPoint
 Getter function for this property: getEndPoint.
RVector startPoint
 Getter function for this property: getStartPoint.

Protected Member Functions

virtual void print (QDebug dbg) const

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.

Detailed Description

Low-level mathematical representation of a line.

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.
Stream Operator:
Script wrappers of this class use the stream operator for the output of toString().

Constructor & Destructor Documentation

RLine::RLine ( )

Creates a line object with invalid start and end points.

RLine::RLine ( const RVector startPoint,
const RVector endPoint 
)

Creates a line object with the given start and end point.

RLine::~RLine ( )
virtual

Member Function Documentation

void RLine::clipToXY ( const RBox box)
virtual RLine* RLine::clone ( ) const
inlinevirtual

Implements RShape.

bool RLine::flipHorizontal ( )
virtual

Reimplemented from RShape.

bool RLine::flipVertical ( )
virtual

Reimplemented from RShape.

double RLine::getAngle ( ) const

Reimplemented in RLineData.

RBox RLine::getBoundingBox ( ) const
virtual
Returns:
The bounding box of this shape.

Implements RShape.

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

Implements RShape.

double RLine::getDirection1 ( ) const
virtual

Implements RDirected.

Reimplemented in RLineData.

double RLine::getDirection2 ( ) const
virtual

Implements RDirected.

Reimplemented in RLineData.

RVector RLine::getEndPoint ( ) const
virtual

Implements RDirected.

Reimplemented in RLineData.

QList< RVector > RLine::getEndPoints ( ) const
virtual
Returns:
The end point(s) of this shape.

Implements RShape.

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

Implements RShape.

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

Implements RShape.

QList< RVector > RLine::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.

RS::Side RLine::getSideOfPoint ( const RVector point) const

Reimplemented in RLineData.

RVector RLine::getStartPoint ( ) const
virtual

Implements RDirected.

Reimplemented in RLineData.

RS::Ending RLine::getTrimEnd ( const RVector coord,
const RVector trimPoint 
)
virtual
Parameters:
coordClicked coordiante
trimPointTrim start point or end point to this coordiante.

Implements RDirected.

Reimplemented in RLineData.

RVector RLine::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 RLine::isValid ( ) const
bool RLine::mirror ( const RLine axis)
virtual

Implements RShape.

bool RLine::move ( const RVector offset)
virtual

Implements RShape.

void RLine::print ( QDebug  dbg) const
protectedvirtual

Reimplemented from RShape.

bool RLine::reverse ( )
virtual

Implements RDirected.

Reimplemented in RLineData.

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

Implements RShape.

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

Implements RShape.

void RLine::setAngle ( double  a)
void RLine::setEndPoint ( const RVector vector)
void RLine::setLength ( double  l)
void RLine::setStartPoint ( const RVector vector)
bool RLine::stretch ( const RPolyline area,
const RVector offset 
)
virtual

Reimplemented from RShape.

void RLine::to2D ( )
virtual

Flattens this shape to the X/Y plane.

Implements RShape.

void RLine::trimEndPoint ( const RVector p)
virtual

Implements RDirected.

Reimplemented in RLineData.

void RLine::trimStartPoint ( const RVector p)
virtual

Implements RDirected.

Reimplemented in RLineData.


Member Data Documentation

RVector RLine::endPoint

Getter function for this property: getEndPoint.

Setter function for this property: setEndPoint

RVector RLine::startPoint

Getter function for this property: getStartPoint.

Setter function for this property: setStartPoint


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