Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
AbstractObjCapture.hpp
Go to the documentation of this file.
1#ifndef LIBS_VIEWCAD_ABSTRACTOBJCAPTURE_HPP_
2#define LIBS_VIEWCAD_ABSTRACTOBJCAPTURE_HPP_
3
5
6class CDxf;
7class CGraphicsDXF;
8class CLimits;
9class IGraphics;
10
12{
13public:
15 virtual ~AbstractObjCapture();
16 AbstractObjCapture(const AbstractObjCapture &other) = delete;
20
21 void drawHighLight(IGraphics *graphics) const;
22 virtual void drawInfoObj(double xCursor, double yCursor, IGraphics *graphics) = 0;
23 void drawObjCatchable(uint64_t indView, IGraphics *graphics, iv::eLanguage drawingLanguage);
24 void endObjCatchable(CGraphicsDXF *graphicsDXF);
25
26 void setState(bool isDead);
27 virtual void getPosition(iv::types::coord *xOut, iv::types::coord *yOut, unsigned char justify) const = 0;
28 virtual void getSize(iv::types::width &widthOut, iv::types::height &heightOut) const = 0;
29 [[nodiscard]] virtual double getArea() const = 0;
30
31 virtual bool canBeMoved(std::string &msgError) const = 0;
32 [[nodiscard]] bool hasCaptureMultipleByLimits(double xMin, double yMin, double xMax, double yMax,
33 double radiusCapture) const;
34 [[nodiscard]] bool hasCaptureMultiple(double xMin, double yMin, double xMax, double yMax,
35 double radiusCapture) const;
36 bool hasCaptureOnlyOne(double x, double y, double radiusCapture, double *xCaptured, double *yCaptured) const;
37 [[nodiscard]] bool isDead() const;
38
39 [[nodiscard]] virtual bool canBeCapturedByLimits() const;
40
41protected:
42 virtual void onDraw(IGraphics *graphics, iv::eLanguage drawingLanguage);
43
44private:
45 static const uint64_t kPrvColorHighlight = 0x75FF0000;
46
47 enum class EPrvState
48 {
49 DEAD,
50 ALIVE
51 };
52
56};
57
58#endif /* LIBS_VIEWCAD_ABSTRACTOBJCAPTURE_HPP_ */
Definition AbstractObjCapture.hpp:12
bool hasCaptureMultiple(double xMin, double yMin, double xMax, double yMax, double radiusCapture) const
Definition AbstractObjCapture.cpp:169
AbstractObjCapture(const AbstractObjCapture &other)=delete
bool isDead() const
Definition AbstractObjCapture.cpp:213
bool hasCaptureMultipleByLimits(double xMin, double yMin, double xMax, double yMax, double radiusCapture) const
Definition AbstractObjCapture.cpp:139
void drawObjCatchable(uint64_t indView, IGraphics *graphics, iv::eLanguage drawingLanguage)
Definition AbstractObjCapture.cpp:52
virtual void onDraw(IGraphics *graphics, iv::eLanguage drawingLanguage)
Definition AbstractObjCapture.cpp:240
EPrvState m_state
Definition AbstractObjCapture.hpp:53
CDxf * m_bufferDrawOpt
Definition AbstractObjCapture.hpp:54
void endObjCatchable(CGraphicsDXF *graphicsDXF)
Definition AbstractObjCapture.cpp:58
virtual void getSize(iv::types::width &widthOut, iv::types::height &heightOut) const =0
AbstractObjCapture & operator=(const AbstractObjCapture &other)=delete
static const uint64_t kPrvColorHighlight
Definition AbstractObjCapture.hpp:45
virtual void getPosition(iv::types::coord *xOut, iv::types::coord *yOut, unsigned char justify) const =0
virtual double getArea() const =0
AbstractObjCapture & operator=(AbstractObjCapture &&other)=delete
virtual void drawInfoObj(double xCursor, double yCursor, IGraphics *graphics)=0
bool hasCaptureOnlyOne(double x, double y, double radiusCapture, double *xCaptured, double *yCaptured) const
Definition AbstractObjCapture.cpp:195
void drawHighLight(IGraphics *graphics) const
Definition AbstractObjCapture.cpp:34
CLimits * m_limitsOpt
Definition AbstractObjCapture.hpp:55
virtual bool canBeMoved(std::string &msgError) const =0
virtual ~AbstractObjCapture()
Definition AbstractObjCapture.cpp:19
AbstractObjCapture()
Definition AbstractObjCapture.cpp:12
virtual bool canBeCapturedByLimits() const
Definition AbstractObjCapture.cpp:235
void setState(bool isDead)
Definition AbstractObjCapture.cpp:89
AbstractObjCapture(AbstractObjCapture &&other)=delete
EPrvState
Definition AbstractObjCapture.hpp:48
Definition CDxf.hpp:299
Definition CGraphicsDXF.hpp:11
Definition CLimits.hpp:5
Definition IGraphics.hpp:20
double height
Definition types.hpp:14
double width
Definition types.hpp:23
double coord
Definition types.hpp:13
eLanguage
Definition enums.hpp:37