Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CGraphicsAttribute Class Reference

#include <CGraphicsAttribute.hpp>

Inheritance diagram for CGraphicsAttribute:
[legend]
Collaboration diagram for CGraphicsAttribute:
[legend]

Public Types

enum class  EDashedLineType { Continuous , Dashed4_2 }
 
enum class  EDetailLevel { Low , Normal , High , VeryHigh }
 
enum class  EDrawSolidType { Smooth , Solid , Wire }
 
enum class  ELight { General , Light0 }
 
enum class  ELightType { Ambient , Diffuse , Specular }
 
enum class  EMatrixModel { ModelView , Projection }
 

Public Member Functions

 CGraphicsAttribute ()=delete
 
 CGraphicsAttribute (IGraphics *graphicsRef, iv::types::color colorARGB)
 
 ~CGraphicsAttribute () override
 
 CGraphicsAttribute (const CGraphicsAttribute &other)=delete
 
 CGraphicsAttribute (CGraphicsAttribute &&other)=delete
 
CGraphicsAttributeoperator= (const CGraphicsAttribute &other)=delete
 
CGraphicsAttributeoperator= (CGraphicsAttribute &&other)=delete
 
void setBackGroundColor (iv::types::color rgb) override
 
void setClearColor () override
 
void initDevice () override
 
void initLight () override
 
void clear () override
 
void defineMaterial (const iv::ui::graphics::Material *material, const bool &isChanged) override
 
bool isDefinedMaterial (const std::string &materialName) override
 
void pushMaterial () override
 
void setMaterial (const std::string &materialName) override
 
void popMaterial () override
 
void setColorRGB (iv::types::color rgb) override
 
void setColorARGB (iv::types::color argb) override
 
void setLineWidth (float width) override
 
void setAlpha (float alpha) override
 
void resetAlpha () override
 
void setOnTexture (bool enableTexture) override
 
std::shared_ptr< iv::ui::graphics::ImageloadImage (const iv::ui::resources::ImageResource &resource) override
 
void setModelMatrix (IGraphics::EMatrixModel modelMatrix) override
 
void resetTransformation () override
 
void pushTransformation () override
 
void defineLight (IGraphics::ELight light, IGraphics::ELightType typeLight, double r_color, double g_color, double b_color) override
 
void positionLight (ELight light, double x, double y, double z) override
 
void viewport (int32_t x, int32_t y, uint64_t sizeX, uint64_t sizeY) override
 
void definePerspective (double fovy, double ratioXForY, double zNear, double zFar) override
 
void defineOrthogonal (double xOrg, double yOrg, double zOrg, double xMin, double yMin, double zMin, double xMax, double yMax, double zMax) override
 
void positionCamera (double eyeX, double eyeY, double eyeZ, double pointReferenceX, double pointReferenceY, double pointReferenceZ, double upX, double upY, double upZ) override
 
void translation (double tx, double ty, double tz) override
 
void rotation (double angleDegrees, double Ux, double Uy, double Uz) override
 
void scale (double sx, double sy, double sz) override
 
void appendMatrix (const CMatrix4x4 &matrix) override
 
void setNormal (double Nx, double Ny, double Nz) override
 
void popTransformation () override
 
void drawLine (double x1, double y1, double z1, double x2, double y2, double z2) override
 
void drawLineWithStyle (double x1, double y1, double z1, double x2, double y2, double z2, IGraphics::EDashedLineType typeLine) override
 
void drawRect (double x1, double y1, double x2, double y2) override
 
void drawRectFilled (double x1, double y1, double x2, double y2) override
 
void drawArc (double radiusMark, iv::types::radian angleInitial, iv::types::radian angleFinal, float thickness, uint64_t kPrvNumPoints) override
 
void drawPolyline (const float *vertex, uint64_t numVertex) override
 
bool hasDrawPolylineFilled () const override
 
void drawContours (const std::vector< std::shared_ptr< std::vector< iv::math::geometry::Point3d > > > &contours) override
 
void drawPolylineFilled (const float *vertex, uint64_t numVertex) override
 
void drawPolylinesWithColors (const std::shared_ptr< std::vector< iv::math::geometry::Point2d > > &points, const std::vector< iv::math::geometry::Point3d > &rgb) override
 
void drawTriangle (double x1, double y1, double z1, double x2, double y2, double z2, double x3, double y3, double z3) override
 
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
 
void setModeDraw (IGraphics::EDrawSolidType typeDraw) override
 
void drawUnitCube () override
 
void drawUnitSphere (IGraphics::EDetailLevel levelDetail) override
 
void drawUnitCylinder (IGraphics::EDetailLevel levelDetail) override
 
void drawUnitCone (IGraphics::EDetailLevel levelDetail) override
 
void drawUnitDisk (IGraphics::EDetailLevel levelDetail) override
 
void drawImage (double x, double y, double width, double height, const iv::ui::resources::ImageResource &resource) override
 
void drawImageRawSize (double x, double y, const iv::ui::resources::ImageResource &resource) override
 
void drawImageWithColor (double x, double y, iv::types::color colorRGB, double width, double height, const iv::ui::resources::ImageResource &resourceName) override
 
void getCoordTextCornerLeftDown (const std::string &text, double x, double y, double heightCharacter, unsigned char justify, double *xCornerLeftDown, double *yCornerLeftDown, double *widthTextOpt, double *heightTextOpt) override
 
void getSizeText (const std::string &text, double heightCharacter, double *widthText, double *heightText) override
 
void drawText (const std::string &text, double x, double y, double height, unsigned char justify) override
 
void drawTextWithDeviceHeight (const std::string &text, double x, double y, double height, unsigned char justify) override
 
uint32_t blockTextWithModifiers (const std::string &text, const iv::ui::TextModifier &textModifier, double *widthText, double *heightTextOut) override
 
void drawBlockText (uint32_t idBlockText, double x, double y, double widthText, double heightText, unsigned char justify) override
 
void endBlockText (uint32_t *idBlockText) override
 
bool hasManagerBlocks () const override
 
uint32_t beginBlock () override
 
void endBlock (uint32_t id_block) override
 
void drawBlock (uint32_t id_block) override
 
void removeBlock (uint32_t *id_block) override
 
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
 
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
 
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
 
void setTestDepth (bool isEnable) override
 
void setBlend (bool isEnable) override
 
void beginStencilBuffer () override
 
void endStencilBuffer () override
 
void onStencilBuffer () override
 
void offStencilBuffer () override
 
void getSizePixelToWorld (double sizeXpx, double sizeYpx, double *sizeXwdOpt, double *sizeYwdOpt) override
 
bool hasBlockText () const override
 

Static Public Attributes

static constexpr uint32_t BlockNull = UINT_MAX
 

Private Attributes

IGraphicsm_graphicsRef
 
uint64_t m_colorRGB
 

Member Enumeration Documentation

◆ EDashedLineType

enum class IGraphics::EDashedLineType
stronginherited
Enumerator
Continuous 
Dashed4_2 

◆ EDetailLevel

enum class IGraphics::EDetailLevel
stronginherited
Enumerator
Low 
Normal 
High 
VeryHigh 

◆ EDrawSolidType

enum class IGraphics::EDrawSolidType
stronginherited
Enumerator
Smooth 
Solid 
Wire 

◆ ELight

enum class IGraphics::ELight
stronginherited
Enumerator
General 
Light0 

◆ ELightType

enum class IGraphics::ELightType
stronginherited
Enumerator
Ambient 
Diffuse 
Specular 

◆ EMatrixModel

enum class IGraphics::EMatrixModel
stronginherited
Enumerator
ModelView 
Projection 

Constructor & Destructor Documentation

◆ CGraphicsAttribute() [1/4]

CGraphicsAttribute::CGraphicsAttribute ( )
delete

◆ CGraphicsAttribute() [2/4]

CGraphicsAttribute::CGraphicsAttribute ( IGraphics * graphicsRef,
iv::types::color colorARGB )

◆ ~CGraphicsAttribute()

CGraphicsAttribute::~CGraphicsAttribute ( )
overridedefault

◆ CGraphicsAttribute() [3/4]

CGraphicsAttribute::CGraphicsAttribute ( const CGraphicsAttribute & other)
delete

◆ CGraphicsAttribute() [4/4]

CGraphicsAttribute::CGraphicsAttribute ( CGraphicsAttribute && other)
delete

Member Function Documentation

◆ appendMatrix()

void CGraphicsAttribute::appendMatrix ( const CMatrix4x4 & matrix)
overridevirtual

Implements IGraphics.

◆ beginBlock()

uint32_t CGraphicsAttribute::beginBlock ( )
overridevirtual

Implements IGraphics.

◆ beginStencilBuffer()

void CGraphicsAttribute::beginStencilBuffer ( )
overridevirtual

Implements IGraphics.

◆ blockTextWithModifiers()

uint32_t CGraphicsAttribute::blockTextWithModifiers ( const std::string & text,
const iv::ui::TextModifier & textModifier,
double * widthText,
double * heightTextOut )
overridevirtual

Implements IGraphics.

◆ clear()

void CGraphicsAttribute::clear ( )
overridevirtual

Implements IGraphics.

◆ defineLight()

void CGraphicsAttribute::defineLight ( IGraphics::ELight light,
IGraphics::ELightType typeLight,
double r_color,
double g_color,
double b_color )
overridevirtual

Implements IGraphics.

◆ defineMaterial()

void CGraphicsAttribute::defineMaterial ( const iv::ui::graphics::Material * material,
const bool & isChanged )
overridevirtual

Implements IGraphics.

◆ defineOrthogonal()

void CGraphicsAttribute::defineOrthogonal ( double xOrg,
double yOrg,
double zOrg,
double xMin,
double yMin,
double zMin,
double xMax,
double yMax,
double zMax )
overridevirtual

Implements IGraphics.

◆ definePerspective()

void CGraphicsAttribute::definePerspective ( double fovy,
double ratioXForY,
double zNear,
double zFar )
overridevirtual

Implements IGraphics.

◆ drawArc()

void CGraphicsAttribute::drawArc ( double radiusMark,
iv::types::radian angleInitial,
iv::types::radian angleFinal,
float thickness,
uint64_t kPrvNumPoints )
overridevirtual

Implements IGraphics.

◆ drawBlock()

void CGraphicsAttribute::drawBlock ( uint32_t id_block)
overridevirtual

Implements IGraphics.

◆ drawBlockText()

void CGraphicsAttribute::drawBlockText ( uint32_t idBlockText,
double x,
double y,
double widthText,
double heightText,
unsigned char justify )
overridevirtual

Implements IGraphics.

◆ drawContours()

void CGraphicsAttribute::drawContours ( const std::vector< std::shared_ptr< std::vector< iv::math::geometry::Point3d > > > & contours)
overridevirtual

Implements IGraphics.

◆ drawFanTriangles()

void CGraphicsAttribute::drawFanTriangles ( const float * points,
const float * normals,
const float * textureOpt,
const float * rgbaOpt,
uint64_t numPoints,
const uint32_t * indVertex,
uint64_t numVertex )
overridevirtual

Implements IGraphics.

◆ drawImage()

void CGraphicsAttribute::drawImage ( double x,
double y,
double width,
double height,
const iv::ui::resources::ImageResource & resource )
overridevirtual

Implements IGraphics.

◆ drawImageRawSize()

void CGraphicsAttribute::drawImageRawSize ( double x,
double y,
const iv::ui::resources::ImageResource & resource )
overridevirtual

Implements IGraphics.

◆ drawImageWithColor()

void CGraphicsAttribute::drawImageWithColor ( double x,
double y,
iv::types::color colorRGB,
double width,
double height,
const iv::ui::resources::ImageResource & resourceName )
overridevirtual

Implements IGraphics.

◆ drawLine()

void CGraphicsAttribute::drawLine ( double x1,
double y1,
double z1,
double x2,
double y2,
double z2 )
overridevirtual

Implements IGraphics.

◆ drawLineWithStyle()

void CGraphicsAttribute::drawLineWithStyle ( double x1,
double y1,
double z1,
double x2,
double y2,
double z2,
IGraphics::EDashedLineType typeLine )
overridevirtual

Implements IGraphics.

◆ drawPolyline()

void CGraphicsAttribute::drawPolyline ( const float * vertex,
uint64_t numVertex )
overridevirtual

Implements IGraphics.

◆ drawPolylineFilled()

void CGraphicsAttribute::drawPolylineFilled ( const float * vertex,
uint64_t numVertex )
overridevirtual

Implements IGraphics.

◆ drawPolylinesWithColors()

void CGraphicsAttribute::drawPolylinesWithColors ( const std::shared_ptr< std::vector< iv::math::geometry::Point2d > > & points,
const std::vector< iv::math::geometry::Point3d > & rgb )
overridevirtual

Implements IGraphics.

◆ drawQuads()

void CGraphicsAttribute::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 )
overridevirtual

Implements IGraphics.

◆ drawRect()

void CGraphicsAttribute::drawRect ( double x1,
double y1,
double x2,
double y2 )
overridevirtual

Implements IGraphics.

◆ drawRectFilled()

void CGraphicsAttribute::drawRectFilled ( double x1,
double y1,
double x2,
double y2 )
overridevirtual

Implements IGraphics.

◆ drawStripTriangles()

void CGraphicsAttribute::drawStripTriangles ( const float * points,
const float * normals,
const float * textureOpt,
const float * rgbaOpt,
uint64_t numPoints,
const uint32_t * indVertex,
uint64_t numVertex )
overridevirtual

Implements IGraphics.

◆ drawText()

void CGraphicsAttribute::drawText ( const std::string & text,
double x,
double y,
double height,
unsigned char justify )
overridevirtual

Implements IGraphics.

◆ drawTextWithDeviceHeight()

void CGraphicsAttribute::drawTextWithDeviceHeight ( const std::string & text,
double x,
double y,
double height,
unsigned char justify )
overridevirtual

Implements IGraphics.

◆ drawTriangle()

void CGraphicsAttribute::drawTriangle ( double x1,
double y1,
double z1,
double x2,
double y2,
double z2,
double x3,
double y3,
double z3 )
overridevirtual

Implements IGraphics.

◆ drawTriangles()

void CGraphicsAttribute::drawTriangles ( const float * points,
const float * normals,
const float * textureOpt,
const float * rgbaOpt,
uint64_t numPoints,
const uint32_t * indVertex,
uint64_t numVertex )
overridevirtual

Implements IGraphics.

◆ drawUnitCone()

void CGraphicsAttribute::drawUnitCone ( IGraphics::EDetailLevel levelDetail)
overridevirtual

Implements IGraphics.

◆ drawUnitCube()

void CGraphicsAttribute::drawUnitCube ( )
overridevirtual

Implements IGraphics.

◆ drawUnitCylinder()

void CGraphicsAttribute::drawUnitCylinder ( IGraphics::EDetailLevel levelDetail)
overridevirtual

Implements IGraphics.

◆ drawUnitDisk()

void CGraphicsAttribute::drawUnitDisk ( IGraphics::EDetailLevel levelDetail)
overridevirtual

Implements IGraphics.

◆ drawUnitSphere()

void CGraphicsAttribute::drawUnitSphere ( IGraphics::EDetailLevel levelDetail)
overridevirtual

Implements IGraphics.

◆ endBlock()

void CGraphicsAttribute::endBlock ( uint32_t id_block)
overridevirtual

Implements IGraphics.

◆ endBlockText()

void CGraphicsAttribute::endBlockText ( uint32_t * idBlockText)
overridevirtual

Implements IGraphics.

◆ endStencilBuffer()

void CGraphicsAttribute::endStencilBuffer ( )
overridevirtual

Implements IGraphics.

◆ getCoordTextCornerLeftDown()

void CGraphicsAttribute::getCoordTextCornerLeftDown ( const std::string & text,
double x,
double y,
double heightCharacter,
unsigned char justify,
double * xCornerLeftDown,
double * yCornerLeftDown,
double * widthTextOpt,
double * heightTextOpt )
overridevirtual

Implements IGraphics.

◆ getSizePixelToWorld()

void CGraphicsAttribute::getSizePixelToWorld ( double sizeXpx,
double sizeYpx,
double * sizeXwdOpt,
double * sizeYwdOpt )
overridevirtual

Implements IGraphics.

◆ getSizeText()

void CGraphicsAttribute::getSizeText ( const std::string & text,
double heightCharacter,
double * widthText,
double * heightText )
overridevirtual

Implements IGraphics.

◆ hasBlockText()

bool CGraphicsAttribute::hasBlockText ( ) const
nodiscardoverridevirtual

Implements IGraphics.

◆ hasDrawPolylineFilled()

bool CGraphicsAttribute::hasDrawPolylineFilled ( ) const
nodiscardoverridevirtual

Implements IGraphics.

◆ hasManagerBlocks()

bool CGraphicsAttribute::hasManagerBlocks ( ) const
nodiscardoverridevirtual

Implements IGraphics.

◆ initDevice()

void CGraphicsAttribute::initDevice ( )
overridevirtual

Implements IGraphics.

◆ initLight()

void CGraphicsAttribute::initLight ( )
overridevirtual

Implements IGraphics.

◆ isDefinedMaterial()

bool CGraphicsAttribute::isDefinedMaterial ( const std::string & materialName)
overridevirtual

Implements IGraphics.

◆ loadImage()

std::shared_ptr< iv::ui::graphics::Image > CGraphicsAttribute::loadImage ( const iv::ui::resources::ImageResource & resource)
overridevirtual

Implements IGraphics.

◆ offStencilBuffer()

void CGraphicsAttribute::offStencilBuffer ( )
overridevirtual

Implements IGraphics.

◆ onStencilBuffer()

void CGraphicsAttribute::onStencilBuffer ( )
overridevirtual

Implements IGraphics.

◆ operator=() [1/2]

CGraphicsAttribute & CGraphicsAttribute::operator= ( CGraphicsAttribute && other)
delete

◆ operator=() [2/2]

CGraphicsAttribute & CGraphicsAttribute::operator= ( const CGraphicsAttribute & other)
delete

◆ popMaterial()

void CGraphicsAttribute::popMaterial ( )
overridevirtual

Implements IGraphics.

◆ popTransformation()

void CGraphicsAttribute::popTransformation ( )
overridevirtual

Implements IGraphics.

◆ positionCamera()

void CGraphicsAttribute::positionCamera ( double eyeX,
double eyeY,
double eyeZ,
double pointReferenceX,
double pointReferenceY,
double pointReferenceZ,
double upX,
double upY,
double upZ )
overridevirtual

Implements IGraphics.

◆ positionLight()

void CGraphicsAttribute::positionLight ( IGraphics::ELight light,
double x,
double y,
double z )
overridevirtual

Implements IGraphics.

◆ pushMaterial()

void CGraphicsAttribute::pushMaterial ( )
overridevirtual

Implements IGraphics.

◆ pushTransformation()

void CGraphicsAttribute::pushTransformation ( )
overridevirtual

Implements IGraphics.

◆ removeBlock()

void CGraphicsAttribute::removeBlock ( uint32_t * id_block)
overridevirtual

Implements IGraphics.

◆ resetAlpha()

void CGraphicsAttribute::resetAlpha ( )
overridevirtual

Implements IGraphics.

◆ resetTransformation()

void CGraphicsAttribute::resetTransformation ( )
overridevirtual

Implements IGraphics.

◆ rotation()

void CGraphicsAttribute::rotation ( double angleDegrees,
double Ux,
double Uy,
double Uz )
overridevirtual

Implements IGraphics.

◆ scale()

void CGraphicsAttribute::scale ( double sx,
double sy,
double sz )
overridevirtual

Implements IGraphics.

◆ setAlpha()

void CGraphicsAttribute::setAlpha ( float alpha)
overridevirtual

Implements IGraphics.

◆ setBackGroundColor()

void CGraphicsAttribute::setBackGroundColor ( iv::types::color rgb)
overridevirtual

Implements IGraphics.

◆ setBlend()

void CGraphicsAttribute::setBlend ( bool isEnable)
overridevirtual

Implements IGraphics.

◆ setClearColor()

void CGraphicsAttribute::setClearColor ( )
overridevirtual

Implements IGraphics.

◆ setColorARGB()

void CGraphicsAttribute::setColorARGB ( iv::types::color argb)
overridevirtual

Implements IGraphics.

◆ setColorRGB()

void CGraphicsAttribute::setColorRGB ( iv::types::color rgb)
overridevirtual

Implements IGraphics.

◆ setLineWidth()

void CGraphicsAttribute::setLineWidth ( float width)
overridevirtual

Implements IGraphics.

◆ setMaterial()

void CGraphicsAttribute::setMaterial ( const std::string & materialName)
overridevirtual

Implements IGraphics.

◆ setModeDraw()

void CGraphicsAttribute::setModeDraw ( IGraphics::EDrawSolidType typeDraw)
overridevirtual

Implements IGraphics.

◆ setModelMatrix()

void CGraphicsAttribute::setModelMatrix ( IGraphics::EMatrixModel modelMatrix)
overridevirtual

Implements IGraphics.

◆ setNormal()

void CGraphicsAttribute::setNormal ( double Nx,
double Ny,
double Nz )
overridevirtual

Implements IGraphics.

◆ setOnTexture()

void CGraphicsAttribute::setOnTexture ( bool enableTexture)
overridevirtual

Implements IGraphics.

◆ setTestDepth()

void CGraphicsAttribute::setTestDepth ( bool isEnable)
overridevirtual

Implements IGraphics.

◆ translation()

void CGraphicsAttribute::translation ( double tx,
double ty,
double tz )
overridevirtual

Implements IGraphics.

◆ viewport()

void CGraphicsAttribute::viewport ( int32_t x,
int32_t y,
uint64_t sizeX,
uint64_t sizeY )
overridevirtual

Implements IGraphics.

Member Data Documentation

◆ BlockNull

uint32_t IGraphics::BlockNull = UINT_MAX
staticconstexprinherited

◆ m_colorRGB

uint64_t CGraphicsAttribute::m_colorRGB
private

◆ m_graphicsRef

IGraphics* CGraphicsAttribute::m_graphicsRef
private

The documentation for this class was generated from the following files: