1#ifndef LIBS_CAD_CGRAPHICSDXF_HPP_
2#define LIBS_CAD_CGRAPHICSDXF_HPP_
28 void clear()
override;
32 void setMaterial(
const std::string &materialName)
override;
47 double bColor)
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,
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,
72 void drawPolyline(
const float *vertex, uint64_t numVertex)
override;
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;
84 unsigned char justify)
override;
85 void drawTriangle(
double x1,
double y1,
double z1,
double x2,
double y2,
double z2,
double x3,
double y3,
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;
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;
103 void drawBlock(uint32_t idBlock)
override;
104 void endBlock(uint32_t idBlock)
override;
112 unsigned char justify,
double *xCornerLeftDown,
double *yCornerLeftDown,
113 double *widthTextOpt,
double *heightTextOpt)
override;
115 double *sizeWorldYOpt)
override;
116 void getSizeText(
const std::string &text,
double heightCharacter,
double *widthText,
double *heightText)
override;
117 void setBlend(
bool isEnable)
override;
static constexpr uint64_t kPrvNumPoints
Definition CDrawShapes.cpp:16
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 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