QCAD
Open Source 2D CAD
RSnapIntersection.h
Go to the documentation of this file.
1 
20 #ifndef RSNAPINTERSECTION_H
21 #define RSNAPINTERSECTION_H
22 
23 #include "snap_global.h"
24 
25 #include "RSnap.h"
26 #include "REntity.h"
27 
28 class RGraphicsView;
29 class RMouseEvent;
30 
39 public:
41  virtual ~RSnapIntersection() {}
42 
43  virtual RVector snap(
44  const RVector& position,
45  RGraphicsView& view,
46  double range = RNANDOUBLE);
47 
48  virtual RVector snap(
49  const RVector& position,
50  RGraphicsView& view,
51  const QMap<REntity::Id, QSet<int> >& candidates,
52  const RBox& queryBox);
53 };
54 
56 
57 #endif
Represents a box e.g.
Definition: RBox.h:43
Abstract base class for all grid and object snap implementations.
Definition: RSnap.h:44
Represents a 3d vector (x/y/z).
Definition: RVector.h:46
virtual ~RSnapIntersection()
Definition: RSnapIntersection.h:41
int Id
Definition: RObject.h:53
#define RNANDOUBLE
Definition: RMath.h:55
Q_DECLARE_METATYPE(RMath *)
virtual RVector snap(const RVector &position, RGraphicsView &view, double range=RNANDOUBLE)=0
A mouse event for a graphics scene.
Definition: RMouseEvent.h:42
Intersection snapper implementation.
Definition: RSnapIntersection.h:38
#define QCADSNAP_EXPORT
Definition: snap_global.h:10
Graphics view.
Definition: RGraphicsView.h:58