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

Angle and length snap restriction implementation. More...

#include <RRestrictAngleLength.h>

Inheritance diagram for RRestrictAngleLength:
RSnapRestriction RRestrictAngleLengthExtension

List of all members.

Public Types

enum  AngleLengthMode { None, Angle, Length, AngleLength }

Public Member Functions

virtual RVector restrictSnap (const RVector &position, const RVector &relativeZero)
 Copyright (c) 2011-2014 by Andrew Mustun.
 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 wrapped for script environments.

Member Enumeration Documentation

Enumerator:
None 
Angle 
Length 
AngleLength 

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-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.

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: