#pragma once #include "Vector3D.h" #include "SharedTools.h" #include "windows.h" using namespace SharedTools; class Polygon3D { public: Polygon3D(); Polygon3D(int index0, int index1, int index2); Polygon3D(const Polygon3D& other); ~Polygon3D(); size_t GetPolygonVertexCount() const; int GetIndex(int index) const; void SetNormal(const Vector3D& normal); Vector3D GetNormal() const; void SetColor(int red, int green, int blue); void SetColor(const COLORREF color); COLORREF GetColor() const; void SetDepth(float depth); float GetDepth() const; void SetCulled(bool culled); bool GetCulled() const; Polygon3D& operator= (const Polygon3D& rhs); private: int _indices[3]; Vector3D _normal; float _depth = 0.0f; bool _culled = false; COLORREF _color; void Copy(const Polygon3D& other); };