QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
RSnapEntityBase.h
Go to the documentation of this file.
1
20#ifndef RSNAPENTITYBASE_H
21#define RSNAPENTITYBASE_H
22
23#include "snap_global.h"
24
25#include <QSet>
26
27#include "RSnap.h"
28
29class REntity;
30class RGraphicsView;
31
40public:
42 virtual ~RSnapEntityBase() {}
43
44 virtual RVector snap(
45 const RVector& position,
46 RGraphicsView& view,
47 double range=RNANDOUBLE);
48
49 virtual RVector snap(
50 const RVector& position,
51 RGraphicsView& view,
52 const QSet<RObject::Id>& candidates,
53 const RBox& queryBox);
54
55protected:
56 virtual QList<RVector> snapEntity(
57 QSharedPointer<REntity> entity,
58 const RVector& point,
59 const RBox& queryBox,
60 RGraphicsView& view,
61 QList<RObject::Id>* subEntityIds = NULL) = 0;
62};
63
65
66#endif
#define RNANDOUBLE
Definition RMath.h:74
Q_DECLARE_METATYPE(RMath *)
Represents a box e.g.
Definition RBox.h:46
Base class for all entity classes.
Definition REntity.h:63
Graphics view.
Definition RGraphicsView.h:67
Base class for entity based snap classes.
Definition RSnapEntityBase.h:39
virtual ~RSnapEntityBase()
Definition RSnapEntityBase.h:42
virtual RVector snap(const RVector &position, RGraphicsView &view, const QSet< RObject::Id > &candidates, const RBox &queryBox)
virtual QList< RVector > snapEntity(QSharedPointer< REntity > entity, const RVector &point, const RBox &queryBox, RGraphicsView &view, QList< RObject::Id > *subEntityIds=NULL)=0
RSnapEntityBase(RSnap::Status s)
Definition RSnapEntityBase.h:41
Abstract base class for all grid and object snap implementations.
Definition RSnap.h:43
virtual RVector snap(const RVector &position, RGraphicsView &view, double range=RNANDOUBLE)
Definition RSnap.h:75
Status
Snap status, returned by snap tools (most importantly auto snap tool) to indicate what snap was used.
Definition RSnap.h:49
Represents a 3d vector (x/y/z).
Definition RVector.h:47
char s
Definition opennurbs_string.cpp:32
#define NULL
Definition opennurbs_system.h:256
#define QCADSNAP_EXPORT
Definition snap_global.h:10