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

Block reference entity. More...

#include <RBlockReferenceEntity.h>

Inheritance diagram for RBlockReferenceEntity:
REntity RObject

List of all members.

Public Member Functions

bool applyTransformationTo (REntity &entity) const
virtual RBlockReferenceEntityclone () const
virtual void exportEntity (RExporter &e, bool preview=false, bool forceSelected=false) const
 Exports the entity to the given exporter.
virtual RBlockReferenceDatagetData ()
virtual const RBlockReferenceDatagetData () const
RVector getPosition () const
virtual QPair< QVariant,
getProperty (RPropertyTypeId &propertyTypeId, bool humanReadable=false, bool noAttributes=false)
virtual QSet< RPropertyTypeIdgetPropertyTypeIds () const
RBlock::Id getReferencedBlockId () const
QString getReferencedBlockName () const
double getRotation () const
RVector getScaleFactors () const
virtual RS::EntityType getType () const
RVector mapToBlock (const RVector &v) const
virtual void print (QDebug dbg) const
QSharedPointer< REntityqueryEntity (REntity::Id entityId) const
 RBlockReferenceEntity (RDocument *document, const RBlockReferenceData &data, RObject::Id objectId=RObject::INVALID_ID)
void setPosition (const RVector &pos)
virtual bool setProperty (RPropertyTypeId propertyTypeId, const QVariant &value, RTransaction *transaction=NULL)
 Sets the given property to the given value.
void setReferencedBlockId (RBlock::Id blockId)
void setRotation (double r)
void setScaleFactors (const RVector sf)
virtual void update () const
 Entities can reimplement this function to invalidate any internal cache (mark the entity as dirty).
void update (REntity::Id entityId) const
virtual ~RBlockReferenceEntity ()
- Public Member Functions inherited from REntity
virtual const RShapecastToConstShape () const
virtual RShapecastToShape ()
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
virtual QSharedPointer< RShapegetClosestSimpleShape (const RVector &pos, double range=RNANDOUBLE) 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 RPolyline getHull (double offset) 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, bool ignoreComplex=true) const
virtual QList< RVectorgetIntersectionPoints (const RShape &shape, bool limited=true, const RBox &queryBox=RDEFAULT_RBOX, bool ignoreComplex=true) const
virtual QList< RVectorgetIntersectionPointsWithShape (const RShape &shape, bool limited=true, const RBox &queryBox=RDEFAULT_RBOX) const
 Make getIntersectionPoints with shape parameter accessible for script wrappers.
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, double tolerance=RDEFAULT_TOLERANCE_1E_MIN4) 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.
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 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 QSet< RPropertyTypeIdgetStaticPropertyTypeIds ()
static void init ()
- 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 PropertyBlock
static RPropertyTypeId PropertyColor
static RPropertyTypeId PropertyCustom
 Copyright (c) 2011-2015 by Andrew Mustun.
static RPropertyTypeId PropertyDrawOrder
static RPropertyTypeId PropertyHandle
static RPropertyTypeId PropertyLayer
static RPropertyTypeId PropertyLinetype
static RPropertyTypeId PropertyLinetypeScale
static RPropertyTypeId PropertyLineweight
static RPropertyTypeId PropertyPositionX
static RPropertyTypeId PropertyPositionY
static RPropertyTypeId PropertyPositionZ
static RPropertyTypeId PropertyReferencedBlock
static RPropertyTypeId PropertyRotation
static RPropertyTypeId PropertyScaleX
static RPropertyTypeId PropertyScaleY
static RPropertyTypeId PropertyScaleZ
static RPropertyTypeId PropertyType
- 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-2015 by Andrew Mustun.
static RPropertyTypeId PropertyProtected

Protected Attributes

RBlockReferenceData data
int recursionDepth

Additional Inherited Members

Detailed Description

Block reference entity.

This class is available in script environments.
Shared Pointer Support:
Objects can be used in QSharedPointer.

Constructor & Destructor Documentation

RBlockReferenceEntity::RBlockReferenceEntity ( RDocument document,
const RBlockReferenceData data,
RObject::Id  objectId = RObject::INVALID_ID 
RBlockReferenceEntity::~RBlockReferenceEntity ( )

Member Function Documentation

bool RBlockReferenceEntity::applyTransformationTo ( REntity entity) const
virtual RBlockReferenceEntity* RBlockReferenceEntity::clone ( ) const

Implements REntity.

void RBlockReferenceEntity::exportEntity ( RExporter e,
bool  preview = false,
bool  forceSelected = false 
) const

Exports the entity to the given exporter.

The exporter might be a file exporter, a graphics scene or any other platform one can export entities to.

Implements REntity.

virtual RBlockReferenceData& RBlockReferenceEntity::getData ( )
Reference to the data object of the entity.

Implements REntity.

virtual const RBlockReferenceData& RBlockReferenceEntity::getData ( ) const
Const reference to the data object of the entity.

Implements REntity.

RVector RBlockReferenceEntity::getPosition ( ) const
QPair< QVariant, RPropertyAttributes > RBlockReferenceEntity::getProperty ( RPropertyTypeId propertyTypeId,
bool  humanReadable = false,
bool  noAttributes = false 
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 REntity.

QSet< RPropertyTypeId > RBlockReferenceEntity::getPropertyTypeIds ( ) const
A set of all property IDs of properties that are available for this object. The IDs that are returned can be translated into a group title and a property title using getPropertyGroupTitle and getPropertyTitle.

Reimplemented from RObject.

RBlock::Id RBlockReferenceEntity::getReferencedBlockId ( ) const
QString RBlockReferenceEntity::getReferencedBlockName ( ) const
double RBlockReferenceEntity::getRotation ( ) const
RVector RBlockReferenceEntity::getScaleFactors ( ) const
static QSet<RPropertyTypeId> RBlockReferenceEntity::getStaticPropertyTypeIds ( )

Reimplemented from REntity.

virtual RS::EntityType RBlockReferenceEntity::getType ( ) const

Reimplemented from REntity.

void RBlockReferenceEntity::init ( )

Reimplemented from REntity.

RVector RBlockReferenceEntity::mapToBlock ( const RVector v) const
void RBlockReferenceEntity::print ( QDebug  dbg) const
   \par Non-Scriptable:

This function is not available in script environments.

Reimplemented from REntity.

QSharedPointer<REntity> RBlockReferenceEntity::queryEntity ( REntity::Id  entityId) const
void RBlockReferenceEntity::setPosition ( const RVector pos)
bool RBlockReferenceEntity::setProperty ( RPropertyTypeId  propertyTypeId,
const QVariant &  value,
RTransaction transaction = NULL 

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.

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

Reimplemented from REntity.

void RBlockReferenceEntity::setReferencedBlockId ( RBlock::Id  blockId)
void RBlockReferenceEntity::setRotation ( double  r)
void RBlockReferenceEntity::setScaleFactors ( const RVector  sf)
virtual void RBlockReferenceEntity::update ( ) const

Entities can reimplement this function to invalidate any internal cache (mark the entity as dirty).

Reimplemented from REntity.

void RBlockReferenceEntity::update ( REntity::Id  entityId) const

Member Data Documentation

RBlockReferenceData RBlockReferenceEntity::data
RPropertyTypeId RBlockReferenceEntity::PropertyBlock

Reimplemented from REntity.

RPropertyTypeId RBlockReferenceEntity::PropertyColor

Reimplemented from REntity.

RPropertyTypeId RBlockReferenceEntity::PropertyCustom

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.

Reimplemented from REntity.

RPropertyTypeId RBlockReferenceEntity::PropertyDrawOrder

Reimplemented from REntity.

RPropertyTypeId RBlockReferenceEntity::PropertyHandle

Reimplemented from REntity.

RPropertyTypeId RBlockReferenceEntity::PropertyLayer

Reimplemented from REntity.

RPropertyTypeId RBlockReferenceEntity::PropertyLinetype

Reimplemented from REntity.

RPropertyTypeId RBlockReferenceEntity::PropertyLinetypeScale

Reimplemented from REntity.

RPropertyTypeId RBlockReferenceEntity::PropertyLineweight

Reimplemented from REntity.

RPropertyTypeId RBlockReferenceEntity::PropertyPositionX
RPropertyTypeId RBlockReferenceEntity::PropertyPositionY
RPropertyTypeId RBlockReferenceEntity::PropertyPositionZ
RPropertyTypeId RBlockReferenceEntity::PropertyReferencedBlock
RPropertyTypeId RBlockReferenceEntity::PropertyRotation
RPropertyTypeId RBlockReferenceEntity::PropertyScaleX
RPropertyTypeId RBlockReferenceEntity::PropertyScaleY
RPropertyTypeId RBlockReferenceEntity::PropertyScaleZ
RPropertyTypeId RBlockReferenceEntity::PropertyType

Reimplemented from REntity.

int RBlockReferenceEntity::recursionDepth

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