19 static_assert(
sizeof(
TTriangle) == (
sizeof(
float) * (3 + 3 + 2) + 4) * 3);
23 const float ax =
x(1) -
x(0);
24 const float ay =
y(1) -
y(0);
25 const float az =
z(1) -
z(0);
26 const float bx =
x(2) -
x(0);
27 const float by =
y(2) -
y(0);
28 const float bz =
z(2) -
z(0);
39 const auto& pp = p.xyzrgba;
40 o << pp.pt << pp.r << pp.g << pp.b << pp.a << p.normal;
48 in >> pp.pt >> pp.r >> pp.g >> pp.b >> pp.a >> p.normal;
const float & x(size_t i) const
void readFrom(mrpt::serialization::CArchive &i)
A triangle (float coordinates) with RGBA colors (u8) and UV (texture coordinates) for each vertex...
std::array< Vertex, 3 > vertices
const float & y(size_t i) const
Virtual base class for "archives": classes abstracting I/O streams.
const float & z(size_t i) const
The namespace for 3D scene representation and rendering.
void computeNormals()
Compute the three normals from the cross-product of "v01 x v02".
const float & v(size_t i) const
void writeTo(mrpt::serialization::CArchive &o) const