QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RRay Class Reference

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

#include <RRay.h>

Inheritance diagram for RRay:
RXLine RShape RDirected RRayData

List of all members.

Public Member Functions

virtual RRayclone () const
virtual RLine getClippedLine (const RBox &box) const
virtual QList< RVectorgetPointsWithDistanceToEnd (double distance, RS::From from) const
virtual RVector getVectorTo (const RVector &point, bool limited=true, double strictRange=RMAXDOUBLE) const
virtual bool reverse ()
 RRay ()
 Copyright (c) 2011-2014 by Andrew Mustun.
 RRay (const RLine &line)
 RRay (const RVector &basePoint, const RVector &directionVector)
 Creates a ray object with the given base point and direction.
 RRay (const RVector &basePoint, double angle, double distance)
virtual bool stretch (const RPolyline &area, const RVector &offset)
virtual void trimEndPoint (const RVector &p)
virtual ~RRay ()
- Public Member Functions inherited from RXLine
double getAngle () const
RVector getBasePoint () const
RBox getBoundingBox () const
virtual QList< RVectorgetCenterPoints () const
virtual double getDirection1 () const
virtual double getDirection2 () const
RVector getDirectionVector () const
virtual RVector getEndPoint () const
virtual QList< RVectorgetEndPoints () const
double getLength () const
RLine getLineShape () const
RVector getMiddlePoint () const
virtual QList< RVectorgetMiddlePoints () const
RVector getSecondPoint () const
RS::Side getSideOfPoint (const RVector &point) const
virtual RVector getStartPoint () const
virtual QSharedPointer< RShapegetTransformed (const QTransform &transform) const
virtual RS::Ending getTrimEnd (const RVector &coord, const RVector &trimPoint)
virtual bool mirror (const RLine &axis)
virtual bool move (const RVector &offset)
virtual bool rotate (double rotation, const RVector &center=RDEFAULT_RVECTOR)
 RXLine ()
 Copyright (c) 2011-2014 by Andrew Mustun.
 RXLine (const RLine &line)
 RXLine (const RVector &basePoint, const RVector &directionVector)
 Creates an xline object with the given base point and direction.
 RXLine (const RVector &basePoint, double angle, double distance)
virtual bool scale (const RVector &scaleFactors, const RVector &center=RDEFAULT_RVECTOR)
void setAngle (double a)
void setBasePoint (const RVector &vector)
void setDirectionVector (const RVector &vector)
void setLength (double l)
void setSecondPoint (const RVector &vector)
void to2D ()
 Flattens this shape to the X/Y plane.
virtual void trimStartPoint (const RVector &p)
virtual ~RXLine ()
- Public Member Functions inherited from RShape
void dump ()
virtual QList< RVectorfilterOnShape (const QList< RVector > &pointList, bool limited=true, double tolerance=RDEFAULT_TOLERANCE_1E_MIN4) const
virtual bool flipHorizontal ()
virtual bool flipVertical ()
virtual RVector getClosestPointOnShape (const RVector &p, bool limited=true, double strictRange=RMAXDOUBLE) const
virtual double getDistanceTo (const RVector &point, bool limited=true, double strictRange=RMAXDOUBLE) const
QList< RVectorgetIntersectionPoints (const RShape &other, bool limited=true, bool same=false, bool force=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 double getDistanceFromStart (const RVector &p) const
virtual ~RDirected ()

Protected Member Functions

virtual void print (QDebug dbg) const

Additional Inherited Members

- Public Attributes inherited from RXLine
RVector basePoint
 Getter function for this property: getBasePoint.
RVector directionVector
 Getter function for this property: getDirectionVector.

Detailed Description

Low-level mathematical representation of a ray.

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

RRay::RRay ( )

Copyright (c) 2011-2014 by Andrew Mustun.

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. Creates a ray object with invalid start and end points.

RRay::RRay ( const RLine line)
RRay::RRay ( const RVector basePoint,
const RVector directionVector 
)

Creates a ray object with the given base point and direction.

RRay::RRay ( const RVector basePoint,
double  angle,
double  distance 
)
RRay::~RRay ( )
virtual

Member Function Documentation

virtual RRay* RRay::clone ( ) const
inlinevirtual

Reimplemented from RXLine.

RLine RRay::getClippedLine ( const RBox box) const
virtual

Reimplemented from RXLine.

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

Reimplemented from RXLine.

RVector RRay::getVectorTo ( const RVector point,
bool  limited = true,
double  strictRange = RMAXDOUBLE 
) 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.

Reimplemented from RXLine.

void RRay::print ( QDebug  dbg) const
protectedvirtual

Reimplemented from RXLine.

bool RRay::reverse ( )
virtual

Reimplemented from RXLine.

Reimplemented in RRayData.

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

Reimplemented from RXLine.

void RRay::trimEndPoint ( const RVector p)
virtual

Reimplemented from RXLine.

Reimplemented in RRayData.


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