QCAD
Open Source 2D CAD
RRestrictAngleLength Class Reference

Angle and length snap restriction implementation. More...

#include <RRestrictAngleLength.h>

Inheritance diagram for RRestrictAngleLength:
RSnapRestriction RRestrictAngleLengthExtension

Public Types

enum  AngleLengthMode { None, Angle, Length, AngleLength }
 

Public Member Functions

virtual RVector restrictSnap (const RVector &position, const RVector &relativeZero)
 Copyright (c) 2011-2015 by Andrew Mustun. More...
 
 RRestrictAngleLength (RDocumentInterface *documentInterface=NULL)
 
 RRestrictAngleLength (RDocumentInterface *documentInterface, double baseAngle, double angle, double baseLength, double length)
 
virtual void setAngle (double a)
 
virtual void setBaseAngle (double a)
 
virtual void setBaseLength (double l)
 
virtual void setLength (double l)
 
virtual void setRestrictAngle (bool on)
 
virtual void setRestrictLength (bool on)
 
virtual ~RRestrictAngleLength ()
 
- Public Member Functions inherited from RSnapRestriction
RVector getLastSnap () const
 
virtual void hideUiOptions ()
 
void reset ()
 
 RSnapRestriction (RDocumentInterface *documentInterface=NULL)
 
virtual void showUiOptions ()
 
virtual ~RSnapRestriction ()
 

Protected Attributes

double angle
 
double baseAngle
 
double baseLength
 
double length
 
AngleLengthMode mode
 
- Protected Attributes inherited from RSnapRestriction
RDocumentInterfacedocumentInterface
 
RVector lastSnap
 

Detailed Description

Angle and length snap restriction implementation.

Scriptable:
This class is available in script environments.

Constructor & Destructor Documentation

RRestrictAngleLength::RRestrictAngleLength ( RDocumentInterface documentInterface = NULL)
inline
RRestrictAngleLength::RRestrictAngleLength ( RDocumentInterface documentInterface,
double  baseAngle,
double  angle,
double  baseLength,
double  length 
)
inline
virtual RRestrictAngleLength::~RRestrictAngleLength ( )
inlinevirtual

Member Function Documentation

RVector RRestrictAngleLength::restrictSnap ( const RVector position,
const RVector relativeZero 
)
virtual

Copyright (c) 2011-2015 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.

Implements RSnapRestriction.

virtual void RRestrictAngleLength::setAngle ( double  a)
inlinevirtual
virtual void RRestrictAngleLength::setBaseAngle ( double  a)
inlinevirtual
virtual void RRestrictAngleLength::setBaseLength ( double  l)
inlinevirtual
virtual void RRestrictAngleLength::setLength ( double  l)
inlinevirtual
virtual void RRestrictAngleLength::setRestrictAngle ( bool  on)
inlinevirtual
virtual void RRestrictAngleLength::setRestrictLength ( bool  on)
inlinevirtual

Member Data Documentation

double RRestrictAngleLength::angle
protected
double RRestrictAngleLength::baseAngle
protected
double RRestrictAngleLength::baseLength
protected
double RRestrictAngleLength::length
protected
AngleLengthMode RRestrictAngleLength::mode
protected

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