Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CGraphicsDXF.hpp
Go to the documentation of this file.
1#ifndef LIBS_CAD_CGRAPHICSDXF_HPP_
2#define LIBS_CAD_CGRAPHICSDXF_HPP_
3
7
8class CDxf;
9
10class CGraphicsDXF : public IGraphics
11{
12public:
14 CGraphicsDXF(const CGraphicsDXF &) = delete;
15 CGraphicsDXF(CGraphicsDXF &&other) = delete;
16 ~CGraphicsDXF() override;
17
18 CGraphicsDXF &operator=(const CGraphicsDXF &other) = delete;
20
21 CDxf *getDXF();
22
23private:
24 void setBackGroundColor(iv::types::color rgb) override;
25 void setClearColor() override;
26 void initDevice() override;
27 void initLight() override;
28 void clear() override;
29 void defineMaterial(const iv::ui::graphics::Material *material, const bool &isChanged) override;
30 bool isDefinedMaterial(const std::string &materialName) override;
31 void pushMaterial() override;
32 void setMaterial(const std::string &materialName) override;
33 void popMaterial() override;
34 void setColorRGB(iv::types::color rgb) override;
35 void setColorARGB(iv::types::color argb) override;
36 void setLineWidth(float width) override;
37 void setAlpha(float alpha) override;
38 void resetAlpha() override;
39 void setOnTexture(bool enableTexture) override;
40 std::shared_ptr<iv::ui::graphics::Image> loadImage(const iv::ui::resources::ImageResource &resource) override;
41 void appendMatrix(const CMatrix4x4 &matrix) override;
42 void setModelMatrix(IGraphics::EMatrixModel matrixModel) override;
43 void popTransformation() override;
44 void pushTransformation() override;
45 void resetTransformation() override;
46 void defineLight(IGraphics::ELight light, IGraphics::ELightType lightType, double rColor, double gColor,
47 double bColor) override;
48 void positionLight(IGraphics::ELight light, double x, double y, double z) override;
49 void viewport(int32_t x, int32_t y, uint64_t sizeX, uint64_t sizeY) override;
50 void definePerspective(double fovy, double ratioXForY, double zNear, double zFar) override;
51 void defineOrthogonal(double xOrg, double yOrg, double zOrg, double xMin, double yMin, double zMin, double xMax,
52 double yMax, double zMax) override;
53 void positionCamera(double eyeX, double eyeY, double eyeZ, double pointReferenceX, double pointReferenceY,
54 double pointReferenceZ, double upX, double upY, double upZ) override;
55 void rotation(double angleDegrees, double Ux, double Uy, double Uz) override;
56 void scale(double sx, double sy, double sz) override;
57 void setNormal(double Nx, double Ny, double Nz) override;
58 void translation(double tx, double ty, double tz) override;
59 void drawContours(const std::vector<std::shared_ptr<std::vector<iv::math::geometry::Point3d>>> &contours) override;
60 void drawFanTriangles(const float *points, const float *normals, const float *textureOpt, const float *rgbaOpt,
61 uint64_t numPoints, const uint32_t *indVertex, uint64_t numVertex) override;
62 void drawImage(double x, double y, double width, double height,
63 const iv::ui::resources::ImageResource &resource) override;
64 void drawImageRawSize(double x, double y, const iv::ui::resources::ImageResource &resource) override;
65 void drawImageWithColor(double x, double y, iv::types::color colorRGB, double width, double height,
66 const iv::ui::resources::ImageResource &resource) override;
67 void drawLine(double x1, double y1, double z1, double x2, double y2, double z2) override;
68 void drawLineWithStyle(double x1, double y1, double z1, double x2, double y2, double z2,
69 IGraphics::EDashedLineType dashedLineType) override;
70 void drawArc(double radiusMark, iv::types::radian angleInitial, iv::types::radian angleFinal, float thickness,
71 uint64_t kPrvNumPoints) override;
72 void drawPolyline(const float *vertex, uint64_t numVertex) override;
73 void drawPolylineFilled(const float *vertex, uint64_t numVertex) override;
74 void drawPolylinesWithColors(const std::shared_ptr<std::vector<iv::math::geometry::Point2d>> &points,
75 const std::vector<iv::math::geometry::Point3d> &rgb) override;
76 void drawQuads(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3,
77 double x4, double y4, double z4) override;
78 void drawRect(double x1, double y1, double x2, double y2) override;
79 void drawRectFilled(double x1, double y1, double x2, double y2) override;
80 void drawStripTriangles(const float *points, const float *normals, const float *textureOpt, const float *rgbaOpt,
81 uint64_t numPoints, const uint32_t *indVertex, uint64_t numVertex) override;
82 void drawText(const std::string &text, double x, double y, double height, unsigned char justify) override;
83 void drawTextWithDeviceHeight(const std::string &text, double x, double y, double height,
84 unsigned char justify) override;
85 void drawTriangle(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3,
86 double z3) override;
87 void drawTriangles(const float *points, const float *normals, const float *textureOpt, const float *rgbaOpt,
88 uint64_t numPoints, const uint32_t *indVertex, uint64_t numVertex) override;
89 void drawUnitCone(IGraphics::EDetailLevel detailLevel) override;
90 void drawUnitCube() override;
91 void drawUnitCylinder(IGraphics::EDetailLevel detailLevel) override;
92 void drawUnitDisk(IGraphics::EDetailLevel detailLevel) override;
93 void drawUnitSphere(IGraphics::EDetailLevel detailLevel) override;
94 [[nodiscard]] bool hasDrawPolylineFilled() const override;
95 void setModeDraw(IGraphics::EDrawSolidType drawSolidType) override;
96 uint32_t blockTextWithModifiers(const std::string &text, const iv::ui::TextModifier &textModifier,
97 double *widthText, double *heightTextOut) override;
98 void drawBlockText(uint32_t idBlockText, double x, double y, double widthText, double heightText,
99 unsigned char justify) override;
100 void endBlockText(uint32_t *idBlockText) override;
101 [[nodiscard]] bool hasBlockText() const override;
102 uint32_t beginBlock() override;
103 void drawBlock(uint32_t idBlock) override;
104 void endBlock(uint32_t idBlock) override;
105 [[nodiscard]] bool hasManagerBlocks() const override;
106 void removeBlock(uint32_t *idBlock) override;
107 void beginStencilBuffer() override;
108 void endStencilBuffer() override;
109 void offStencilBuffer() override;
110 void onStencilBuffer() override;
111 void getCoordTextCornerLeftDown(const std::string &text, double x, double y, double heightCharacter,
112 unsigned char justify, double *xCornerLeftDown, double *yCornerLeftDown,
113 double *widthTextOpt, double *heightTextOpt) override;
114 void getSizePixelToWorld(double sizePixelX, double sizePixelY, double *sizeWorldXOpt,
115 double *sizeWorldYOpt) override;
116 void getSizeText(const std::string &text, double heightCharacter, double *widthText, double *heightText) override;
117 void setBlend(bool isEnable) override;
118 void setTestDepth(bool isEnable) override;
119
123};
124
125#endif /* LIBS_CAD_CGRAPHICSDXF_HPP_ */
static constexpr uint64_t kPrvNumPoints
Definition CDrawShapes.cpp:16
Definition CDxf.hpp:299
Definition CFontManagerCairo.hpp:12
Definition CGraphicsDXF.hpp:11
void setLineWidth(float width) override
Definition CGraphicsDXF.cpp:566
void drawTextWithDeviceHeight(const std::string &text, double x, double y, double height, unsigned char justify) override
Definition CGraphicsDXF.cpp:326
CGraphicsDXF(const CGraphicsDXF &)=delete
void initDevice() override
Definition CGraphicsDXF.cpp:524
void drawStripTriangles(const float *points, const float *normals, const float *textureOpt, const float *rgbaOpt, uint64_t numPoints, const uint32_t *indVertex, uint64_t numVertex) override
Definition CGraphicsDXF.cpp:301
void translation(double tx, double ty, double tz) override
Definition CGraphicsDXF.cpp:114
void offStencilBuffer() override
Definition CGraphicsDXF.cpp:630
void drawLine(double x1, double y1, double z1, double x2, double y2, double z2) override
Definition CGraphicsDXF.cpp:164
void setColorRGB(iv::types::color rgb) override
Definition CGraphicsDXF.cpp:558
void resetAlpha() override
Definition CGraphicsDXF.cpp:574
void resetTransformation() override
Definition CGraphicsDXF.cpp:94
void getSizeText(const std::string &text, double heightCharacter, double *widthText, double *heightText) override
Definition CGraphicsDXF.cpp:503
void drawUnitDisk(IGraphics::EDetailLevel detailLevel) override
Definition CGraphicsDXF.cpp:384
void setTestDepth(bool isEnable) override
Definition CGraphicsDXF.cpp:642
void drawTriangles(const float *points, const float *normals, const float *textureOpt, const float *rgbaOpt, uint64_t numPoints, const uint32_t *indVertex, uint64_t numVertex) override
Definition CGraphicsDXF.cpp:354
CDxf * getDXF()
Definition CGraphicsDXF.cpp:64
void initLight() override
Definition CGraphicsDXF.cpp:529
void scale(double sx, double sy, double sz) override
Definition CGraphicsDXF.cpp:104
void popTransformation() override
Definition CGraphicsDXF.cpp:84
void setModeDraw(IGraphics::EDrawSolidType drawSolidType) override
Definition CGraphicsDXF.cpp:613
void positionLight(IGraphics::ELight light, double x, double y, double z) override
Definition CGraphicsDXF.cpp:591
void drawFanTriangles(const float *points, const float *normals, const float *textureOpt, const float *rgbaOpt, uint64_t numPoints, const uint32_t *indVertex, uint64_t numVertex) override
Definition CGraphicsDXF.cpp:124
void drawRectFilled(double x1, double y1, double x2, double y2) override
Definition CGraphicsDXF.cpp:296
void drawBlock(uint32_t idBlock) override
Definition CGraphicsDXF.cpp:466
void setAlpha(float alpha) override
Definition CGraphicsDXF.cpp:570
void appendMatrix(const CMatrix4x4 &matrix) override
Definition CGraphicsDXF.cpp:79
void setNormal(double Nx, double Ny, double Nz) override
Definition CGraphicsDXF.cpp:109
void drawImageWithColor(double x, double y, iv::types::color colorRGB, double width, double height, const iv::ui::resources::ImageResource &resource) override
Definition CGraphicsDXF.cpp:158
CGraphicsDXF(CGraphicsDXF &&other)=delete
void rotation(double angleDegrees, double Ux, double Uy, double Uz) override
Definition CGraphicsDXF.cpp:99
bool hasBlockText() const override
Definition CGraphicsDXF.cpp:456
void drawText(const std::string &text, double x, double y, double height, unsigned char justify) override
Definition CGraphicsDXF.cpp:315
void drawQuads(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3, double x4, double y4, double z4) override
Definition CGraphicsDXF.cpp:266
uint32_t beginBlock() override
Definition CGraphicsDXF.cpp:461
bool hasDrawPolylineFilled() const override
Definition CGraphicsDXF.cpp:394
~CGraphicsDXF() override
Definition CGraphicsDXF.cpp:55
void drawUnitCylinder(IGraphics::EDetailLevel detailLevel) override
Definition CGraphicsDXF.cpp:379
CGraphicsDXF & operator=(CGraphicsDXF &&other)=delete
void drawUnitCone(IGraphics::EDetailLevel detailLevel) override
Definition CGraphicsDXF.cpp:369
void getCoordTextCornerLeftDown(const std::string &text, double x, double y, double heightCharacter, unsigned char justify, double *xCornerLeftDown, double *yCornerLeftDown, double *widthTextOpt, double *heightTextOpt) override
Definition CGraphicsDXF.cpp:481
CDxf * m_dxf
Definition CGraphicsDXF.hpp:120
void onStencilBuffer() override
Definition CGraphicsDXF.cpp:634
void drawUnitSphere(IGraphics::EDetailLevel detailLevel) override
Definition CGraphicsDXF.cpp:389
void setBlend(bool isEnable) override
Definition CGraphicsDXF.cpp:638
void defineOrthogonal(double xOrg, double yOrg, double zOrg, double xMin, double yMin, double zMin, double xMax, double yMax, double zMax) override
Definition CGraphicsDXF.cpp:603
std::shared_ptr< iv::ui::graphics::Image > loadImage(const iv::ui::resources::ImageResource &resource) override
Definition CGraphicsDXF.cpp:74
void drawPolyline(const float *vertex, uint64_t numVertex) override
Definition CGraphicsDXF.cpp:209
CFontManagerCairo m_fontManager
Definition CGraphicsDXF.hpp:122
void drawRect(double x1, double y1, double x2, double y2) override
Definition CGraphicsDXF.cpp:291
uint32_t blockTextWithModifiers(const std::string &text, const iv::ui::TextModifier &textModifier, double *widthText, double *heightTextOut) override
Definition CGraphicsDXF.cpp:399
void setColorARGB(iv::types::color argb) override
Definition CGraphicsDXF.cpp:562
void setOnTexture(bool enableTexture) override
Definition CGraphicsDXF.cpp:578
void endBlockText(uint32_t *idBlockText) override
Definition CGraphicsDXF.cpp:451
void pushTransformation() override
Definition CGraphicsDXF.cpp:89
void pushMaterial() override
Definition CGraphicsDXF.cpp:546
void popMaterial() override
Definition CGraphicsDXF.cpp:554
void setMaterial(const std::string &materialName) override
Definition CGraphicsDXF.cpp:550
void drawLineWithStyle(double x1, double y1, double z1, double x2, double y2, double z2, IGraphics::EDashedLineType dashedLineType) override
Definition CGraphicsDXF.cpp:179
CGraphicsDXF & operator=(const CGraphicsDXF &other)=delete
void drawBlockText(uint32_t idBlockText, double x, double y, double widthText, double heightText, unsigned char justify) override
Definition CGraphicsDXF.cpp:407
void endStencilBuffer() override
Definition CGraphicsDXF.cpp:626
void drawPolylineFilled(const float *vertex, uint64_t numVertex) override
Definition CGraphicsDXF.cpp:233
bool isDefinedMaterial(const std::string &materialName) override
Definition CGraphicsDXF.cpp:541
void endBlock(uint32_t idBlock) override
Definition CGraphicsDXF.cpp:471
void positionCamera(double eyeX, double eyeY, double eyeZ, double pointReferenceX, double pointReferenceY, double pointReferenceZ, double upX, double upY, double upZ) override
Definition CGraphicsDXF.cpp:608
void definePerspective(double fovy, double ratioXForY, double zNear, double zFar) override
Definition CGraphicsDXF.cpp:599
void beginStencilBuffer() override
Definition CGraphicsDXF.cpp:622
void drawArc(double radiusMark, iv::types::radian angleInitial, iv::types::radian angleFinal, float thickness, uint64_t kPrvNumPoints) override
Definition CGraphicsDXF.cpp:195
void setModelMatrix(IGraphics::EMatrixModel matrixModel) override
Definition CGraphicsDXF.cpp:582
void viewport(int32_t x, int32_t y, uint64_t sizeX, uint64_t sizeY) override
Definition CGraphicsDXF.cpp:595
void drawTriangle(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3) override
Definition CGraphicsDXF.cpp:332
void drawImageRawSize(double x, double y, const iv::ui::resources::ImageResource &resource) override
Definition CGraphicsDXF.cpp:147
void clear() override
Definition CGraphicsDXF.cpp:533
void setBackGroundColor(iv::types::color rgb) override
Definition CGraphicsDXF.cpp:646
void setClearColor() override
Definition CGraphicsDXF.cpp:650
void defineLight(IGraphics::ELight light, IGraphics::ELightType lightType, double rColor, double gColor, double bColor) override
Definition CGraphicsDXF.cpp:586
void getSizePixelToWorld(double sizePixelX, double sizePixelY, double *sizeWorldXOpt, double *sizeWorldYOpt) override
Definition CGraphicsDXF.cpp:489
void drawImage(double x, double y, double width, double height, const iv::ui::resources::ImageResource &resource) override
Definition CGraphicsDXF.cpp:135
void removeBlock(uint32_t *idBlock) override
Definition CGraphicsDXF.cpp:476
CGraphicsDXF()
Definition CGraphicsDXF.cpp:50
void drawPolylinesWithColors(const std::shared_ptr< std::vector< iv::math::geometry::Point2d > > &points, const std::vector< iv::math::geometry::Point3d > &rgb) override
Definition CGraphicsDXF.cpp:238
CStackTransformation m_stackTransforms
Definition CGraphicsDXF.hpp:121
bool hasManagerBlocks() const override
Definition CGraphicsDXF.cpp:617
void drawContours(const std::vector< std::shared_ptr< std::vector< iv::math::geometry::Point3d > > > &contours) override
Definition CGraphicsDXF.cpp:119
void drawUnitCube() override
Definition CGraphicsDXF.cpp:374
void defineMaterial(const iv::ui::graphics::Material *material, const bool &isChanged) override
Definition CGraphicsDXF.cpp:537
Definition CMatrix4x4.hpp:23
Definition CStackTransformation.hpp:7
Definition IGraphics.hpp:20
EDetailLevel
Definition IGraphics.hpp:29
ELight
Definition IGraphics.hpp:44
EDashedLineType
Definition IGraphics.hpp:23
EMatrixModel
Definition IGraphics.hpp:57
ELightType
Definition IGraphics.hpp:50
EDrawSolidType
Definition IGraphics.hpp:37
Definition Material.hpp:49
Definition ImageResource.hpp:15
double radian
Definition types.hpp:19
uint32_t color
Definition types.hpp:12
Definition modifiers.hpp:15