QCAD
Open Source 2D CAD
RUcs Class Reference

Represents a user coordinate system (UCS) in a drawing. More...

#include <RUcs.h>

Inheritance diagram for RUcs:
RObject

Public Member Functions

virtual RUcsclone () const
 
virtual QPair< QVariant, RPropertyAttributesgetProperty (RPropertyTypeId &propertyTypeId, bool humanReadable=false, bool noAttributes=false, bool showOnRequest=false)
 
virtual RS::EntityType getType () const
 
RVector getZAxisDirection ()
 
RVector mapFromUcs (const RVector &positionUcs)
 Maps the given UCS (user coordinate system) position to an absolute WCS (world coordinate system) position. More...
 
RVector mapToUcs (const RVector &positionWcs)
 Maps the given WCS position to a UCS position. More...
 
 RUcs ()
 
 RUcs (RDocument *document, const QString &name, const RVector &origin, const RVector &xAxisDirection, const RVector &yAxisDirection)
 
void setOrigin (const RVector &o)
 
virtual bool setProperty (RPropertyTypeId propertyTypeId, const QVariant &value, RTransaction *transaction=NULL)
 Sets the given property to the given value. More...
 
void setXAxisDirection (const RVector &x)
 
void setYAxisDirection (const RVector &y)
 
virtual ~RUcs ()
 
- Public Member Functions inherited from RObject
void copyCustomPropertiesFrom (RObject *other, const QString &title=RDEFAULT_QSTRING, bool overwrite=false, const QStringList &ignoreList=RDEFAULT_QSTRINGLIST, const QString &mapKeyFrom=RDEFAULT_QSTRING, const QString &mapKeyTo=RDEFAULT_QSTRING)
 Copies all custom properties from the given object. More...
 
void dump () const
 
virtual int getComplexity () const
 
virtual bool getCustomBoolProperty (const QString &title, const QString &key, bool defaultValue) const
 
virtual double getCustomDoubleProperty (const QString &title, const QString &key, double defaultValue) const
 
virtual int getCustomIntProperty (const QString &title, const QString &key, int defaultValue) const
 
QMap< QString, QVariantMap > getCustomProperties () const
 
virtual QVariant getCustomProperty (const QString &title, const QString &key, const QVariant &defaultValue=RDEFAULT_QVARIANT) const
 
QStringList getCustomPropertyKeys (const QString &title) const
 
QStringList getCustomPropertyTitles () const
 
virtual QSet< RPropertyTypeIdgetCustomPropertyTypeIds () const
 
RDocumentgetDocument ()
 
const RDocumentgetDocument () const
 
bool getFlag (int flag) const
 
RObject::Handle getHandle () const
 
RObject::Id getId () const
 
virtual QSet< RPropertyTypeIdgetPropertyTypeIds (RPropertyAttributes::Option option=RPropertyAttributes::NoOptions) const
 
bool hasCustomProperties () const
 
bool hasCustomProperty (const QString &title, const QRegExp &key) const
 
bool hasCustomProperty (const QString &title, const QString &key) const
 
virtual bool hasPropertyType (RPropertyTypeId propertyTypeId)
 
bool isInvisible () const
 
bool isProtected () const
 
virtual bool isSelected () const
 
bool isUndone () const
 
virtual bool isWorkingSet () const
 
virtual bool mustAlwaysClone () const
 
virtual void removeCustomProperty (const QString &title, const QString &key)
 Removes the custom property with the given name. More...
 
 RObject (const RObject &other)
 
 RObject (RDocument *document=NULL)
 
virtual void setAutoUpdatesBlocked (bool on)
 
virtual void setCustomProperties (const RQMapQStringQString &properties)
 
virtual void setCustomProperty (const QString &title, const QString &key, const QVariant &value)
 Sets a custom property with the given name. More...
 
void setDocument (RDocument *document)
 
void setFlag (int flag, bool on=true)
 
void setInvisible (bool on)
 
void setProtected (bool on)
 
virtual void setSelected (bool on)
 
virtual void setWorkingSet (bool on)
 
virtual bool validate ()
 
virtual ~RObject ()
 

Static Public Member Functions

static void init ()
 
- Static Public Member Functions inherited from RObject
static RPropertyAttributes getCustomPropertyAttributes (const QString &title, const QString &key)
 
static void init ()
 
static void setCustomPropertyAttributes (const QString &title, const QString &key, const RPropertyAttributes &att)
 Set attributes (read-only, invisible, ...) for the given custom property. More...
 
template<class T >
static bool setMember (T &variable, const QVariant &value, bool condition=true)
 

Public Attributes

QString name
 
RVector origin
 
RVector xAxisDirection
 
RVector yAxisDirection
 

Static Public Attributes

static RPropertyTypeId PropertyName
 Copyright (c) 2011-2018 by Andrew Mustun. More...
 
static RPropertyTypeId PropertyOriginX
 
static RPropertyTypeId PropertyOriginY
 
static RPropertyTypeId PropertyOriginZ
 
static RPropertyTypeId PropertyXAxisDirectionX
 
static RPropertyTypeId PropertyXAxisDirectionY
 
static RPropertyTypeId PropertyXAxisDirectionZ
 
static RPropertyTypeId PropertyYAxisDirectionX
 
static RPropertyTypeId PropertyYAxisDirectionY
 
static RPropertyTypeId PropertyYAxisDirectionZ
 
- Static Public Attributes inherited from RObject
static const Handle INVALID_HANDLE = -1
 
static const Id INVALID_ID = -1
 Copyright (c) 2011-2018 by Andrew Mustun. More...
 
static RPropertyTypeId PropertyCustom
 
static RPropertyTypeId PropertyHandle
 
static RPropertyTypeId PropertyInvisible
 
static RPropertyTypeId PropertyProtected
 
static RPropertyTypeId PropertySelected
 
static RPropertyTypeId PropertyType
 
static RPropertyTypeId PropertyWorkingSet
 

Additional Inherited Members

- Public Types inherited from RObject
typedef int Handle
 
typedef int Id
 
enum  ObjectFlag {
  NoFlags = 0x000, Undone = 0x001, Protect = 0x002, Selected = 0x004,
  Invisible = 0x008, WorkingSet = 0x010
}
 
enum  XYZ { X, Y, Z }
 
- Protected Member Functions inherited from RObject
virtual void print (QDebug dbg) const
 Stream operator for QDebug. More...
 
void setHandle (RObject::Handle h)
 
void setId (RObject::Id id)
 
bool setMemberFlag (int flag, const QVariant &value, bool condition=true)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
void setUndone (bool on)
 
- Static Protected Member Functions inherited from RObject
static bool setMember (bool &variable, const QVariant &value, bool condition=true)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
static bool setMember (double &variable, const QVariant &value, bool condition=true)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
static bool setMember (int &variable, const QVariant &value, bool condition=true)
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
 
static bool setMember (QList< double > &variable, const QVariant &value, bool condition)
 
static bool setMember (QString &variable, const QVariant &value, bool condition=true)
 Sets the given property. More...
 
static bool setMemberVector (QList< RVector > &variable, const QVariant &value, RObject::XYZ xyz)
 
static bool setMemberX (QList< RVector > &variable, const QVariant &value, bool condition=true)
 
static bool setMemberY (QList< RVector > &variable, const QVariant &value, bool condition=true)
 
static bool setMemberZ (QList< RVector > &variable, const QVariant &value, bool condition=true)
 

Detailed Description

Represents a user coordinate system (UCS) in a drawing.

The current UCS of a drawing defines the current workplane and coordinate system that is being used for all input.

Scriptable:\nThis class is available in script environments.\n
Shared Pointer Support:\nObjects can be used in QSharedPointer.\n

Constructor & Destructor Documentation

◆ RUcs() [1/2]

RUcs::RUcs ( )
inline

◆ RUcs() [2/2]

RUcs::RUcs ( RDocument document,
const QString &  name,
const RVector origin,
const RVector xAxisDirection,
const RVector yAxisDirection 
)
inline

◆ ~RUcs()

virtual RUcs::~RUcs ( )
inlinevirtual

Member Function Documentation

◆ clone()

virtual RUcs* RUcs::clone ( ) const
inlinevirtual

Implements RObject.

◆ getProperty()

QPair< QVariant, RPropertyAttributes > RUcs::getProperty ( RPropertyTypeId propertyTypeId,
bool  humanReadable = false,
bool  noAttributes = false,
bool  showOnRequest = false 
)
virtual
Returns
The value and attributes of the given property or an invalid property if this property owner has no property with the given ID.

Reimplemented from RObject.

◆ getType()

virtual RS::EntityType RUcs::getType ( ) const
inlinevirtual

Implements RObject.

◆ getZAxisDirection()

RVector RUcs::getZAxisDirection ( )
Returns
Vector that indicates the direction of the Z-Axis (orthogonal to the XY plane).

◆ init()

void RUcs::init ( )
static

◆ mapFromUcs()

RVector RUcs::mapFromUcs ( const RVector positionUcs)

Maps the given UCS (user coordinate system) position to an absolute WCS (world coordinate system) position.

◆ mapToUcs()

RVector RUcs::mapToUcs ( const RVector positionWcs)

Maps the given WCS position to a UCS position.

◆ setOrigin()

void RUcs::setOrigin ( const RVector o)
inline

◆ setProperty()

bool RUcs::setProperty ( RPropertyTypeId  propertyTypeId,
const QVariant &  value,
RTransaction transaction = NULL 
)
virtual

Sets the given property to the given value.

If this property owner does not know a property with that ID, it is up to the property owner what happens. The property might be added into a list of dynamic properties or dropped.

Returns
True if the property owner was modified in any way, false otherwise.

Reimplemented from RObject.

◆ setXAxisDirection()

void RUcs::setXAxisDirection ( const RVector x)
inline

◆ setYAxisDirection()

void RUcs::setYAxisDirection ( const RVector y)
inline

Member Data Documentation

◆ name

QString RUcs::name

◆ origin

RVector RUcs::origin

◆ PropertyName

RPropertyTypeId RUcs::PropertyName
static

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.

◆ PropertyOriginX

RPropertyTypeId RUcs::PropertyOriginX
static

◆ PropertyOriginY

RPropertyTypeId RUcs::PropertyOriginY
static

◆ PropertyOriginZ

RPropertyTypeId RUcs::PropertyOriginZ
static

◆ PropertyXAxisDirectionX

RPropertyTypeId RUcs::PropertyXAxisDirectionX
static

◆ PropertyXAxisDirectionY

RPropertyTypeId RUcs::PropertyXAxisDirectionY
static

◆ PropertyXAxisDirectionZ

RPropertyTypeId RUcs::PropertyXAxisDirectionZ
static

◆ PropertyYAxisDirectionX

RPropertyTypeId RUcs::PropertyYAxisDirectionX
static

◆ PropertyYAxisDirectionY

RPropertyTypeId RUcs::PropertyYAxisDirectionY
static

◆ PropertyYAxisDirectionZ

RPropertyTypeId RUcs::PropertyYAxisDirectionZ
static

◆ xAxisDirection

RVector RUcs::xAxisDirection

◆ yAxisDirection

RVector RUcs::yAxisDirection

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