1#ifndef LIBS_VIEWCAD_CGRAPHICSATRIBUTE_HPP_
2#define LIBS_VIEWCAD_CGRAPHICSATRIBUTE_HPP_
23 void clear()
override;
27 void setMaterial(
const std::string &materialName)
override;
40 double b_color)
override;
42 void viewport(int32_t x, int32_t y, uint64_t sizeX, uint64_t sizeY)
override;
43 void definePerspective(
double fovy,
double ratioXForY,
double zNear,
double zFar)
override;
44 void defineOrthogonal(
double xOrg,
double yOrg,
double zOrg,
double xMin,
double yMin,
double zMin,
double xMax,
45 double yMax,
double zMax)
override;
46 void positionCamera(
double eyeX,
double eyeY,
double eyeZ,
double pointReferenceX,
double pointReferenceY,
47 double pointReferenceZ,
double upX,
double upY,
double upZ)
override;
48 void translation(
double tx,
double ty,
double tz)
override;
49 void rotation(
double angleDegrees,
double Ux,
double Uy,
double Uz)
override;
50 void scale(
double sx,
double sy,
double sz)
override;
52 void setNormal(
double Nx,
double Ny,
double Nz)
override;
54 void drawLine(
double x1,
double y1,
double z1,
double x2,
double y2,
double z2)
override;
56 void drawLineWithStyle(
double x1,
double y1,
double z1,
double x2,
double y2,
double z2,
58 void drawRect(
double x1,
double y1,
double x2,
double y2)
override;
59 void drawRectFilled(
double x1,
double y1,
double x2,
double y2)
override;
62 void drawPolyline(
const float *vertex, uint64_t numVertex)
override;
64 void drawContours(
const std::vector<std::shared_ptr<std::vector<iv::math::geometry::Point3d>>> &contours)
override;
67 const std::vector<iv::math::geometry::Point3d> &rgb)
override;
68 void drawTriangle(
double x1,
double y1,
double z1,
double x2,
double y2,
double z2,
double x3,
double y3,
70 void drawQuads(
double x1,
double y1,
double z1,
double x2,
double y2,
double z2,
double x3,
double y3,
double z3,
71 double x4,
double y4,
double z4)
override;
78 void drawImage(
double x,
double y,
double width,
double height,
84 unsigned char justify,
double *xCornerLeftDown,
double *yCornerLeftDown,
85 double *widthTextOpt,
double *heightTextOpt)
override;
86 void getSizeText(
const std::string &text,
double heightCharacter,
double *widthText,
double *heightText)
override;
87 void drawText(
const std::string &text,
double x,
double y,
double height,
unsigned char justify)
override;
89 unsigned char justify)
override;
91 double *widthText,
double *heightTextOut)
override;
93 void drawBlockText(uint32_t idBlockText,
double x,
double y,
double widthText,
double heightText,
94 unsigned char justify)
override;
98 void endBlock(uint32_t id_block)
override;
99 void drawBlock(uint32_t id_block)
override;
101 void drawTriangles(
const float *points,
const float *normals,
const float *textureOpt,
const float *rgbaOpt,
102 uint64_t numPoints,
const uint32_t *indVertex, uint64_t numVertex)
override;
103 void drawStripTriangles(
const float *points,
const float *normals,
const float *textureOpt,
const float *rgbaOpt,
104 uint64_t numPoints,
const uint32_t *indVertex, uint64_t numVertex)
override;
106 void drawFanTriangles(
const float *points,
const float *normals,
const float *textureOpt,
const float *rgbaOpt,
107 uint64_t numPoints,
const uint32_t *indVertex, uint64_t numVertex)
override;
109 void setBlend(
bool isEnable)
override;
114 void getSizePixelToWorld(
double sizeXpx,
double sizeYpx,
double *sizeXwdOpt,
double *sizeYwdOpt)
override;
static constexpr uint64_t kPrvNumPoints
Definition CDrawShapes.cpp:16
Definition CGraphicsAttribute.hpp:8
void setBlend(bool isEnable) override
Definition CGraphicsAttribute.cpp:387
void setColorARGB(iv::types::color argb) override
Definition CGraphicsAttribute.cpp:60
void drawUnitDisk(IGraphics::EDetailLevel levelDetail) override
Definition CGraphicsAttribute.cpp:253
void initDevice() override
Definition CGraphicsAttribute.cpp:15
void endBlock(uint32_t id_block) override
Definition CGraphicsAttribute.cpp:340
IGraphics * m_graphicsRef
Definition CGraphicsAttribute.hpp:118
void drawPolylinesWithColors(const std::shared_ptr< std::vector< iv::math::geometry::Point2d > > &points, const std::vector< iv::math::geometry::Point3d > &rgb) override
Definition CGraphicsAttribute.cpp:201
void setModeDraw(IGraphics::EDrawSolidType typeDraw) override
Definition CGraphicsAttribute.cpp:223
void getSizeText(const std::string &text, double heightCharacter, double *widthText, double *heightText) override
Definition CGraphicsAttribute.cpp:289
CGraphicsAttribute()=delete
void endStencilBuffer() override
Definition CGraphicsAttribute.cpp:399
void removeBlock(uint32_t *id_block) override
Definition CGraphicsAttribute.cpp:351
void setTestDepth(bool isEnable) override
Definition CGraphicsAttribute.cpp:381
void drawBlockText(uint32_t idBlockText, double x, double y, double widthText, double heightText, unsigned char justify) override
Definition CGraphicsAttribute.cpp:315
void setModelMatrix(IGraphics::EMatrixModel modelMatrix) override
Definition CGraphicsAttribute.cpp:91
void drawPolyline(const float *vertex, uint64_t numVertex) override
Definition CGraphicsAttribute.cpp:176
void beginStencilBuffer() override
Definition CGraphicsAttribute.cpp:393
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 CGraphicsAttribute.cpp:357
void endBlockText(uint32_t *idBlockText) override
Definition CGraphicsAttribute.cpp:322
CGraphicsAttribute(CGraphicsAttribute &&other)=delete
void drawArc(double radiusMark, iv::types::radian angleInitial, iv::types::radian angleFinal, float thickness, uint64_t kPrvNumPoints) override
Definition CGraphicsAttribute.cpp:170
bool hasDrawPolylineFilled() const override
Definition CGraphicsAttribute.cpp:182
void setOnTexture(bool enableTexture) override
Definition CGraphicsAttribute.cpp:80
void drawTriangle(double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3) override
Definition CGraphicsAttribute.cpp:209
void clear() override
Definition CGraphicsAttribute.cpp:25
void defineMaterial(const iv::ui::graphics::Material *material, const bool &isChanged) override
Definition CGraphicsAttribute.cpp:30
void setAlpha(float alpha) override
Definition CGraphicsAttribute.cpp:70
void onStencilBuffer() override
Definition CGraphicsAttribute.cpp:405
bool hasBlockText() const override
Definition CGraphicsAttribute.cpp:423
void resetTransformation() override
Definition CGraphicsAttribute.cpp:97
void drawBlock(uint32_t id_block) override
Definition CGraphicsAttribute.cpp:346
void setColorRGB(iv::types::color rgb) override
Definition CGraphicsAttribute.cpp:55
void drawRect(double x1, double y1, double x2, double y2) override
Definition CGraphicsAttribute.cpp:158
void drawLine(double x1, double y1, double z1, double x2, double y2, double z2) override
Definition CGraphicsAttribute.cpp:145
void rotation(double angleDegrees, double Ux, double Uy, double Uz) override
Definition CGraphicsAttribute.cpp:115
void setMaterial(const std::string &materialName) override
Definition CGraphicsAttribute.cpp:45
void drawTextWithDeviceHeight(const std::string &text, double x, double y, double height, unsigned char justify) override
Definition CGraphicsAttribute.cpp:302
void positionCamera(double eyeX, double eyeY, double eyeZ, double pointReferenceX, double pointReferenceY, double pointReferenceZ, double upX, double upY, double upZ) override
Definition CGraphicsAttribute.cpp:450
void popMaterial() override
Definition CGraphicsAttribute.cpp:50
uint32_t beginBlock() override
Definition CGraphicsAttribute.cpp:334
void drawContours(const std::vector< std::shared_ptr< std::vector< iv::math::geometry::Point3d > > > &contours) override
Definition CGraphicsAttribute.cpp:188
void drawImageRawSize(double x, double y, const iv::ui::resources::ImageResource &resource) override
Definition CGraphicsAttribute.cpp:266
CGraphicsAttribute & operator=(const CGraphicsAttribute &other)=delete
void setBackGroundColor(iv::types::color rgb) override
Definition CGraphicsAttribute.cpp:456
void popTransformation() override
Definition CGraphicsAttribute.cpp:139
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 CGraphicsAttribute.cpp:365
void drawImage(double x, double y, double width, double height, const iv::ui::resources::ImageResource &resource) override
Definition CGraphicsAttribute.cpp:259
void drawText(const std::string &text, double x, double y, double height, unsigned char justify) override
Definition CGraphicsAttribute.cpp:296
void defineLight(IGraphics::ELight light, IGraphics::ELightType typeLight, double r_color, double g_color, double b_color) override
Definition CGraphicsAttribute.cpp:428
void drawUnitSphere(IGraphics::EDetailLevel levelDetail) override
Definition CGraphicsAttribute.cpp:235
void definePerspective(double fovy, double ratioXForY, double zNear, double zFar) override
Definition CGraphicsAttribute.cpp:441
void appendMatrix(const CMatrix4x4 &matrix) override
Definition CGraphicsAttribute.cpp:127
void setNormal(double Nx, double Ny, double Nz) override
Definition CGraphicsAttribute.cpp:133
uint32_t blockTextWithModifiers(const std::string &text, const iv::ui::TextModifier &textModifier, double *widthText, double *heightTextOut) override
Definition CGraphicsAttribute.cpp:309
bool isDefinedMaterial(const std::string &materialName) override
Definition CGraphicsAttribute.cpp:35
void setLineWidth(float width) override
Definition CGraphicsAttribute.cpp:65
void viewport(int32_t x, int32_t y, uint64_t sizeX, uint64_t sizeY) override
Definition CGraphicsAttribute.cpp:437
void initLight() override
Definition CGraphicsAttribute.cpp:20
void pushTransformation() override
Definition CGraphicsAttribute.cpp:103
void drawUnitCylinder(IGraphics::EDetailLevel levelDetail) override
Definition CGraphicsAttribute.cpp:241
void drawUnitCube() override
Definition CGraphicsAttribute.cpp:229
void drawImageWithColor(double x, double y, iv::types::color colorRGB, double width, double height, const iv::ui::resources::ImageResource &resourceName) override
Definition CGraphicsAttribute.cpp:272
void scale(double sx, double sy, double sz) override
Definition CGraphicsAttribute.cpp:121
CGraphicsAttribute & operator=(CGraphicsAttribute &&other)=delete
void translation(double tx, double ty, double tz) override
Definition CGraphicsAttribute.cpp:109
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 CGraphicsAttribute.cpp:279
void getSizePixelToWorld(double sizeXpx, double sizeYpx, double *sizeXwdOpt, double *sizeYwdOpt) override
Definition CGraphicsAttribute.cpp:417
void drawUnitCone(IGraphics::EDetailLevel levelDetail) override
Definition CGraphicsAttribute.cpp:247
void drawPolylineFilled(const float *vertex, uint64_t numVertex) override
Definition CGraphicsAttribute.cpp:195
void drawLineWithStyle(double x1, double y1, double z1, double x2, double y2, double z2, IGraphics::EDashedLineType typeLine) override
Definition CGraphicsAttribute.cpp:151
bool hasManagerBlocks() const override
Definition CGraphicsAttribute.cpp:328
void resetAlpha() override
Definition CGraphicsAttribute.cpp:75
uint64_t m_colorRGB
Definition CGraphicsAttribute.hpp:119
void defineOrthogonal(double xOrg, double yOrg, double zOrg, double xMin, double yMin, double zMin, double xMax, double yMax, double zMax) override
Definition CGraphicsAttribute.cpp:445
void setClearColor() override
Definition CGraphicsAttribute.cpp:460
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 CGraphicsAttribute.cpp:373
void pushMaterial() override
Definition CGraphicsAttribute.cpp:40
~CGraphicsAttribute() override
CGraphicsAttribute(const CGraphicsAttribute &other)=delete
void positionLight(ELight light, double x, double y, double z) override
Definition CGraphicsAttribute.cpp:433
std::shared_ptr< iv::ui::graphics::Image > loadImage(const iv::ui::resources::ImageResource &resource) override
Definition CGraphicsAttribute.cpp:85
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 CGraphicsAttribute.cpp:216
void drawRectFilled(double x1, double y1, double x2, double y2) override
Definition CGraphicsAttribute.cpp:164
void offStencilBuffer() override
Definition CGraphicsAttribute.cpp:411
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