Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
CSurface.hpp
Go to the documentation of this file.
1#ifndef LIBS_SHAPES_CSURFACE_HPP_
2#define LIBS_SHAPES_CSURFACE_HPP_
3
5
6#include <cstdint>
7#include <memory>
8
10{
11public:
12 enum class ESurfaceType
13 {
16 };
17
18 CSurface(const CSurface &surface);
19 explicit CSurface(const CSurface *surface);
20
21 static CSurface *createFanTriangles(float **points, float **normalsOpt, float **textureOpt, float **rgbaOpt,
22 uint64_t numPoints);
23 static CSurface *createFanTrianglesWithIndex(float **points, float **normalsOpt, float **textureOpt,
24 float **rgbaOpt, uint64_t numPoints, uint32_t **indVertex,
25 uint64_t numVertex);
26 static CSurface *createStripTriangles(float **points, float **normalsOpt, float **textureOpt, float **rgbaOpt,
27 uint64_t numPoints);
28 static CSurface *createStripTrianglesWithIndex(float **points, float **normalsOpt, float **textureOpt,
29 float **rgbaOpt, uint64_t numPoints, uint32_t **indVertex,
30 uint64_t numVertex);
31
32 virtual ~CSurface();
33
34 bool operator==(const CSurface &b) const;
35 bool operator!=(const CSurface &b) const;
36
37 void draw(IGraphics *graphics) const;
38 void drawEdges(IGraphics *graphics) const;
39 void removeObjectDraw(IGraphics *graphics);
40
41 void setPointsEdges(float **vertexEdges, const uint64_t &numVertexEdges);
42
43private:
44 CSurface(CSurface::ESurfaceType type, float **points, float **normals, float **textureOpt, float **rgbaOpt,
45 uint64_t numPoints, std::unique_ptr<uint32_t[]> &indVertex, uint64_t numVertex, uint32_t idBlock,
46 bool hasEdges, float **vertexEdges, uint64_t numVertexEdges, uint32_t idBlockEdges);
47
49
50 float *m_points;
51 float *m_normals;
53 float *m_rgbaOpt;
54 uint64_t m_numPoints;
55
56 uint32_t *m_indVertex;
57 uint64_t m_numVertex;
58
59 uint32_t m_idBlock;
60
64 uint32_t m_idBlockEdge;
65};
66
67#endif /* LIBS_SHAPES_CSURFACE_HPP_ */
Definition CSurface.hpp:10
static CSurface * createStripTriangles(float **points, float **normalsOpt, float **textureOpt, float **rgbaOpt, uint64_t numPoints)
Definition CSurface.cpp:196
bool m_hasEdges
Definition CSurface.hpp:61
float * m_rgbaOpt
Definition CSurface.hpp:53
virtual ~CSurface()
Definition CSurface.cpp:264
float * m_normals
Definition CSurface.hpp:51
float * m_vertexEdges
Definition CSurface.hpp:62
static CSurface * createFanTrianglesWithIndex(float **points, float **normalsOpt, float **textureOpt, float **rgbaOpt, uint64_t numPoints, uint32_t **indVertex, uint64_t numVertex)
Definition CSurface.cpp:163
CSurface(const CSurface &surface)
Definition CSurface.cpp:14
void removeObjectDraw(IGraphics *graphics)
Definition CSurface.cpp:367
uint32_t * m_indVertex
Definition CSurface.hpp:56
void setPointsEdges(float **vertexEdges, const uint64_t &numVertexEdges)
Definition CSurface.cpp:380
CSurface::ESurfaceType m_type
Definition CSurface.hpp:48
static CSurface * createFanTriangles(float **points, float **normalsOpt, float **textureOpt, float **rgbaOpt, uint64_t numPoints)
Definition CSurface.cpp:128
bool operator==(const CSurface &b) const
Definition CSurface.cpp:309
float * m_textureOpt
Definition CSurface.hpp:52
static CSurface * createStripTrianglesWithIndex(float **points, float **normalsOpt, float **textureOpt, float **rgbaOpt, uint64_t numPoints, uint32_t **indVertex, uint64_t numVertex)
Definition CSurface.cpp:231
uint32_t m_idBlockEdge
Definition CSurface.hpp:64
uint64_t m_numPoints
Definition CSurface.hpp:54
void draw(IGraphics *graphics) const
Definition CSurface.cpp:322
bool operator!=(const CSurface &b) const
Definition CSurface.cpp:317
uint64_t m_numVertex
Definition CSurface.hpp:57
float * m_points
Definition CSurface.hpp:50
uint64_t m_numVertexEdges
Definition CSurface.hpp:63
void drawEdges(IGraphics *graphics) const
Definition CSurface.cpp:350
uint32_t m_idBlock
Definition CSurface.hpp:59
ESurfaceType
Definition CSurface.hpp:13
Definition IGraphics.hpp:20