20#ifndef RBLOCKREFERENCEENTITY_H
21#define RBLOCKREFERENCEENTITY_H
83 virtual QSharedPointer<RObject>
clone()
const {
95 virtual QPair<QVariant, RPropertyAttributes>
getProperty(
97 bool humanReadable =
false,
bool noAttributes =
false,
bool showOnRequest =
false);
112 return data.getPosition();
116 data.setPosition(pos);
120 return data.getScaleFactors();
124 data.setScaleFactors(sf);
128 return data.getRotation();
136 return data.getColumnCount();
139 data.setColumnCount(c);
143 return data.getRowCount();
150 return data.getColumnSpacing();
153 data.setColumnSpacing(
s);
157 return data.getRowSpacing();
160 data.setRowSpacing(
s);
164 data.setReferencedBlockId(blockId);
168 data.setReferencedBlockName(blockName);
172 return data.hasBlockOwnership();
176 return data.getReferencedBlockId();
180 return data.getReferencedBlockName();
190 data.update(entityId);
194 return data.queryEntity(entityId, transform, ignoreAttDef);
198 return data.applyTransformationTo(entity);
205 return data.applyTransformationTo(entity);
209 return data.mapToBlock(v);
215 virtual void print(QDebug dbg)
const;
Q_DECLARE_METATYPE(RMath *)
Defines the geometry and appearance of a block reference entity.
Definition RBlockReferenceData.h:43
Block reference entity.
Definition RBlockReferenceEntity.h:38
void setColumnSpacing(double s)
Definition RBlockReferenceEntity.h:152
static RPropertyTypeId PropertyColor
Definition RBlockReferenceEntity.h:51
static RPropertyTypeId PropertyColumnCount
Definition RBlockReferenceEntity.h:63
static RPropertyTypeId PropertyLinetype
Definition RBlockReferenceEntity.h:48
static RPropertyTypeId PropertyDisplayedColor
Definition RBlockReferenceEntity.h:52
void setScaleFactors(const RVector sf)
Definition RBlockReferenceEntity.h:123
static RPropertyTypeId PropertyRowCount
Definition RBlockReferenceEntity.h:64
static RPropertyTypeId PropertyScaleY
Definition RBlockReferenceEntity.h:60
static RPropertyTypeId PropertyPositionZ
Definition RBlockReferenceEntity.h:58
int getColumnCount() const
Definition RBlockReferenceEntity.h:135
virtual void update() const
Entities can reimplement this function to invalidate any internal cache (mark the entity as dirty).
Definition RBlockReferenceEntity.h:185
QString getReferencedBlockName() const
Definition RBlockReferenceEntity.h:179
QSharedPointer< REntity > queryEntity(RObject::Id entityId, bool transform=false, bool ignoreAttDef=true) const
Definition RBlockReferenceEntity.h:193
static RPropertyTypeId PropertyPositionY
Definition RBlockReferenceEntity.h:57
static RPropertyTypeId PropertyLinetypeScale
Definition RBlockReferenceEntity.h:49
RBlockReferenceData data
Definition RBlockReferenceEntity.h:218
RObject::Id getReferencedBlockId() const
Definition RBlockReferenceEntity.h:175
void update(RObject::Id entityId) const
Definition RBlockReferenceEntity.h:189
double getRowSpacing() const
Definition RBlockReferenceEntity.h:156
virtual QSharedPointer< RObject > clone() const
Definition RBlockReferenceEntity.h:83
virtual const RBlockReferenceData & getData() const
Definition RBlockReferenceEntity.h:107
static RPropertyTypeId PropertyRowSpacing
Definition RBlockReferenceEntity.h:66
static RPropertyTypeId PropertyProtected
Definition RBlockReferenceEntity.h:43
static RPropertyTypeId PropertyWorkingSet
Definition RBlockReferenceEntity.h:44
static RPropertyTypeId PropertyType
Definition RBlockReferenceEntity.h:45
static RPropertyTypeId PropertyPositionX
Definition RBlockReferenceEntity.h:56
RVector mapToBlock(const RVector &v) const
Definition RBlockReferenceEntity.h:208
static RPropertyTypeId PropertyReferencedBlock
Definition RBlockReferenceEntity.h:55
static RPropertyTypeId PropertyColumnSpacing
Definition RBlockReferenceEntity.h:65
void setReferencedBlockId(RObject::Id blockId)
Definition RBlockReferenceEntity.h:163
RVector getPosition() const
Definition RBlockReferenceEntity.h:111
static RPropertyTypeId PropertyCustom
Copyright (c) 2011-2018 by Andrew Mustun.
Definition RBlockReferenceEntity.h:41
static RPropertyTypeId PropertyRotation
Definition RBlockReferenceEntity.h:62
void setReferencedBlockName(const QString &blockName)
Definition RBlockReferenceEntity.h:167
static RPropertyTypeId PropertyDrawOrder
Definition RBlockReferenceEntity.h:53
static RPropertyTypeId PropertyLineweight
Definition RBlockReferenceEntity.h:50
static RPropertyTypeId PropertyScaleX
Definition RBlockReferenceEntity.h:59
RVector getScaleFactors() const
Definition RBlockReferenceEntity.h:119
void setPosition(const RVector &pos)
Definition RBlockReferenceEntity.h:115
void setRotation(double r)
Definition RBlockReferenceEntity.h:131
void setRowCount(int c)
Definition RBlockReferenceEntity.h:145
static RS::EntityType getRtti()
Definition RBlockReferenceEntity.h:75
static RPropertyTypeId PropertyLayer
Definition RBlockReferenceEntity.h:47
QSharedPointer< RBlockReferenceEntity > cloneToBlockReferenceEntity() const
Definition RBlockReferenceEntity.h:87
int getRowCount() const
Definition RBlockReferenceEntity.h:142
double getRotation() const
Definition RBlockReferenceEntity.h:127
int recursionDepth
Definition RBlockReferenceEntity.h:219
bool hasBlockOwnership() const
Definition RBlockReferenceEntity.h:171
static RPropertyTypeId PropertyBlock
Definition RBlockReferenceEntity.h:46
void setColumnCount(int c)
Definition RBlockReferenceEntity.h:138
double getColumnSpacing() const
Definition RBlockReferenceEntity.h:149
virtual RBlockReferenceData & getData()
Definition RBlockReferenceEntity.h:103
static RPropertyTypeId PropertyHandle
Definition RBlockReferenceEntity.h:42
void setRowSpacing(double s)
Definition RBlockReferenceEntity.h:159
static QSet< RPropertyTypeId > getStaticPropertyTypeIds()
Definition RBlockReferenceEntity.h:79
bool applyTransformationTo(REntity &entity) const
Definition RBlockReferenceEntity.h:197
bool applyTransformationTo(QSharedPointer< REntity > &entity) const
Definition RBlockReferenceEntity.h:204
static RPropertyTypeId PropertyScaleZ
Definition RBlockReferenceEntity.h:61
A graphics document contains and owns entities, layers, user coordinate systems, variables,...
Definition RDocument.h:78
Base class for all entity classes.
Definition REntity.h:63
virtual QPair< QVariant, RPropertyAttributes > getProperty(RPropertyTypeId &propertyTypeId, bool humanReadable=false, bool noAttributes=false, bool showOnRequest=false)
Definition REntity.cpp:236
static void init()
Definition REntity.cpp:89
virtual bool setProperty(RPropertyTypeId propertyTypeId, const QVariant &value, RTransaction *transaction=NULL)
Sets the given property to the given value.
Definition REntity.cpp:338
virtual void exportEntity(RExporter &e, bool preview=false, bool forceSelected=false) const =0
Exports the entity to the given exporter.
virtual void print(QDebug dbg) const
Stream operator for QDebug.
Definition REntity.cpp:487
Abstract base class for exporters.
Definition RExporter.h:78
int Id
Definition RObject.h:69
virtual QSet< RPropertyTypeId > getPropertyTypeIds(RPropertyAttributes::Option option=RPropertyAttributes::NoOptions) const
Definition RObject.cpp:486
Option
Definition RPropertyAttributes.h:44
@ NoOptions
Definition RPropertyAttributes.h:45
Copyright (c) 2011-2018 by Andrew Mustun.
Definition RPropertyTypeId.h:54
static QSet< RPropertyTypeId > getPropertyTypeIds(RS::EntityType type, RPropertyAttributes::Option=RPropertyAttributes::NoOptions)
Gets all property type IDs that where registered for the given class.
Definition RPropertyTypeId.cpp:283
EntityType
Entity types used for property handling / filtering.
Definition RS.h:227
@ EntityBlockRef
Block reference.
Definition RS.h:246
Transaction implementation.
Definition RTransaction.h:73
Represents a 3d vector (x/y/z).
Definition RVector.h:47
#define QCADCORE_EXPORT
Definition core_global.h:10
char s
Definition opennurbs_string.cpp:32
#define NULL
Definition opennurbs_system.h:256