4 #ifndef _3ESPOINTCLOUD_H_ 5 #define _3ESPOINTCLOUD_H_ 10 #include "3esmeshresource.h" 34 uint32_t id()
const override;
50 uint32_t tint()
const override;
54 uint8_t drawType(
int stream = 0)
const override;
58 void reserve(
unsigned size);
62 void resize(
unsigned count);
69 unsigned capacity()
const;
72 unsigned vertexCount(
int stream = 0)
const override;
74 const float *vertices(
unsigned &stride,
int stream = 0)
const override;
81 unsigned indexCount(
int stream = 0)
const override;
85 const uint8_t *indices(
unsigned &stride,
unsigned &width,
int stream = 0)
const override;
88 const float *normals(
unsigned &stride,
int stream = 0)
const override;
94 const uint32_t *colours(
unsigned &stride,
int stream = 0)
const override;
97 const Colour *colours()
const;
101 const float *uvs(
unsigned &,
int)
const override;
106 void addPoint(
const Vector3f &point);
122 void addPoints(
const Vector3f *points,
unsigned count);
128 void addPoints(
const Vector3f *points,
const Vector3f *normals,
unsigned count);
140 void setPoint(
unsigned index,
const Vector3f &point);
146 void setPoint(
unsigned index,
const Vector3f &point,
const Vector3f &normal);
159 void setNormal(
unsigned index,
const Vector3f &normal);
164 void setColour(
unsigned index,
const Colour &colour);
173 void setPoints(
unsigned index,
const Vector3f *points,
unsigned count);
182 void setPoints(
unsigned index,
const Vector3f *points,
const Vector3f *normals,
unsigned count);
191 void setPoints(
unsigned index,
const Vector3f *points,
const Vector3f *normals,
const Colour *colours,
unsigned count);
196 void setCapacity(
unsigned capacity);
207 addPoints(&point, 1);
213 addPoints(&point, &normal, 1);
219 addPoints(&point, &normal, &colour, 1);
226 setPoints(index, &point, 1);
232 setPoints(index, &point, &normal, 1);
238 setPoints(index, &point, &normals, &colours, 1);
242 #endif // _3ESPOINTCLOUD_H_ A 32-bit integer colour class.
Definition: 3escolour.h:19
A row major 4x4 transformation matrix.
Definition: 3esmatrix4.h:27
Definition: 3esbounds.h:13
void setPoint(unsigned index, const Vector3f &point)
Replace an existing point.
Definition: 3espointcloud.h:224
A MeshResource which defines a point cloud by its contained vertices.
Definition: 3espointcloud.h:19
Represents a mesh part or object.
Definition: 3esmeshresource.h:16
void addPoint(const Vector3f &point)
Add a single point to the cloud.
Definition: 3espointcloud.h:205
Represents a vector in R3.
Definition: 3esvector3.h:14