QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
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-2018 by Andrew Mustun.
 
 RRestrictAngleLength (RDocumentInterface *documentInterface, double baseAngle, double angle, double baseLength, double length)
 
 RRestrictAngleLength (RDocumentInterface *documentInterface=NULL)
 
virtual void setAngle (double a)
 
virtual void setBaseAngle (double a)
 
virtual void setBaseLength (double l)
 
virtual void setLength (double l)
 
virtual void setRepeatAngle (bool on)
 
virtual void setRepeatLength (bool on)
 
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
 
bool repeatAngle
 
bool repeatLength
 
- Protected Attributes inherited from RSnapRestriction
RDocumentInterfacedocumentInterface
 
RVector lastSnap
 

Detailed Description

Angle and length snap restriction implementation.

Scriptable:\nThis class is available in script environments.\n
\generateScriptShell

Member Enumeration Documentation

◆ AngleLengthMode

Enumerator
None 
Angle 
Length 
AngleLength 

Constructor & Destructor Documentation

◆ RRestrictAngleLength() [1/2]

RRestrictAngleLength::RRestrictAngleLength ( RDocumentInterface * documentInterface = NULL)
inline

◆ RRestrictAngleLength() [2/2]

RRestrictAngleLength::RRestrictAngleLength ( RDocumentInterface * documentInterface,
double baseAngle,
double angle,
double baseLength,
double length )
inline

◆ ~RRestrictAngleLength()

virtual RRestrictAngleLength::~RRestrictAngleLength ( )
inlinevirtual

Member Function Documentation

◆ restrictSnap()

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

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

◆ setAngle()

virtual void RRestrictAngleLength::setAngle ( double a)
inlinevirtual

◆ setBaseAngle()

virtual void RRestrictAngleLength::setBaseAngle ( double a)
inlinevirtual

◆ setBaseLength()

virtual void RRestrictAngleLength::setBaseLength ( double l)
inlinevirtual

◆ setLength()

virtual void RRestrictAngleLength::setLength ( double l)
inlinevirtual

◆ setRepeatAngle()

virtual void RRestrictAngleLength::setRepeatAngle ( bool on)
inlinevirtual

◆ setRepeatLength()

virtual void RRestrictAngleLength::setRepeatLength ( bool on)
inlinevirtual

◆ setRestrictAngle()

virtual void RRestrictAngleLength::setRestrictAngle ( bool on)
inlinevirtual

◆ setRestrictLength()

virtual void RRestrictAngleLength::setRestrictLength ( bool on)
inlinevirtual

Member Data Documentation

◆ angle

double RRestrictAngleLength::angle
protected

◆ baseAngle

double RRestrictAngleLength::baseAngle
protected

◆ baseLength

double RRestrictAngleLength::baseLength
protected

◆ length

double RRestrictAngleLength::length
protected

◆ mode

AngleLengthMode RRestrictAngleLength::mode
protected

◆ repeatAngle

bool RRestrictAngleLength::repeatAngle
protected

◆ repeatLength

bool RRestrictAngleLength::repeatLength
protected

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