QCAD
Open Source 2D CAD
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
RSnapRestriction.h
Go to the documentation of this file.
1 
20 #ifndef RSNAPRESTRICTION_H
21 #define RSNAPRESTRICTION_H
22 
23 #include "core_global.h"
24 
25 #include "RVector.h"
26 
27 class RDocumentInterface;
28 
38 public:
39  RSnapRestriction(RDocumentInterface* documentInterface = NULL) :
40  documentInterface(documentInterface),
41  lastSnap(RVector::invalid) {}
42  virtual ~RSnapRestriction() {}
43 
48  virtual RVector restrictSnap(const RVector& position, const RVector& relativeZero) = 0;
49 
50  virtual void showUiOptions() {}
51  virtual void hideUiOptions() {}
52 
53  RVector getLastSnap() const {
54  return lastSnap;
55  }
56 
57  void reset() {
58  lastSnap = RVector::invalid;
59  }
60 
61 protected:
64 };
65 
67 
68 #endif