3es  0.7
3esmeshplaceholder.h
1 //
2 // author: Kazys Stepanas
3 //
4 #ifndef _3ESMESHPLACEHOLDER_H_
5 #define _3ESMESHPLACEHOLDER_H_
6 
7 #include "3es-core.h"
8 #include "3esmeshresource.h"
9 
10 namespace tes
11 {
17  class _3es_coreAPI MeshPlaceholder : public MeshResource
18  {
19  public:
22  MeshPlaceholder(uint32_t id);
23 
26  void setId(uint32_t newId);
27 
29  uint32_t id() const override;
30 
32  Matrix4f transform() const override;
34  uint32_t tint() const override;
36  uint8_t drawType(int stream = 0) const override;
38  unsigned vertexCount(int stream = 0) const override;
40  unsigned indexCount(int stream = 0) const override;
42  const float *vertices(unsigned &stride, int stream = 0) const override;
44  const uint8_t *indices(unsigned &stride, unsigned &width, int stream = 0) const override;
46  const float *normals(unsigned &stride, int stream = 0) const override;
48  const float *uvs(unsigned &stride, int stream = 0) const override;
50  const uint32_t *colours(unsigned &stride, int stream = 0) const override;
51 
52  private:
53  uint32_t _id;
54  };
55 }
56 
57 #endif // _3ESMESHPLACEHOLDER_H_
A row major 4x4 transformation matrix.
Definition: 3esmatrix4.h:27
Definition: 3esbounds.h:13
Represents a mesh part or object.
Definition: 3esmeshresource.h:16
A placeholder for a mesh resource, carrying only a mesh ID.
Definition: 3esmeshplaceholder.h:17