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

Linear dimension entity base class. More...

#include <RDimLinearEntity.h>

Inheritance diagram for RDimLinearEntity:
RDimensionEntity REntity RObject

List of all members.

Public Member Functions

virtual RDimLinearDatagetData ()=0
virtual const RDimLinearDatagetData () const =0
RVector getExtensionPoint1 () const
RVector getExtensionPoint2 () const
QPair< QVariant,
RPropertyAttributes
getProperty (RPropertyTypeId &propertyTypeId, bool humanReadable=false, bool noAttributes=false)
 RDimLinearEntity (RDocument *document, RObject::Id objectId=RObject::INVALID_ID)
void setExtensionPoint1 (const RVector &p)
void setExtensionPoint2 (const RVector &p)
bool setProperty (RPropertyTypeId propertyTypeId, const QVariant &value, RTransaction *transaction=NULL)
 Sets the given property to the given value.
virtual ~RDimLinearEntity ()
- Public Member Functions inherited from RDimensionEntity
virtual void exportEntity (RExporter &e, bool preview=false, bool forceSelected=false) const
 Exports the entity to the given exporter.
RVector getDefinitionPoint () const
QString getFontName () const
double getLinearFactor () const
double getLineSpacingFactor () const
RS::TextLineSpacingStyle getLineSpacingStyle () const
QString getMeasurement (bool resolveAutoMeasurement=true) const
QString getText () const
double getTextAngle () const
RTextData getTextData () const
RVector getTextPosition () const
virtual RS::EntityType getType () const
bool hasCustomTextPosition () const
virtual bool isValid () const
 RDimensionEntity (RDocument *document, RObject::Id objectId=RObject::INVALID_ID)
void setCustomTextPosition (bool on)
void setDefinitionPoint (const RVector &p)
void setFontName (const QString &fn)
void setLinearFactor (double f)
void setText (const QString &t)
void setTextPosition (const RVector &p)
virtual ~RDimensionEntity ()
- Public Member Functions inherited from REntity
virtual const RShapecastToConstShape () const
virtual RShapecastToShape ()
 
virtual REntityclone () const =0
void copyAttributesFrom (REntity *entity, bool copyBlockId=true)
 Copies all attributes (layer, block, color, line weight, line style) from the given entity.
void dump ()
virtual bool flipHorizontal ()
 
virtual bool flipVertical ()
 
RBlock::Id getBlockId () const
 
QString getBlockName () const
 
virtual RBox getBoundingBox (bool ignoreEmpty=false) const
 
virtual QList< RBoxgetBoundingBoxes (bool ignoreEmpty=false) const
 
virtual QList< RVectorgetCenterPoints (const RBox &queryBox=RDEFAULT_RBOX) const
 
virtual RVector getClosestPointOnEntity (const RVector &point, double range=RNANDOUBLE, bool limited=true) const
 
virtual QSharedPointer< RShapegetClosestShape (const RVector &pos, double range=RNANDOUBLE, bool ignoreComplex=false) const
 
RColor getColor () const
 
RColor getColor (bool resolve, const QStack< REntity * > &blockRefStack)
 
virtual int getComplexity () const
virtual double getDistanceTo (const RVector &point, bool limited=true, double range=0.0, bool draft=false, double strictRange=RMAXDOUBLE) const
 
int getDrawOrder () const
 
virtual QList< RVectorgetEndPoints (const RBox &queryBox=RDEFAULT_RBOX) const
 
virtual QList< RVectorgetInternalReferencePoints (RS::ProjectionRenderingHint hint=RS::RenderTop) const
 Can be overwritten to return internal, resolved reference points.
virtual QList< RVectorgetIntersectionPoints (const REntity &other, bool limited=true, const RBox &queryBox=RDEFAULT_RBOX) const
 
virtual QList< RVectorgetIntersectionPoints (const RShape &shape, bool limited=true, const RBox &queryBox=RDEFAULT_RBOX) const
 
RLayer::Id getLayerId () const
 
QString getLayerName () const
 
RLinetype::Id getLinetypeId () const
 
RLinetype::Id getLinetypeId (bool resolve, const QStack< REntity * > &blockRefStack) const
 
RLinetypePattern getLinetypePattern () const
 
double getLinetypeScale () const
 
RLineweight::Lineweight getLineweight () const
 
RLineweight::Lineweight getLineweight (bool resolve, const QStack< REntity * > &blockRefStack) const
 
double getLineweightInUnits (const QStack< REntity * > &blockRefStack) const
 
virtual QList< RVectorgetMiddlePoints (const RBox &queryBox=RDEFAULT_RBOX) const
 
REntity::Id getParentId () const
 
virtual RVector getPointOnEntity () const
 
virtual QList< RVectorgetPointsWithDistanceToEnd (double distance, RS::From from=RS::FromAny, const RBox &queryBox=RDEFAULT_RBOX) const
 
virtual QList< RVectorgetReferencePoints (RS::ProjectionRenderingHint hint=RS::RenderTop) const
 
virtual QList< QSharedPointer
< RShape > > 
getShapes (const RBox &queryBox=RDEFAULT_RBOX, bool ignoreComplex=false) const
 
virtual RVector getVectorTo (const RVector &point, bool limited=true, double strictRange=RMAXDOUBLE) const
 
virtual bool intersectsWith (const RShape &shape) const
 
bool isEditable (bool allowInvisible=false) const
virtual bool isInside (const RBox &box) const
 
virtual bool isOnEntity (const RVector &point, bool limited=true) const
 
bool isSelected () const
 Reimplemented by entities that are part of a block reference but not stored as part of the block definition (currently only block attributes).
virtual bool isSelectedForPropertyEditing ()
bool isVisible () const
virtual bool mirror (const RLine &axis)
 
virtual bool mirror (const RVector &axis1, const RVector &axis2)
 
virtual bool move (const RVector &offset)
 Moves this entity by the given offset.
virtual bool moveReferencePoint (const RVector &referencePoint, const RVector &targetPoint)
 Moves the given reference point to the given target point or does nothing if this entity has no reference point as the given location.
 REntity (RDocument *document, Id objectId=-1)
virtual bool rotate (double rotation, const RVector &center=RDEFAULT_RVECTOR)
 
virtual bool scale (const RVector &scaleFactors, const RVector &center=RDEFAULT_RVECTOR)
 
virtual bool scale (double scaleFactor, const RVector &center=RDEFAULT_RVECTOR)
 
void setBlockId (RBlock::Id blockId)
 
void setColor (const RColor &color)
 
void setDocument (RDocument *document)
void setDrawOrder (int drawOrder)
 Sets the draw order of this entity.
void setLayerId (RLayer::Id layerId)
 
void setLinetypeId (RLinetype::Id linetypeId)
 
void setLinetypePattern (const RLinetypePattern &linetypePattern)
 
void setLinetypeScale (double linetypeScale)
 
void setLineweight (RLineweight::Lineweight lineweight)
 
void setParentId (REntity::Id parentId)
 
virtual void setSelected (bool on)
 Selects or deselects this entity.
virtual bool stretch (const RPolyline &area, const RVector &offset)
 Stretches the end points of this entity that are inside area by offset.
void update () const
 Entities can reimplement this function to invalidate any internal cache (mark the entity as dirty).
virtual ~REntity ()
- Public Member Functions inherited from RObject
QMap< QString, QVariantMap > getCustomProperties () const
QVariant getCustomProperty (const QString &title, const QString &key, const QVariant &defaultValue=RDEFAULT_QVARIANT)
QStringList getCustomPropertyKeys (const QString &title) const
QStringList getCustomPropertyTitles () const
virtual QSet< RPropertyTypeIdgetCustomPropertyTypeIds () const
RDocumentgetDocument ()
const RDocumentgetDocument () const
RObject::Handle getHandle () const
RObject::Id getId () const
virtual QSet< RPropertyTypeIdgetPropertyTypeIds () const
virtual bool hasPropertyType (RPropertyTypeId propertyTypeId)
bool isProtected () const
bool isUndone () const
void removeCustomProperty (const QString &title, const QString &key)
 Removes the custom property with the given name.
 RObject (RDocument *document=NULL, Id id=INVALID_ID)
void setCustomProperty (const QString &title, const QString &key, const QVariant &value)
 Sets a custom property with the given name.
void setProtected (bool on)
virtual void setUndone (bool on)
virtual ~RObject ()

Static Public Member Functions

static void init ()
- Static Public Member Functions inherited from RDimensionEntity
static QSet< RPropertyTypeIdgetStaticPropertyTypeIds ()
- Static Public Member Functions inherited from REntity
static bool isComplex (const RS::EntityType type)
static bool isDimension (const RS::EntityType type)
- Static Public Member Functions inherited from RObject
template<class T >
static bool setMember (T &variable, const QVariant &value, bool condition=true)

Static Public Attributes

static RPropertyTypeId PropertyAutoTextPos
static RPropertyTypeId PropertyBlock
static RPropertyTypeId PropertyColor
static RPropertyTypeId PropertyCustom
 Copyright (c) 2011-2014 by Andrew Mustun.
static RPropertyTypeId PropertyDimensionLinePosX
static RPropertyTypeId PropertyDimensionLinePosY
static RPropertyTypeId PropertyDimensionLinePosZ
static RPropertyTypeId PropertyDrawOrder
static RPropertyTypeId PropertyExtensionPoint1X
static RPropertyTypeId PropertyExtensionPoint1Y
static RPropertyTypeId PropertyExtensionPoint1Z
static RPropertyTypeId PropertyExtensionPoint2X
static RPropertyTypeId PropertyExtensionPoint2Y
static RPropertyTypeId PropertyExtensionPoint2Z
static RPropertyTypeId PropertyFontName
static RPropertyTypeId PropertyHandle
static RPropertyTypeId PropertyLayer
static RPropertyTypeId PropertyLinearFactor
static RPropertyTypeId PropertyLinetype
static RPropertyTypeId PropertyLinetypeScale
static RPropertyTypeId PropertyLineweight
static RPropertyTypeId PropertyLowerTolerance
static RPropertyTypeId PropertyMeasuredValue
static RPropertyTypeId PropertyMiddleOfTextX
static RPropertyTypeId PropertyMiddleOfTextY
static RPropertyTypeId PropertyMiddleOfTextZ
static RPropertyTypeId PropertyText
static RPropertyTypeId PropertyType
static RPropertyTypeId PropertyUpperTolerance
- Static Public Attributes inherited from RDimensionEntity
static RPropertyTypeId PropertyAutoLabel
static RPropertyTypeId PropertyDefinitionPointX
static RPropertyTypeId PropertyDefinitionPointY
static RPropertyTypeId PropertyDefinitionPointZ
- Static Public Attributes inherited from REntity
static RPropertyTypeId PropertyMaxX
static RPropertyTypeId PropertyMaxY
static RPropertyTypeId PropertyMinX
static RPropertyTypeId PropertyMinY
- Static Public Attributes inherited from RObject
static const Handle INVALID_HANDLE = -1
static const Id INVALID_ID = -1
 Copyright (c) 2011-2014 by Andrew Mustun.
static RPropertyTypeId PropertyProtected

Protected Member Functions

virtual void print (QDebug dbg) const
 Stream operator for QDebug.

Detailed Description

Linear dimension entity base class.

Scriptable:
This class is wrapped for script environments.
Shared Pointer Support:
Script wrappers of this class support wrapping in QSharedPointer.

Constructor & Destructor Documentation

RDimLinearEntity::RDimLinearEntity ( RDocument document,
RObject::Id  objectId = RObject::INVALID_ID 
)
RDimLinearEntity::~RDimLinearEntity ( )
virtual

Member Function Documentation

virtual RDimLinearData& RDimLinearEntity::getData ( )
pure virtual
Returns:
Reference to the data object of the entity.

Implements RDimensionEntity.

virtual const RDimLinearData& RDimLinearEntity::getData ( ) const
pure virtual
Returns:
Const reference to the data object of the entity.

Implements RDimensionEntity.

RVector RDimLinearEntity::getExtensionPoint1 ( ) const
inline
RVector RDimLinearEntity::getExtensionPoint2 ( ) const
inline
QPair< QVariant, RPropertyAttributes > RDimLinearEntity::getProperty ( RPropertyTypeId propertyTypeId,
bool  humanReadable = false,
bool  noAttributes = 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 RDimensionEntity.

void RDimLinearEntity::init ( )
static

Reimplemented from RDimensionEntity.

void RDimLinearEntity::print ( QDebug  dbg) const
protectedvirtual

Stream operator for QDebug.

Reimplemented from RDimensionEntity.

void RDimLinearEntity::setExtensionPoint1 ( const RVector p)
inline
void RDimLinearEntity::setExtensionPoint2 ( const RVector p)
inline
bool RDimLinearEntity::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 RDimensionEntity.


Member Data Documentation

RPropertyTypeId RDimLinearEntity::PropertyAutoTextPos
static

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyBlock
static

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyColor
static

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyCustom
static

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.

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyDimensionLinePosX
static
RPropertyTypeId RDimLinearEntity::PropertyDimensionLinePosY
static
RPropertyTypeId RDimLinearEntity::PropertyDimensionLinePosZ
static
RPropertyTypeId RDimLinearEntity::PropertyDrawOrder
static

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyExtensionPoint1X
static
RPropertyTypeId RDimLinearEntity::PropertyExtensionPoint1Y
static
RPropertyTypeId RDimLinearEntity::PropertyExtensionPoint1Z
static
RPropertyTypeId RDimLinearEntity::PropertyExtensionPoint2X
static
RPropertyTypeId RDimLinearEntity::PropertyExtensionPoint2Y
static
RPropertyTypeId RDimLinearEntity::PropertyExtensionPoint2Z
static
RPropertyTypeId RDimLinearEntity::PropertyFontName
static

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyHandle
static

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyLayer
static

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyLinearFactor
static

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyLinetype
static

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyLinetypeScale
static

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyLineweight
static

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyLowerTolerance
static

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyMeasuredValue
static

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyMiddleOfTextX
static

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyMiddleOfTextY
static

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyMiddleOfTextZ
static

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyText
static

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyType
static

Reimplemented from RDimensionEntity.

RPropertyTypeId RDimLinearEntity::PropertyUpperTolerance
static

Reimplemented from RDimensionEntity.


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