Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CMesh.hpp
Go to the documentation of this file.
1#ifndef LIBS_SHAPES_CMESH_HPP_
2#define LIBS_SHAPES_CMESH_HPP_
3
4#include "math/CMatrix4x4.hpp"
5#include "math/structs.hpp"
7
8#include <vector>
9
10class CMesh
11{
12public:
13 CMesh();
14 explicit CMesh(const std::vector<std::shared_ptr<std::vector<iv::math::geometry::Point3d>>> &contours);
15 CMesh(const CMesh &mesh);
16 CMesh(CMesh &&) = default;
17 virtual ~CMesh();
18
19 CMesh &operator=(const CMesh &mesh);
20 bool operator==(const CMesh &b) const;
21
22 void addPolyline(const std::vector<iv::math::geometry::Point2d> &points);
23 void applyMatrixTransformation(const CMatrix4x4 &matrixTransformation);
24
25 void draw(IGraphics *graphics);
26 void drawContours(IGraphics *graphics) const;
27
28 bool getLimits(double *xMinOpt, double *yMinOpt, double *zMinOpt, double *xMaxOpt, double *yMaxOpt,
29 double *zMaxOpt) const;
30
31 [[nodiscard]] bool isPointInside(double x, double y) const;
32
33private:
34 std::vector<std::shared_ptr<std::vector<iv::math::geometry::Point3d>>> m_contours;
36};
37
38#endif /* LIBS_SHAPES_CMESH_HPP_ */
Definition CMatrix4x4.hpp:23
Definition CMesh.hpp:11
bool isPointInside(double x, double y) const
Definition CMesh.cpp:210
virtual ~CMesh()
Definition CMesh.cpp:98
std::vector< std::shared_ptr< std::vector< iv::math::geometry::Point3d > > > m_contours
Definition CMesh.hpp:34
void draw(IGraphics *graphics)
Definition CMesh.cpp:143
void addPolyline(const std::vector< iv::math::geometry::Point2d > &points)
Definition CMesh.cpp:112
CMesh()
Definition CMesh.cpp:12
void drawContours(IGraphics *graphics) const
Definition CMesh.cpp:176
bool operator==(const CMesh &b) const
Definition CMesh.cpp:107
bool getLimits(double *xMinOpt, double *yMinOpt, double *zMinOpt, double *xMaxOpt, double *yMaxOpt, double *zMaxOpt) const
Definition CMesh.cpp:184
CMesh(CMesh &&)=default
CSolid3D * m_surface2DOpt
Definition CMesh.hpp:35
CMesh & operator=(const CMesh &mesh)
Definition CMesh.cpp:241
void applyMatrixTransformation(const CMatrix4x4 &matrixTransformation)
Definition CMesh.cpp:135
Definition CSolid3D.hpp:12
Definition IGraphics.hpp:20