|
QCAD
Open Source 2D CAD
|
Go to the documentation of this file.
20 #ifndef RBLOCKREFERENCEDATA_H
21 #define RBLOCKREFERENCEDATA_H
54 int columnCount=1,
int rowCount=1,
55 double columnSpacing=0,
double rowSpacing=0);
74 bool draft =
false,
double strictRange =
RMAXDOUBLE)
const;
76 RBox getQueryBoxInBlockCoordinates(
const RBox& box)
const;
77 virtual QList<QSharedPointer<RShape> >
getShapes(
const RBox& queryBox =
RDEFAULT_RBOX,
bool ignoreComplex =
false,
bool segment =
false)
const;
92 void groundReferencedBlockId()
const;
95 return referencedBlockId;
98 void setReferencedBlockName(
const QString& blockName);
99 QString getReferencedBlockName()
const;
109 void setScaleFactors(
const RVector& sf);
131 return columnSpacing;
144 virtual void update()
const;
147 QSharedPointer<REntity> queryEntity(
REntity::Id entityId,
bool transform =
false,
bool ignoreAttDef =
true)
const;
148 bool applyTransformationTo(
REntity& entity)
const;
152 bool applyTransformationTo(QSharedPointer<REntity>& entity)
const;
156 RVector getColumnRowOffset(
int col,
int row,
bool rotated =
false)
const;
157 void applyColumnRowOffsetTo(
REntity& entity,
int col,
int row,
bool rotated =
false)
const;
160 bool isPixelUnit()
const;
176 mutable QMap<REntity::Id, QSharedPointer<REntity> >
cache;
void setRowSpacing(double s)
Definition: RBlockReferenceData.h:140
virtual RS::EntityType getType() const
Definition: RBlockReferenceData.h:57
virtual void update() const
Entities can reimplement this function to invalidate any internal cache (mark the entity as dirty).
Definition: REntityData.h:408
RVector getPosition() const
Definition: RBlockReferenceData.h:101
QMap< REntity::Id, QSharedPointer< REntity > > cache
Definition: RBlockReferenceData.h:176
QList< RBox > boundingBoxes
Definition: RBlockReferenceData.h:174
@ EntityBlockRef
Block reference.
Definition: RS.h:142
RViewportData data
Definition: RViewportEntity.h:205
double visualPropertiesScale
Definition: RBlockReferenceData.h:172
virtual RBox getBoundingBox(bool ignoreEmpty=false) const
Definition: REntityData.cpp:303
virtual void scaleVisualProperties(double scaleFactor)
Definition: REntityData.cpp:605
void setColumnCount(int c)
Definition: RBlockReferenceData.h:119
Represents a 3d vector (x/y/z).
Definition: RVector.h:46
virtual bool isPointType() const
Definition: REntityData.h:95
virtual QList< RRefPoint > getInternalReferencePoints(RS::ProjectionRenderingHint hint=RS::RenderTop) const
Can be overwritten to return internal, resolved reference points.
Definition: REntityData.h:322
EntityType
Entity types used for property handling / filtering.
Definition: RS.h:125
RDocument * document
Definition: RObject.h:341
int getRowCount() const
Definition: RBlockReferenceData.h:123
Low-level mathematical representation of a line.
Definition: RLine.h:41
RVector position
Definition: RBlockReferenceData.h:164
void setColumnSpacing(double s)
Definition: RBlockReferenceData.h:133
#define RDEFAULT_RVECTOR
Definition: RVector.h:37
double rowSpacing
Definition: RBlockReferenceData.h:170
void setRotation(double r)
Definition: RViewportEntity.h:169
Base class for all entity classes.
Definition: REntity.h:65
double getRowSpacing() const
Definition: RBlockReferenceData.h:137
double columnSpacing
Definition: RBlockReferenceData.h:169
Q_DECLARE_METATYPE(RMath *)
double getColumnSpacing() const
Definition: RBlockReferenceData.h:130
int rowCount
Definition: RBlockReferenceData.h:168
void setRowCount(int c)
Definition: RBlockReferenceData.h:126
virtual QList< RRefPoint > getReferencePoints(RS::ProjectionRenderingHint hint=RS::RenderTop) const =0
Defines the geometry and appearance of a block reference entity.
Definition: RBlockReferenceData.h:41
Base class for all entity data classes.
Definition: REntityData.h:67
int Id
Definition: RObject.h:66
RBlock::Id referencedBlockId
Definition: RBlockReferenceData.h:163
Abstract base class for exporters.
Definition: RExporter.h:72
A graphics document contains and owns entities, layers, user coordinate systems, variables,...
Definition: RDocument.h:72
virtual RVector getVectorTo(const RVector &point, bool limited=true, double strictRange=RMAXDOUBLE) const
Definition: REntityData.cpp:468
virtual bool move(const RVector &offset)
Moves this entity by the given offset.
Definition: REntityData.cpp:571
#define RMAXDOUBLE
Definition: RMath.h:63
virtual bool scale(const RVector &scaleFactors, const RVector ¢er=RDEFAULT_RVECTOR)
Definition: REntityData.cpp:591
double rotation
Definition: RBlockReferenceData.h:166
virtual bool mirror(const RLine &axis)
Definition: REntityData.cpp:611
Viewport entity.
Definition: RViewportEntity.h:38
virtual bool rotate(double rotation, const RVector ¢er=RDEFAULT_RVECTOR)
Definition: REntityData.cpp:581
virtual QList< RBox > getBoundingBoxes(bool ignoreEmpty=false) const
Definition: REntityData.h:152
virtual void to2D()
Definition: REntityData.cpp:332
ProjectionRenderingHint
Sets the current rendering hint for exports.
Definition: RS.h:185
#define RDEFAULT_RBOX
Definition: RBox.h:32
virtual RVector getPointOnEntity() const
Definition: REntityData.cpp:362
RVector getScaleFactors() const
Definition: RBlockReferenceData.h:106
double getRotation() const
Definition: RBlockReferenceData.h:111
int getColumnCount() const
Definition: RBlockReferenceData.h:116
virtual QList< QSharedPointer< RShape > > getShapes(const RBox &queryBox=RDEFAULT_RBOX, bool ignoreComplex=false, bool segment=false) const
Definition: REntityData.h:113
@ RenderTop
Definition: RS.h:186
Represents a box e.g.
Definition: RBox.h:43
RBlock::Id getReferencedBlockId() const
Definition: RBlockReferenceData.h:94
virtual double getDistanceTo(const RVector &point, bool limited=true, double range=0.0, bool draft=false, double strictRange=RMAXDOUBLE) const
Definition: REntityData.cpp:289
Block reference entity.
Definition: RBlockReferenceEntity.h:38
void setPosition(const RVector &p)
Definition: RViewportEntity.h:197
#define QCADCORE_EXPORT
Definition: core_global.h:10
virtual bool moveReferencePoint(const RVector &referencePoint, const RVector &targetPoint, Qt::KeyboardModifiers modifiers=Qt::NoModifier)=0
Moves the given reference point to the given target point or does nothing if this entity has no refer...
QList< RBox > boundingBoxesIgnoreEmpty
Definition: RBlockReferenceData.h:175
RVector scaleFactors
Definition: RBlockReferenceData.h:165
int columnCount
Definition: RBlockReferenceData.h:167